servlet生命周期
2016-01-04 10:47
302 查看
同人的生老病死,servlet也有生命周期,其收到web容器的控制,其生命周期包括 加载程序,初始化、服务、销毁、卸载5个部分,如下图所示;
代码验证:
自定义LifeCycleServlet继承HttpServlet,覆写其生命周期相应方法
运行观察:
容器tomcat关掉,调用destory( )方法
如果在配置文件中加入:
<load-on-startup>1</load-on-startup>
配置:
容器tomcat启动时就会自动为sevlet初始化:
实际应用时,不会覆写生命周期的全部方法,依需求,需要哪个覆写哪个,doGet(),doPost()使用几率最高,主要覆写这两个
代码验证:
自定义LifeCycleServlet继承HttpServlet,覆写其生命周期相应方法
package helloservlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LifeCycleServlet extends HttpServlet { /** * */ private static final long serialVersionUID = -1922315362237286875L; @Override public void init() throws ServletException { System.out.println("** 1、Servlet初始化 --> init()"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("** 2、Servlet服务 --> doGet()、doPost()"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override public void destroy() { System.out.println("** 3、Servlet销毁 --> destory()"); try { Thread.sleep(30000); } catch (Exception e) { } } }在web.xml中配置:
<servlet> <servlet-name>life</servlet-name> <servlet-class>helloservlet.LifeCycleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>life</servlet-name> <url-pattern>/LifeServlet</url-pattern> </servlet-mapping>
运行观察:
容器tomcat关掉,调用destory( )方法
如果在配置文件中加入:
<load-on-startup>1</load-on-startup>
配置:
<servlet> <servlet-name>life</servlet-name> <servlet-class>helloservlet.LifeCycleServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>life</servlet-name> <url-pattern>/LifeServlet</url-pattern> </servlet-mapping>
容器tomcat启动时就会自动为sevlet初始化:
实际应用时,不会覆写生命周期的全部方法,依需求,需要哪个覆写哪个,doGet(),doPost()使用几率最高,主要覆写这两个
相关文章推荐
- 将那些对称的字符串按从小到大的顺序输 出。字符串先以长度论大小,如果长度相同,再以 ASCII 码值为排序标准。
- 《iOS Human Interface Guidelines》——HomeKit
- Jsp+Oracle调用存储过程
- Jquery摘要
- Centos 6.5 下搭建Mysql 5.6双主模式
- 2016 新年开工
- Layout Inflation as Intended
- Swarm中binpack策略引起的棘手问题
- JPA2.1 中三个提升应用性能的新功能
- idea 下java project 手动加载配置文件 file not found 问题
- Android在Button按钮上同时显示文字和图片
- 桥接模式
- 设置 searchbar 的占位文字 以及 编辑文字的颜色和大小 背景颜色;
- 分布式文件系统 FastDFS
- JSP+Oracle 实现分页
- 先进的自动布局工具箱
- (转)Java中String类的方法及说明
- Tomcat 远程调试(remote debug)
- 经纬度计算距离
- nutch简介