zoukankan      html  css  js  c++  java
  • Servlet 的生命周期

    1、生命周期

    servlet是一个单实例  多线程的程序

           servlet的生命周期

           1】类加载

            "com.bjsxt.servlet.LifeServlet"

             Class  clazz=  Class.forName("com.bjsxt.servlet.LifeServlet");

            2】实例化 (离不开反射)

            Object  obj=  clazz.newInstance();

            3】 初始化(离不开反射)

            4】服务请求(service)(离不开反射)

            5】 销毁操作(离不开反射)

    2类加载的时机

           1】默认的情况是第一次访问servlet的时候进行类加载     

           2】<load-on-startup>0</load-on-startup>(当启动服务器时候加载) 数字越小加载的时机越往前

    3、代码实现

     //实例化方法   执行一次

     public  LifeServlet(){

     

     System.out.println("LifeServlet.LifeServlet()");

     }

      //请求服务---每一次请求都会执行

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)

    throws ServletException, IOException {

    System.out.println("LifeServlet.doGet()");

    }

        //请求服务---每一次请求都会执行

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse resp)

    throws ServletException, IOException {

    System.out.println("LifeServlet.doPost()");

    }

    //判断调用doget还是dopost--执行多次

    @Override

    protected void service(HttpServletRequest req, HttpServletResponse resp)

    throws ServletException, IOException {

    //获得传递的方法名成---GET/POST

    String method = req.getMethod();

    System.out.println(method);

    if("GET".equals(method)){

    doGet(req, resp);

    }else if("POST".equals(method)){

    doPost(req, resp);

    }else {

    System.out.println("执行其他的方法");

    }

    }

       //销毁操作  关闭服务器执行一次

    @Override

    public void destroy() {

    System.out.println("LifeServlet.destroy()");

    }

        

    //初始化方法 ----执行一次

    @Override

    public void init() throws ServletException {

    System.out.println("LifeServlet.init()");

    }

     

    }

  • 相关阅读:
    sqlmap使用教程-安装教程
    SQL注入攻击总结
    mysql 创建函数失败解决办法,版本 8.0.26
    【VUE3.0体验】axios引入以及property的替代
    异化的房价周期
    vue使用websoket
    spring依赖注入方式及springBoot如何解决循环依赖
    范型的正确使用
    mysql GROUP_CONCAT使用
    Mybatis-MySQL 中使用IFNUL
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14277498.html
Copyright © 2011-2022 走看看