Servlet生命周期(图解)
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生命周期(图解)相关推荐
- java servlet的生命周期_Java Servlet系列之Servlet生命周期
Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...
- Servlet生命周期与工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】...
tags: Servlet 什么是Serlvet?# Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们 ...
- 测试Servlet生命周期学习笔记
测试环境:windows xp旗舰版 软件环境:myclipse8.5+tomcat7.0 ****************************************************** ...
- Servlet 生命周期介绍
在面试的时候. 有时会被问到这个问题: 请描述一下Servlet的生命周期. 其实面试官就是想问你1个Servlet何时被创建, 何时被调用等.... 本文就是详细解答这个问题的. 总体流程图 上面的 ...
- Servlet底层原理、Servlet实现方式、Servlet生命周期
Servlet简介 Servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. Servlet的特点 (1)Servlet对像,由Servlet容器 ...
- 测试Servlet生命周期例子程序
写一个类TestLifeCycleServlet,生成构造器TestLifeCycleServlet();重写HttpServlet的doGet();重写GenericServlet的destroy( ...
- Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】
什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类.Servlet是由服务器调用的,运行在服务器端. 为什么要用到Servlet? 我们编写java程序想要在网上实现 ...
- 【Servlet】Servlet生命周期
Servlet生命周期是指Servlet实例从创建到响应客户请求,直至销毁的过程. Servlet程序本身不直接在Java虚拟机上运行,由Servlet容器负责管理其整个生命周期. Servlet生命 ...
最新文章
- Keras Lambda层
- OpenStack文件注入相关分析(转载)
- 断点续传---多线程下载进阶(一)
- MySQL高级知识(十五)——主从复制
- BZOJ 3907: 网格( 组合数 + 高精度 )
- go benchmark 性能测试 单元测试 基准测试 使用方法详解
- C# 解析 Targa文件 (TGA) 图形
- gorm软删除_gorm 的预加载怎么才能关掉软删除-问答-阿里云开发者社区-阿里云
- python变量类型字符串的内建函数使用
- 浏览器了解(四)javascript解析
- 手机端php mime设置,php,_如何使用MIME协议配合表单在iphone手机上下载文件?,php - phpStudy...
- MiniProfiler.EF6监控调试MVC5和EF6的性能
- Ubuntu 18.04安装: failed to load ldlinux.c32
- android gps原始数据格式,Android编程获取GPS数据的方法详解
- 行式 Excel 文件比对
- 「 Adams 」如何设置积分器与求解器类型
- df 根据文件名找到挂载点原理
- 基本的常见的锁的介绍
- 2019 年第 25 周 DApp 影响力排行榜 | TokenInsight
- 【协程】MyCoroutine轻量级协程框架代码详细剖解