zoukankan      html  css  js  c++  java
  • [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");
        }
    }
    

  • 相关阅读:
    03--软件包管理工具 apt
    02--linux操作系统基础学习笔记
    01--vim常用快捷键
    00--Linux常用命令大全
    07 --C语言字符串函数
    06--C语言数学函数
    (备忘)Rect和RectF的区别
    在android程序中加入widget(窗口小部件)并与之交互的关键代码
    (原)android的alertdialog中加入edittext但是不弹出软键盘等问题的解决与原因
    (转)dp和dip是同一个单位
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786562.html
Copyright © 2011-2022 走看看