Servlet的生命周期的过程和相应方法是什么?

2024年11月29日 19:43
有2个网友回答
网友(1):

如果说servlet没有配置load-on-startup属性时,将在第一次被访问时创建(如果有配置,将在服务器启动时创建)
在应用程序运行过程中每个servlet类只会被创建一个对象
当对象被创建完毕时必须会执行init方法对对象的数据进行初始化,整个应用程度运行过程中该方法只会被执行一次
当有请求访问该对象时,servlet容器会调用该对象的service方法,service方法中对请求的类型进行判断
如果是get方法则调用重写的doGet方法,如果是post则会调用doPost方法
在doXXX方法中对请求进行处理及响应
响应后该对象将等待继续访问或者被销毁
再销毁之前,容器会调用该对象的destroy方法,然后该对象再被销毁. 请给分,很辛苦的

网友(2):

Servlet生命周期

  装载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。

  Server创建一个Servlet的实例

  Server调用Servlet的init()方法

  一个客户端的请求到达Server

  Server创建一个请求对象

  Server创建一个响应对象

  Server激活Servlet的service()方法,传递请求和响应对象作为参数

  service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息

  service()方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法

  对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次 ,当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。