本节继续介绍servlet的生命周期
servlet的生命周期
关注一个JAVA类的生命周期就观察它什么时候会创建,什么时候会销毁就行.即创建即诞生,销毁即死亡,生命就结束了。
1,那么servlet什么时候创建?
观察以下代码。
public class ServletDemo1 implements Servlet{
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("调用了初始化init方法");
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("调用了service方法");
}
@Override
public void destroy() {
System.out.println("调用了销毁destroy方法");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public ServletConfig getServletConfig() { return null;}
}
在实现一个servlet接口时会要求你实现5个方法。其中init()和destory()方法,就是初始化和销毁方法。我们只要知道这两个方法什么时候会执行也就知道servlet的生命周期了。
首先启动tomcat观察控制台.发现并没有"调用了初始化init方法"这句话
–>接着输入servlet对应的网址路径,即http://localhost:你配置的端口号/你的Tomcat配置的项目名称/你配置的url-pattern.,我的是http://localhost:8017/qjq/servletDemo1
发现输出了以上语句,在访问一次。
只输出了这个
–>在第一次访问该servlet时创建该servlet对象
但是在一种情况下不是在第一次访问时创建
在配置时添加这么一句话的话.就会在启动tomcat时就创建
–>所以准确来说是默认在第一次访问该servlet时创建该servlet对象
但是只有load-on-startup这个标签的值>=0时才会启动时创建
2,servlet什么时候销毁?
把tomcat关闭
服务器关闭时,销毁servlet
3,service什么时候执行?
Tomcat启动
浏览器输入http://localhost:你配置的端口号/你的Tomcat配置的项目名称/你配置的url-pattern.
我的是http://localhost:8017/qjq/servletDemo1
多回车几次.
–>每次访问时都会调用service方法。但是init方法只会调用一次
到这,servlet的生命周期就介绍完了。
总结:
1,servlet什么时候创建?
默认第一次访问时创建,如果在web.xml配置了load-on-startup并设置值>=0则在Tomcat启动时就创建
2,servlet什么时候销毁?
服务器关闭时销毁
3,service方法什么时候执行?
每次访问servlet都会执行service方法