[Jweb] Servlet 生命周期, TestLifeCycleServlet extends HttpServlet

Servlet 生命周期 

05_HelloWorldServlet_3  张志宇 这个视频讲解了 :

    如何将本地javadocs 连接到 eclipse中的方法。F1出现自己设置的很好了。
 06_SERVLET声明周期  张志宇 开头讲解到了 : 
    如何解决 自动生成 override 方法参数 arg0 而不是 req 的方法。并且F3可以自己带源码。
Servlet 06 笔记
Servlet 的生命周期
 * 生命全过程 :
   加载       ClassLoader
   实例化     new 对象
   初始化     init(ServletConfig)
   处理请求   service doGet doPos
   退出服务   destroy()

 * 只有一个对象
 * API 中的过程:
  init() 只执行一次,第一次初始化的时候。  tomcat 具有线程池,多线程处理多请求。每个线程访问的都是同一个Servlet对象。
  public void init (ServletConfig config) throws ServletException
  service()
  public void service(ServletRequest req, ServletResponse res) throws ServletException, java, io, IOException
  destroy() webapps 退出的时候,停止的时候。就是对象在内存中消失的时候
  public void destroy()
 TestLifeCycleServlet 
我们看后台 {
 还没有调用 destroy() 这里面涉及 servlet 的工作原理
 我们刷新。。。
 我们servlet只构建一个对象。。。
 你访问两千遍也不会构建两个对象。。。省内存。。。
 Interface SingleThreadMode1 已经被废弃啦。。。!
 init() 只执行一次,第一次初始化的时候。。。
 ServletConfig 也就是说初始化Servlet的时候,他会告诉这个Servlet,你的配置,我是怎么样配你的
 我是怎么把你给配起来的,怎么配起来的,你想一想,就在
    <servlet>
      <servlet-name>TestLifeCycleServlet</servlet-name>
      <servlet-class>TestLifeCycleServlet</servlet-class>
   </servlet>
   <servlet-mapping>
       <servlet-name>TestLifeCycleServlet</servlet-name>
       <url-pattern>/TestLifeCycleServlet</url-pattern>
   </servlet-mapping>
   这么配的
   所以ServletConfig在这个对象里面保存着,我们对于这个Servlet的配置信息
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 TestLifeCycleServlet() {
        System.out.println("Constructor!");
    }
    @Override
    protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
        System.out.println("doGet...!");
    }
    @Override
    public void destroy() {
        System.out.println("destory!");
    }
    @Override
    public void init() throws ServletException {
        System.out.println("init");
    }
}

posted @ 2013-12-23 22:28  小尼人00  阅读(147)  评论(0编辑  收藏  举报