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也是不会去调用他们的,但可以让生命周期方法去调用你自己写的方法就行了。
有不对的地方请指正 谢谢