Servlet(API)生命周期
一.最上层接口Servlet
查看Servlet接口源码:

有5个方法
访问过程(默认):
1.进行Servlet类加载
当Tomcat容器启动后,服务器寻找应用部署的描述文件(web.xml),从部署描述文件中读取到上下文初始化参数,此时创建一个
ServletContext对象,应用的所有部分共享此上下文。
即Servlet需要创建的信息在ServletContext对象保存
!类的加载在容器启动时执行,整个生命周期只执行一次
2.创建Servlet类的实例,并初始化
客户端访问请求,根据url,ServletContext会找到相应的Servlet处理类(表面是web.xml的mapping映射)
根据保存在ServletContext中的配置和参数信息来创建Servlet实例类初始化。
具体调用getServletConfig(),getServletInfo()和init()方法
!默认情况下:初始化在第一次请求访问时执行
可以配置:Serlvet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中<servlet> </servlet>之间添加<load-on-startup>1</load-on-startup>,数字越小,优先级越大。
3.执行处理方法Service()
每次请求到来时都会执行Service方法
4.destory()方法
服务器关闭时,servlet会执行,销毁自身,生命周期结束
二.往下看
我们一般都会创建一个Servlet类,继承HtttpServlet,实现doGet()和doPost(),因为httpServlet是子类,封装了更全面的功能
Servlet接口→GenericServlet抽象类→HttpServlet抽象类→MyServlet


实际上doGet和doPost就是相当于上层接口的Service
所以Servlet生命周期:
1)Servlet何时创建
默认第一次访问servlet时创建该对象
2)Servlet何时销毁
服务器关闭servlet就销毁了
3)每次访问必然执行的方法
service(ServletRequest req, ServletResponse res)方法
Servlet(API)生命周期的更多相关文章
- Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期
servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...
- Servlet的生命周期与运行原理
Servlet的生命周期: 1 加载classLoader 2 实例化 new 3 初始化 init(ServletConfig) 4 处理请求 service doGet d ...
- j2ee基础(1)servlet的生命周期
Servlet的生命周期 Servlet 生命周期规定了 Servlet 如何被加载.实例化.初始化. 处理客户端请求,以及何时结束服务. 该生命周期可以通过 javax.servlet.Servle ...
- Java Web -- Servlet(5) 开发Servlet的三种方法、配置Servlet具体解释、Servlet的生命周期(2)
三.Servlet的生命周期 一个Java servlet具有一个生命周期,这个生命周期定义了一个Servlet怎样被加载并被初始化,怎样接收请求并作出对请求的响应,怎样被从服务中清除.Servlet ...
- 第四天:servlet的生命周期和一些细节问题
1. servlet的生命周期: a) 流程 i. Web服务器首先会检查是否装载了该servlet的实例对象.如果装载了直接进行第四步. ii. 装载并创建该servlet的实例对象. ii ...
- Servlet学习(一)——Servlet的生命周期、执行过程、配置
1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过jav ...
- Spring,SpringMVC,MyBatis,Hibernate,Servlet的生命周期,jsp有哪些内置对象,Tomcat,Cookie和Session的作用以及区别,oracle,MYSQL等面试题总结
1. 什么是Spring,谈谈你对Spring的理解 Spring是我们JAVA开发人员在搭建后台时选用的一个轻量级的开源框架,Spring框架目前也是功能丰富,十分优秀企业级采用最多的一个框架. S ...
- Servlet的生命周期及工作原理
Servlet生命周期分为三个阶段: 1,初始化阶段 调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...
- Servlet的生命周期
Servlet的生命周期 Servlet的生命周期是由tomcat服务器来控制的. 1 构造方法: 创建servlet对象的时候调用.默认情况下,第一访问servlet就会创建servlet对象只创建 ...
- Servlet的生命周期+实现方式
1.Servlet的生命周期: (1)被创建: 默认情况下,Servlet第一次被访问时,被服务器创建.会调用init()方法. 一个 ...
随机推荐
- openresty 集成lua-resty-mail +smtp2http 扩展灵活的mail 服务
lua-resty-mail 是一个不错的openresty mail 扩展,我们可以用来进行邮件发送,支持附件功能 smtp2http 是一个smtp 服务,可以将smtp 请求数据转换为http ...
- skipper filter 扩展开发
skipper 的扩展包含filter类型的,以及Predicates ,当然script(lua)脚本也是 这次主要是filter类型的开发 filter 接口约定 格式 filter 至少需要包含 ...
- [转]JDK自带工具之问题排查场景示例
最近看到了大量关于java性能调优.故障排查的文章,自己也写了一篇Java调优经验谈.接着此篇文章,其实一直打算写写一些常用调优工具以及它们的惯常用法的.后来在http://java-performa ...
- js实现表单提交 onsubmit
<!--HTML--> <form role="form" class="form-edit-add edit-form" action=&q ...
- DP-动态规划算法实例:拿糖果问题
拿糖果问题 问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉. 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数.这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走 ...
- Go sql insert update使用举例
本文结合使用场景简单介绍sql中的insert.update的使用. 以下是代码: 如果记录已经存在,则更新,否则插入新记录. package main import ( "database ...
- 大数据离线分析平台 用户数据Etl
Etl目标 解析我们收集的日志数据,将解析后的数据保存到hbase中.这里选择hbase来存储数据的主要原因就是: hbase的宽表结构设计适合我们的这样多种数据格式的数据存储(不同event有不同 ...
- http修改443端口,http 强制跳转https
修改apache http/https 端口号 1.修改http的端口 打开$HTTPD_HOME/conf/httpd.conf文件,找到Listen,后面紧跟的是端口号,默认是80,把它修改为你想 ...
- iwebshop (: Cannot use object of type stdClass as array in)
今天在PHP输出一个二维数组的时候,出现了“Fatal error: Cannot use object of type stdClass as array in……”. 这个二维数组是这样的: Ar ...
- sqlserver触发器执行顺序【未经验证】
exec sp_settriggerorder @triggername = 'tr_customer_1', @order = 'first', @stmttype = 'insert',@name ...