欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Servlet生命周期(图解)

程序员文章站 2022-07-07 15:12:20
...

1、Servlet生命周期其实很简单:只有一个主要状态——初始化。如果Servlet没有初始化,则要要么正在初始化(运行构造函数及init()方法)、正在撤消(运行其destory()方法),要么就是不存在。

 

2、图解
    Servlet生命周期(图解)
            
    
    博客分类: Head First Servlet&Jsp笔记 servlet生命周期initservicedestory 
 3、Servlet生命周期三大重要时刻

 

    1)init():初始化,servlet实例被创建后,并在servlet能为客户请求提供服务前,容器会调用init()方法(只会调用一次)。可以访问ServletConfig和ServletContext对象,从而获取有关Servlet已经Web应用的信息,进而对Servlet做些初始化工作。

    2)service():服务,但第一个客户请求到达时,容器创建或从线程池分配一个线程,调用service()方法(同时以参数形式传入请求和响应对象)。一般无需覆盖此方法,而是由其调用父类HttpServlet的service(),然后根据请求中的HTTP方法(Get或Post等),调用覆写的DoGet()或doPost()等方法(所以我们的Servlet中必须至少覆写doGet()及doPost()方法中的一个)。service()方法结束时,线程也结束(或者被回收到线程池)。

    3)destory():销毁,在容器移除Servlet前,使得Servlet能有机会关闭数据库连接、停止某些后台线程、将cookie列表和点击计数写入磁盘、以及执行其他清理工作等。

 

4、补充说明:

 

    1)每个请求都在一个单独的线程中运行,任何特定的Servlet类都只有一个实例(即单实例)!

    2)多个请求访问同一个Servlet时,容器会为每一个请求创建一个单独的线程进行处理,也就是说容器会运行多个线程来处理对同一个Setvlet的多个请求。对应每个客户请求,都会生成一对新的请求和响应对象。

    3)图解
    Servlet生命周期(图解)
            
    
    博客分类: Head First Servlet&Jsp笔记 servlet生命周期initservicedestory 

  • Servlet生命周期(图解)
            
    
    博客分类: Head First Servlet&Jsp笔记 servlet生命周期initservicedestory 
  • 大小: 39.9 KB
  • Servlet生命周期(图解)
            
    
    博客分类: Head First Servlet&Jsp笔记 servlet生命周期initservicedestory 
  • 大小: 19.3 KB