Servlet程序的生命周期(重要)

Posted java-xs

tags:

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

javax.servlet.Servlet的接口中,有三个方法说明了Servlet的生命周期:

1.void init(ServletConfig): 创建后马上调用init()完成初始化;

2.void service(ServletRequest,ServletResponse):每次处理请求时调用service()方法;

3.void destroy():当Tomcat要消耗 Servlet实例时,先调用destroy()方法;

 

  Servlet是默认在第一次访问的时候创建(只会创建一个)

  默认当服务器关闭的时Servlet销毁

但也有例外,比如加载框架文件时可以用以下方法:

只要在 web.xml配置文件中加入

<load-on-startup>1</load-on-startup>,

就会在启动时加载

<servlet>
    <servlet-name>....</servlet-name>
<servlet-class>......</servlet-class>
<!--加入了以下的标记,就会在启动时加载-->
    <load-on-startup>1</load-on-startup>
</servlet>

总结:

  Servlet创建的时候会调用init方法,结束时会调destroy方法

 

  现在就应该已经清楚了,Servlet的实例不由我们创建,Servlet的方法不由我们来调用,这一切都是有Tomcat服务器来完成。

这就是说由Tomcat来管理Servlet,而我们只需要去编写Servlet实现类,并将其部署到web.xml

文件中去。

  再次强调,只有这这三个方法是生命周期的方法。通俗的说就是生命周期方法会被Tomcat在不同的

的时间点来强调,而其他的方法就不会被调用了,如果在自己写的Servlet中添加了其他方法,那么

Tomcat也是不会去调用他们的,但可以让生命周期方法去调用你自己写的方法就行了。

 

 

有不对的地方请指正 谢谢

 

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

Servlet生命周期学习

Servlet生命周期

servlet和filter的区别

Servlet生命周期工作原理配置

servlet生命周期

导航上的片段生命周期重叠