Servlet的入门操作以及详细概述

01_Servlet_概述
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/82992102 consistencely的博客)
Servlet: server applet
* 概念:运行在服务器端的java小程序
* Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。
* 将来我们自定义一个类,实现Servlet接口,复写方法。

Servlet:是运行在 Web 服务器中的一个Java类。通过 HTTP协议接受客户端的请求,同时也会给客户端一个响应。

什么是Servlet:
一个接口,我们需要自己写一个类实现Servlet接口,重写接口的方法,那么这个类就可以被Tomcat识别,并能通过浏览器访问到.

02_Servlet_快速入门
快速入门:
1. 创建JavaEE项目
2. 定义一个类,实现Servlet接口
* public class ServletDemo1 implements Servlet
3. 实现接口中的抽象方法
4. 配置Servlet
在web.xml中配置:


demo1
cn.itcast.web.servlet.ServletDemo1

	    
	        demo1
	        /demo1
	    

Servlet的入门操作以及详细概述_第1张图片

Servlet的入门操作以及详细概述_第2张图片

在控制台看输出…
Servlet的入门操作以及详细概述_第3张图片

03_Servlet_执行原理
Servlet的入门操作以及详细概述_第4张图片
执行原理:
1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
2. 查找web.xml文件,是否有对应的标签体内容。
3. 如果有,则在找到对应的全类名
4. tomcat会将字节码文件加载进内存,并且创建其对象
5. 调用其方法
Servlet的入门操作以及详细概述_第5张图片

04_Servlet_生命周期方法
Servlet的入门操作以及详细概述_第6张图片
Servlet的入门操作以及详细概述_第7张图片

Servlet的入门操作以及详细概述_第8张图片
在这里插入图片描述

面试题:
Servlet生命周期方法有哪些?何时执行?执行几次?
init() : Servlet对象创建的时候执行,第一次访问Servlet时创建.只执行一次.
service():通过浏览器访问Servlet时执行,执行多次.
destroy():web服务器正常关闭时执行,只执行一次.

05_Servlet_生命周期详解

  1. 被创建:执行init方法,只执行一次
    * Servlet什么时候被创建?
    * 默认情况下,第一次被访问时,Servlet被创建
    * 可以配置执行Servlet的创建时机。
    * 在标签下配置
    1. 第一次被访问时,创建
    * 的值为负数
    2. 在服务器启动时,创建
    * 的值为0或正整数

     	* Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的
     		* 多个用户同时访问时,可能存在线程安全问题。
     		* 解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对修改值
    
     2. 提供服务:执行service方法,执行多次
     	* 每次访问Servlet时,Service方法都会被调用一次。
     3. 被销毁:执行destroy方法,只执行一次
     	* Servlet被销毁时执行。服务器关闭时,Servlet被销毁
     	* 只有服务器正常关闭时,才会执行destroy方法。
     	* destroy方法在Servlet被销毁之前执行,一般用于释放资源
    

Servlet的入门操作以及详细概述_第9张图片
Servlet的入门操作以及详细概述_第10张图片

06_Servlet_3.0注解配置
Servlet3.0:
* 好处:
* 支持注解配置。可以不需要web.xml了。

	* 步骤:
		1. 创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
		2. 定义一个类,实现Servlet接口
		3. 复写方法
		4. 在类上使用@WebServlet注解,进行配置
			* @WebServlet("资源路径")

Servlet的入门操作以及详细概述_第11张图片
Servlet的入门操作以及详细概述_第12张图片

07_IDEA与tomcat相关配置
## IDEA与tomcat的相关配置
1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件
* 查看控制台的log:Using CATALINA_BASE: “C:\Users\fqy.IntelliJIdea2018.1\system\tomcat_itcast”

2. 工作空间项目    和     tomcat部署的web项目
	* tomcat真正访问的是“tomcat部署的web项目”,"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源
	* WEB-INF目录下的资源不能被浏览器直接访问。
  1. 断点调试:使用"小虫子"启动 dubug 启动
    Servlet的入门操作以及详细概述_第13张图片

Servlet的入门操作以及详细概述_第14张图片

Servlet的入门操作以及详细概述_第15张图片

你可能感兴趣的:(web)