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

2、图解
   
 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生命周期(图解)相关推荐

  1. java servlet的生命周期_Java Servlet系列之Servlet生命周期

    Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...

  2. Servlet生命周期与工作原理

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  3. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】...

    tags: Servlet 什么是Serlvet?# Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们 ...

  4. 测试Servlet生命周期学习笔记

    测试环境:windows xp旗舰版 软件环境:myclipse8.5+tomcat7.0 ****************************************************** ...

  5. Servlet 生命周期介绍

    在面试的时候. 有时会被问到这个问题: 请描述一下Servlet的生命周期. 其实面试官就是想问你1个Servlet何时被创建, 何时被调用等.... 本文就是详细解答这个问题的. 总体流程图 上面的 ...

  6. Servlet底层原理、Servlet实现方式、Servlet生命周期

    Servlet简介 Servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. Servlet的特点 (1)Servlet对像,由Servlet容器 ...

  7. 测试Servlet生命周期例子程序

    写一个类TestLifeCycleServlet,生成构造器TestLifeCycleServlet();重写HttpServlet的doGet();重写GenericServlet的destroy( ...

  8. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

    什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类.Servlet是由服务器调用的,运行在服务器端. 为什么要用到Servlet? 我们编写java程序想要在网上实现 ...

  9. 【Servlet】Servlet生命周期

    Servlet生命周期是指Servlet实例从创建到响应客户请求,直至销毁的过程. Servlet程序本身不直接在Java虚拟机上运行,由Servlet容器负责管理其整个生命周期. Servlet生命 ...

最新文章

  1. Keras Lambda层
  2. OpenStack文件注入相关分析(转载)
  3. 断点续传---多线程下载进阶(一)
  4. MySQL高级知识(十五)——主从复制
  5. BZOJ 3907: 网格( 组合数 + 高精度 )
  6. go benchmark 性能测试 单元测试 基准测试 使用方法详解
  7. C# 解析 Targa文件 (TGA) 图形
  8. gorm软删除_gorm 的预加载怎么才能关掉软删除-问答-阿里云开发者社区-阿里云
  9. python变量类型字符串的内建函数使用
  10. 浏览器了解(四)javascript解析
  11. 手机端php mime设置,php,_如何使用MIME协议配合表单在iphone手机上下载文件?,php - phpStudy...
  12. MiniProfiler.EF6监控调试MVC5和EF6的性能
  13. Ubuntu 18.04安装: failed to load ldlinux.c32
  14. android gps原始数据格式,Android编程获取GPS数据的方法详解
  15. 行式 Excel 文件比对
  16. 「 Adams 」如何设置积分器与求解器类型
  17. df 根据文件名找到挂载点原理
  18. 基本的常见的锁的介绍
  19. 2019 年第 25 周 DApp 影响力排行榜 | TokenInsight
  20. 【协程】MyCoroutine轻量级协程框架代码详细剖解

热门文章

  1. MySQL 安装报错的解决方法
  2. 基于Windows10+Python3.8.5+RTX3060实战yolov5准备工作
  3. 第八次作业——Excel制作工资表
  4. PUTTY连接之诡异现象:虚拟机连接方式
  5. 活动集锦|3月腾讯企业微信、泛微联合产品体验会走进23座城市
  6. LTE概念搅动4G热潮
  7. Unity Android Icons 配置
  8. CRT、PUTTY连接华为ensp
  9. cmd调取windows组件的dos命令大全和常用网络工具,及Linux系统下命令大全
  10. PTA——重要的话说三遍