请说一说Servlet的生命周期?

servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。

 

Servlet被服务器实例化后,容器运行其init方法,该方法在整个生命周期中只运行一次,用于做一些准备工作,当该方法结束时该Servlet可以处理客户端请求。

请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,该方法在整个生命周期中运行多次,每个请求都使用service方法进行处理。

当服务器决定将实例销毁的时候调用其destroy方法,该方法在整个生命周期中只运行一次

,用于做一些清除工作。

 

步骤:

1. Web Client 向Servlet容器(Tomcat)发出Http请求

2. Servlet容器接收Web Client的请求

3. Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中。

4. Servlet容器创建一个HttpResponse对象

5. Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给 HttpServlet 对象。

6. HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息。

7. HttpServlet调用HttpResponse对象的有关方法,生成响应数据。

8. Servlet容器把HttpServlet的响应结果传给Web Client。

上一篇:Cookie技术


下一篇:Spring MVC中的Controller是Serlvet吗?