• 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实例.

  • 相关阅读:
    js上传图片预览
    Android 调用QQ登录
    未开启HugePages ORACLE session剧增时引起的一次悲剧
    脱了裤子放屁之std::string
    [Python爬虫] Selenium自己主动訪问Firefox和Chrome并实现搜索截图
    tomcat启动报错,找不到相应的 queue,从而引发内存泄漏
    LeetCode: Binary Tree Postorder Traversal [145]
    素数打表法。
    linux 抓包 tcpdump 简单应用
    Linux命令之kill
  • 原文地址:https://www.cnblogs.com/liuxgnu/p/3535485.html
Copyright © 2020-2023  润新知