Servlet生命周期
Servlet的生命周期可以被定义为从创建直到销毁的整个过程
如下:
servlet初始化后调用init()方法
servlet是调用service来处理客户端请求
servlet销毁前会调用destroy() 方法
最后servlet是由JVM垃圾回收机制回收的
init
init() 方法只会被调用一次 在servlet第一次被创建的时候调用
当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("init...");
}
Service
service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。
每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。
下面是该方法的特征
doGet()方法
用来处理客户端中的Get请求 一般用于从服务器请求数据时使用
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
doPost()方法
用来处理客户端中的Post请求 一般用于表单提交时使用
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
doPut()方法
用来处理客户端中的Put请求 一般用于修改业务时使用
@Override
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPut(req, resp);
}
doDelete()方法
用来处理客户端的Delete请求 一般用于删除业务时使用
@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doDelete(req, resp);
}
就先总结到此