Servlet对象的生命周期(init方法、service方法、destroy方法)【方法调用次数重点】

Servlet对象的生命周期

  • 1. 什么是Servlet对象的生命周期?
  • 2. Servlet对象是由谁来维护的?
  • 思考:我们自己new的Servlet对象受WEB容器(Tomcat服务器)的管理吗?
  • 研究:服务器在启动的Servlet对象有没有被创建出来(默认情况下)?【代码】
  • 3. Servlet对象生命周期的执行过程分析
    • 小结
  • 4. 关于Servlet类中方法的调用次数?
  • 当我们Servlet类中编写一个有参数的构造方法,如果没有手动编写无参数构造方法会出现什么问题?
    • 思考:Servlet的无参数构造方法是在对象第一次创建的时候执行,并且只执行一次。init方法也是在对象第一次创建的时候执行,并且只执行一次。那么这个无参数构造方法可以代替掉init方法吗?
  • 5. init、service、destroy方法中使用最多的是哪个方法?

1. 什么是Servlet对象的生命周期?

  • Servlet对象什么时候被创建。
  • Servlet对象什么时候被销毁。
  • Servlet对象创建了几个?
  • Servlet对象的生命周期表示:一个Servlet对象从出生到最后的死亡,整个过程是怎样的

2. Servlet对象是由谁来维护的?

  • Servlet对象的创建,对象上方法的调用,对象最终的销毁,Javaweb程序员是无权干预的。
  • Servlet对象的生命周期是由Tomcat服务器(WEB Server)全权负责的。
  • Tomcat服务器通常我们又称为:WEB容器。(这个叫法你要知道【WEB Container】)
  • WEB容器来管理Servlet对象的死活。

也就是说:启动Tomcat服务器,Servlet就出生了;关闭Tomcat服务器,Servlet就死亡了。

思考:我们自己new的Servlet对象受WEB容器(Tomcat服务器)的管理吗?

  • 我们自己new的Servlet对象是不受WEB容器管理的。
  • WEB容器创建的Servlet对象,这些Servlet对象都会被放到一个集合当中(HashMap),只有放到这个HashMap集合中的Servlet才能够被WEB容器管理,自己new的Servlet对象不会被WEB容器管理。(自己new的Servlet对象不在容器当中
  • web容器底层应该有一个HashMap这样的集合,在这个集合当中存储了Servlet对象和请求路径之间的关系
    Servlet对象的生命周期(init方法、service方法、destroy方法)【方法调用次数重点】_第1张图片

研究:服务器在启动的Servlet对象有没有被创建出来(默认情况下)?【代码】

下面创建两个类 — AServlet类 和 BServlet类

public class AServlet implements Servlet {
   

    //无参数构造方法
    public AServlet(){
   
        System.out.println("AServlet无参数构造方法执行了!");
    }

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
   

    }

    @Override
    public ServletConfig getServletConfig() {
   
        return null;
    }

    

你可能感兴趣的:(JavaWeb,servlet,java,tomcat)