Servlet的生命周期:
客户端向服务器发送请求
Servlet容器负责解析请求,并创建Servlet实例 —— 对象的创建
Servlet容器调用Servlet的init方法 —— 对象的初始化
Servlet容器调用Servlet的service方法 —— 对象业务的执行
Servlet容器将Servlet的响应结果返回客户端
当Servlet重新加载或容器重启时,会调用Servlet的destroy方法 —— 对象的销毁
注意: Servlet属于单例模式,对象的创建延迟在用户第一次访问的时候.
代码示例:
package com.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class AppServlet extends HttpServlet { public AppServlet() { System.out.println("abc servlet 对象已经创建......"); } @Override public void init() throws ServletException { System.out.println("abc servlet 对象资源初始化......"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("abc servlet doGet......"); } @Override public void destroy() { System.out.println("abc servlet 对象资源销毁......"); } }
|
在web.xml中配置
<servlet> <servlet-name>abc</servlet-name> <servlet-class>com.servlet.AppServlet</servlet-class> <load-on-startup>5</load-on-startup> </servlet> <servlet-mapping> <servlet-name>abc</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping>
|
详细过程:
