servlet

概念: 运行在服务端的程序,是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则

tomcat会读取web.xml文件中的配置

创建一个web项目

 创建一个web项目

目录说明:

1.src:自动编译.java文件的目录

  1. 依赖的jdk版本

  2. 依赖的tomcat版本

  3. build: 用来存放编译后的项目

  4. web

    META-INF:是存放工程自身相关的一些信息,元文件信息,通常由开发工具和环境自动生成。

    MANIFEST.MF:配置清单文件

    WEB-INF:

    lib:用来存放依赖的第三方jar包

    web.xml:web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射

导入tomcat的servlet-api包

实现servlet接口

配置web.xml

 <servlet>
   <servlet-name>demo1</servlet-name>
   <servlet-class>com.web.test.MyServelt</servlet-class>
 </servlet>
 <servlet-mapping>
   <servlet-name>demo1</servlet-name>
   <url-pattern>/firstServlet</url-pattern>
 </servlet-mapping>

servlet执行原理

1.当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的servelt的资源路径
2.查找web.xml文件,判断是否否有对应的<ur1-pattern>标签体内容。
3.如果有,则在找到对应的<serv1et-class>全类名
4.tomcat会将字节码文件加进内存,并且创建其对象
5.调用其方法

servlet生命周期

1.被创建:执init方法,只执行一次

Servlet什么时候被创建?

默认情况下,第一次被访问时, Servlet被创建

可以配置执行 Servlet的创建时机,在(<servlet>这个标签内使用)

第一次被访问时,创建

<load-on-startup>的值为负数

在服务器后动时,创建

<load-on-startup>的值为0或正整数

注意点:

init只执行一次,说明servlet是一个单例对象。

2.提供服务:执行 service方法,执行多次

每次访问servlet时,service都会被调用一次

3.被销毁:执行 destroy方法,只执行一次

只有服务器正常关闭时,才会执行这个destroy方法。

destroy方法在servlet被销毁之前执行,一般用于释放资源

发表回复