• 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()");

    }

     

    }

  • 相关阅读:
    怎么让图片居中显示?
    上传代码出现弹出框“请确保已在git中配置您的user.name和user.email”解决方法
    window.open()下载文件: 在当前页面打开方法
    修改网站颜色为黑白 (100% 灰度)/全页置灰
    ZMQ简单使用
    CCXT
    Python描述符详解
    自定义序列的修改、散列和切片
    使用__slots__类属性节省空间
    QGraphicsView实现虚拟摇杆
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14277498.html
Copyright © 2020-2023  润新知