写一个类TestLifeCycleServlet,生成构造器TestLifeCycleServlet();重写HttpServlet的doGet();重写GenericServlet的destroy();  init();  故意打乱顺序,看后台打印结果,看他们的执行顺序。

 package servlet_01;

 import java.io.IOException;

 import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class TestLifeCycleServlet extends HttpServlet{ public void destroy() {
System.out.println("destroy");
} public void init(ServletConfig config) throws ServletException {  //ServletConfig保存的是servlet的配置信息(web.xml里的)
         System.out.println("init");
} public TestLifeCycleServlet() {
System.out.println("construstor");
} protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("doGet");
} }

部署到tomcat,访问,然后刷新再访问一次。

可以看到,先调用构造器,构建出对象,然后是init();-->doGet();-->doGet();暂时还没调destroy();两个doGet();说明不管你访问多少次,只构建了一个对象,为你提供服务。J2EE的要求,Servlet就new一个,(省内存)。(有个SingleThreadModel接口,已经废弃了。如果你的Servlet实现了这个接口,每当一个请求过来,就new一个新对象。)在同一个server,同一个container里头,只有一个servlet。init只执行一次,第一次初始化的时候。当webapps退出的时候,调用destroy();

总结:

servlet生命周期

生命全过程:

1  加载:ClassLoader把你的class load进来。

2 实例化:new自己一个对象

3 初始化:调用init(ServletConfig)方法,(一般重写这个带参的,就调用这个)

4 处理请求:不断地处理请求,一般是对外的service  (对于HttpServlet来说就是doGet或者doPost)

5 退出服务:调用destroy();

**只有一个对象对外提供服务,再次访问的时候不会new重新的,不会调用init方法,不会的。

测试Servlet生命周期例子程序的更多相关文章

  1. 测试Servlet生命周期学习笔记

    测试环境:windows xp旗舰版 软件环境:myclipse8.5+tomcat7.0 ****************************************************** ...

  2. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

    什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们编写java程序想要在网上实现 ...

  3. 回顾servlet生命周期(代码测试),读取初始化参数

    servlet生命周期 为简洁,本例使用注解方式来测试,代码部分很简单,只需要新建一个serlet,继承自HttpServlet,重写init,doGet,doPost,destory方法即可,使用注 ...

  4. 【Servlet】(1)Servlet简介、Servlet底层原理、Servlet实现方式、Servlet生命周期

    一.Servlet简介 1.Servlet定义: Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交 ...

  5. Java开发之Servlet生命周期

    Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器结束的时候结束生命周期.无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servle ...

  6. Java Servlet系列之Servlet生命周期

    Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...

  7. servlet生命周期与工作原理

    →   Jsp的本质是Servlet,Servlet是服务器端的小程序,运行在服务器,用于处理及响应客户端的请求. Servlet和JSP的区别: servlet是特殊的Java类,必须继承HttpS ...

  8. javaWeb中servlet开发(3)——Servlet生命周期

    生命周期:是一个程序的存在周期,servlet由于是受容器的管理,所以容器来决定其生命周期 1.servlet生命周期 2.servlet生命周期对应的方法 3.servlet生命周期代码 publi ...

  9. 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期

    [源码下载] 重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的 ...

随机推荐

  1. struct pollfd

    struct pollfd 2010年04月15日 星期四 下午 03:59 int poll (struct pollfd *fds, size_t nfds , int timeout); str ...

  2. Struts+Spring+Hibernate整合

    这段笔记三两年前写的,一直因为一些琐事,或者搞忘记了,没有发.今天偶然翻出了它,就和大家一起分享下吧. 1.导入jar包 Struts的jar包: Spring的jar包: Hibernate的jar ...

  3. 咏南中间件增加WEBSOCKET支持

    咏南中间件增加WEBSOCKET支持

  4. GBK还是UTF-8? Eclipse连接TFS的编码之痛!encoding, encoding, encoding…

    在中文Windows操作系统上安装Eclipse或MyEclipse,默认会将Eclipse的编码设置为GBK,与操作系统的默认编码保存一致. 在这种默认设置下,在Eclipse新增的文件不会自动被团 ...

  5. 执行计划--Adhoc和Prepare

    在和SQLPass讨论adhoc和Prepare时,有各自不同的观点,我来发表下我的理解,不对之处,敬请指出! Adhoc(即席查询):没有参数化的查询计划会被标记为adhoc,adhoc不能理解为该 ...

  6. composer 学习与推荐资料

    今天看了一下composer,前几天开始用包依赖,以前一直都是自己手动配.今天用了composer,要学习的话可以按照以下链接学习: 1 官方文档: http://docs.phpcomposer.c ...

  7. javascript学习日记1

    1.JavaScript:写入 HTML 输出 document.write("<h1>This is a heading</h1>"); document ...

  8. Java Web 学习与总结(三)会话跟踪

    何为会话跟踪?举个简单的例子,比如登陆到某购物网站后,在一定时间内无论你在这个网站中切换到任意的网页,只要不执行退出操作,一直保持着你账号的登录状态. 那么在Java Web中我们应当如何去实现这一操 ...

  9. CTF中密码学一些基础

    本文作者:i春秋签约作家MAX. 凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密. 给大家先找两道题,来一起探讨基础密码学 ...

  10. placeholder插件详解

    placeholder插件是用来实现input或者textarea文本框显示默认文字的功能,当获得焦点时,默认文字消失.用户按删除键,把输入的字符删除掉,并失去焦点时,默认文字又出现等功能.使用此插件 ...