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

    近期在学习javaweb方面的知识,借鉴视频教程上的例子,留作备注:

    Servelet代码如下:

    package com.liuxgnu;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    public class TestServlet extends HttpServlet {
     
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
     
            /**
             *构造方法
             */
        public TestServlet()
        {
            System.out.println("Constructor");
        }
     
     
            /**
             *get请求处理
             */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) 
                                 throws ServletException, IOException
        {
            doPost(request, response); //转向post
        }
     
     
            /**
             *Post请求处理
             */
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response) 
                                  throws ServletException, IOException
        {
            System.out.println("doPost");
        }
     
     
            /**
             *销毁
             */
        @Override
        public void destroy()
        {
            System.out.println("destroy");
        }
     
     
            /**
             *初始化
             */
        @Override
        public void init() throws ServletException 
        {
            System.out.println("init");
        }
    }

    Web.xml就不写了.

    第一次请求Servlet的时候,后台打印:

    Constructor
    init
    doPost

    由此可以看出,首先执行构造方法,然后执行初始化,然后才执行Post/Get方法.
    而第二次访问Servlet的时候,并没有执行构造方法和初始化方法,那就说明,这个类已经生存,且听视频上老师的讲解说”①常规Servlet容器仅生成一个Servlet对象”,有些似懂非懂的样子,但从后台打印出来的结果看,确实只生成了一个对象.

    第二次请求Servlet的时候,后台打印:

    Constructor
    init
    doPost
    doPost

    注解:①常规Servlet容器仅生成一个Servlet对象
    非分布式情况下,一个服务器端只生成一个Servlet实例.

  • 相关阅读:
    Java工作中常用到的工具
    得到区块链直播记录
    如何高效的解决问题
    pgsql数据库应用两点注意
    flask如何使模板返回大文件,又不消耗大量内存
    python内存诊断
    pycharm整体缩进的快捷键
    gdb生成的core文件位置
    gdb源码安装,指定使用的python版本
    gdb源码安装过程中的问题:no termcap library found
  • 原文地址:https://www.cnblogs.com/liuxgnu/p/3535485.html
Copyright © 2011-2022 走看看