首先来说什么是生命周期:
所谓生命周期就是从生到死的过程.
接下来看一下servlet的代码
首先创建一个类实现javax.servlet.Servlet接口
重写如下代码
//init:初始化 service:服务 destroy:破坏销毁
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("11111");
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("22222");
}
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("333333");
}
配置xml文件
<servlet>
<servlet-name>ss</servlet-name>
<servlet-class>com.gjq.ss</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ss</servlet-name>
<url-pattern>/ss</url-pattern>
</servlet-mapping>
创建一个html文件测试
<a href="/day0801/ss">生命周期</a>
启动服务器–>打开html 点击html链接 发现
init 和 service方法被调用了
再次点击html链接
只有service方法被调用
当我们正常关闭服务器的时候
destroy方法被调用
由此我们可以知道:当第一次访问的时候,服务器创建servlet,调用init()和service()方法,每当我们发送一次请求,服务器自动帮助我们创建一个线程,调用services()方法来执行自己的服务方法,当servlet被移除或者是服务器”正常”关闭的时候,服务器调用destroy来销毁操作.