Servlet的生命周期是怎么回事?

Servlet的生命周期有三个:
1.初始化时期
在启动Tomcat后,客户机首次访问Servlet时,tomcat装入和实例化Servlet,仅执行一次init()方法。无论有多少客户机访问 Servlet,都不会重复执行init()。这里通常进行一些初始化的操作,如数据库的连接。init()方法不能反复调用,一旦调用就是重装载 servlet。直到服务器调用destroy方法卸载servlet后才能再调用。
2.Servlet的执行时期
在服务器装载初始化servlet后,servlet就能够无限循环往复的处理客户端的请求。在前面的例子中,我们用doXXX方法来处理每个客户的请求,且发回相应的响应。

3.Servlet结束时期
Servlets一直运行到他们被服务器卸载。比如,在eclipse的情况下,当我们点击服务器窗口的红色按钮时,就关停Tomcat,这时 Servlet的destroy方法就会被tomcat调用。通常,大家在destroy方法里收回在init()方法中初始化的资源,如关闭数据库的连 接等。

例:4.1

package com;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletHello1 extends HttpServlet {
    public ServletHello1() {
        System.out.println("constructor");
    }
    public void init() throws ServletException {
        System.out.println("init");
    }
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws IOException {
        System.out.println("doGet");
    }
    public void destroy() {

        System.out.println("des");       

        FileWriter in;
        try {
            in = new FileWriter("c:\\initial.txt");
            in.write("destroy");
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

更多请见:http://www.mark-to-win.com/tutorial/jsp_1_ServletLifeCycle.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值