Servlet的API和生命周期

Posted liweikuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet的API和生命周期相关的知识,希望对你有一定的参考价值。

一、Servlet的API(生命周期)

(1)Servlet接口中的方法

 

 

 

1)init(ServletConfig config)

何时执行:servlet对象创建的时候执行(以上图为例:在浏览器中按地址第一次访问服务器时,Tomcat服务器会new 一个QuickstartServlet对象,并通过生成的对象调用init方法,init方法仅仅执行一次。)

 

 

ServletConfig : 代表的是该servlet对象的配置信息。

         参数作用:       

                                  1. 可以通过参数config获得该servlet的name.      

                        

 

                                2.可以通过参数config获得该servlet的初始化参数。

 

 

 

                     

                                           3.可以通过参数config获得ServletContext对象

 

 

2)service(ServletRequest request,ServletResponse response)

何时执行:每次请求都会执行       (以上图为例:在浏览器中按地址访问服务器时,Tomcat服务器会通过第一次访问时new 的QuickstartServlet对象调用service方法,每次访问服务器都会执行service方法。)

 

ServletRequest :代表请求,  可以认为ServletRequest 内部封装的是http请求的信息。

ServletResponse :代表响应, 可以认为ServletResponse内部封装的是http响应的信息

 

3)destroy()

何时执行:servlet销毁的时候执行(关闭Tomcat服务器时,执行)

 

 

(2)Servlet的生命周期(面试题)

1)Servlet何时创建?

默认第一次访问servlet时创建该对象(可以通过配置使第一次访问时,不创建Servlet对象)

 

2)Servlet何时销毁?

服务器关闭servlet就销毁了      (Tomcat运行时,会在内存中为Tomcat服务器分配一部分内存。Servlet对象、request对象、response对象以及session对象的创建,其实都是在Tomcat分配的内存中创建和运行的,当Tomcat服务器关闭时,这些对象和资源才能得到释放。)

 

3)每次访问必然执行的方法?

service(ServletRequest req, ServletResponse res)方法

 

 

面试题:说一下Servlet的生命周期?

Servlet的生命周期无非是:servlet的创建和销毁,当浏览器第一次访问服务器时,servlet创建,当关闭服务器时,servlet销毁;

当servlet对象创建时,会调用init方法,  当servlet对象销毁时,会调用destroy方法。每次访问相应的servlet都会调用service方法。

 

 

 

 

 

 

ServletRequest :代表请求 认为ServletRequest 内部封装的是http请求的信息

ServletResponse :代表响应 认为要封装的是响应的信息

以上是关于Servlet的API和生命周期的主要内容,如果未能解决你的问题,请参考以下文章

servlet的生命周期,啥情况下调用doGet()和doPost()?

servlet 生命周期和过滤器生命周期之间的区别

Servlet的生命周期

Servlet的生命周期

Servlet编程:Servlet的生命周期

SpringFilter生命周期Servlet生命周期bean的生命周期