请说一说Servlet的生命周期?

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

 

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

请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGetdoPost)等,该方法在整个生命周期中运行多次,每个请求都使用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
posted @ 2020-12-03 22:03  咔啡  阅读(83)  评论(0编辑  收藏  举报