Servlet的生命周期

1.客户端请求该 Servlet;

2.加载 Servlet 类到内存;
3.实例化并调用init()方法初始化该 Servlet;
4.service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions();
加载和实例化 Servlet。这项操作一般是动态执行的。然而,Server 通常会提供一个管理的选项,用于在 Server 启动时强制装载和初始化特定的 Servlet。
Server 创建一个 Servlet的实例
第一个客户端的请求到达 Server
Server 调用 Servlet 的 init() 方法(可配置为 Server 创建 Servlet 实例时调用,在 web.xml 中 <servlet> 标签下配置 <load-on-startup> 标签,配置的值为整型,值越小 Servlet 的启动优先级越高)
一个客户端的请求到达 Server
Server 创建一个请求对象,处理客户端请求
Server 创建一个响应对象,响应客户端请求
Server 激活 Servlet 的 service() 方法,传递请求和响应对象作为参数
service() 方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息
service() 方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如 doGet() 或 doPost() 或程序员自己开发的新的方法。

对于更多的客户端请求,Server 创建新的请求和响应对象,仍然激活此 Servlet 的 service() 方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用 init() 方法。一般 Servlet 只初始化一次(只有一个对象),当 Server 不再需要 Servlet 时(一般当 Server 关闭时),Server 调用 Servlet 的 destroy() 方法

Filter的生命周期

web应用加载后会立即创建出当前web应用中的Filter对象, 创建出来后, 立即调用init方法进行初始化出操作 它们都提供了init(FilterConfig arg0)和destroy()方法来控制,当关闭web容器,关机,或者reload整个应用时,都会调用destroy()来关闭filter。也就是说,当web容器启动时,filter就被加载到内存,并在destroy()调用之前都常驻内存。。

Servlet 和Filter的生命周期相关推荐

  1. Filter过滤器的这些内容(Filter的生命周期FilterChain过滤器链Filter的拦截路径...),你都理解了吗?

         说说Filter(过滤器),它是javaWeb的三大组件之一,三大组件包括Servlet,Filter,Listener.Servlet前面已经详细说过了,这篇说的是Filter,关于Lis ...

  2. 深刻理解Servlet运行机制和生命周期

    servlet 运行在servlet 容器中,其生命周期由容器来管理.servlet 的生命周期通过 javax.servlet.Servlet接口中的init(),servce(),和destory ...

  3. Servlet系列学习笔记1 --- Servlet工作原理和生命周期

    目录 一.Servlet API概述 二.Servlet工作原理 三.Servlet接口 四.Servlet的生命周期 五.ServletRequest 六.ServletResponse Servl ...

  4. Servlet运行原理以及生命周期

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

  5. servlet工作原理_Servlet 生命周期、工作原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...

  6. JavaEE基础(01):Servlet实现方式,生命周期执行过程

    本文源码:GitHub·点这里 || GitEE·点这里 一.Servlet简介 Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用S ...

  7. 小汤学编程之JavaEE学习day02——Servlet使用步骤、生命周期、接收与返回数据、GET与POST、转发与重定向

    一.Servlet使用步骤 二.Servlet生命周期 三.Servlet接收与返回数据 四.GET请求与POST请求的区别 五.转发与重定向 一.Servlet使用步骤 servlet是运行在服务器 ...

  8. servlet运行原理和生命周期

    servlet的生命周期分为3个阶段: 1初始化阶段:调用init方法 2响应客户请求阶段:调用service()方法 3终止阶段:调用destroy方法 servlet初始化阶段: 在下列时刻ser ...

  9. 什么是servlet ?简述servlet执行原理?生命周期是怎样的?

    servlet就是一个接口,定义了java类被浏览器访问到(被Tomcat识别)的规则,主要负责接收浏览器的请求,tomcat服务器调用servlet方法.步骤:创建 一个javaEE项目,定义一个类 ...

最新文章

  1. CCF - 201409-3 - 字符串匹配
  2. Python自定义函数的创建、调用和函数的参数详解
  3. Python基础教程:set集合的教程
  4. Visual Studio 2008 响应很慢 是怎么回事?
  5. 一步一步学ROP之linux_x64篇
  6. php匹配中文最准确的正则表达式
  7. 程序员顶尖和普通就是有5个区别!
  8. 前端面试每日 3+1 —— 第27天
  9. LINUX安装CUDA 9.2,提示缺少文件的解决办法
  10. 基于加速度计的倾角检测算法-C语言程序
  11. 微信小程序wx:for 循环中item的keng
  12. 【论文查找】查找某个会议往年录用文章
  13. 【间歇性努力,不是真正的努力】
  14. 基于Token的验证方式(JWT简笔)
  15. linux性能分析工具总结(初级工具篇)
  16. MacBook Pro 13 A1502 更换电池
  17. java每五分钟执行一次_Cron表达式每N分钟运行一次
  18. 是科学还是魔法?Informer on MindSpore——时间序列预测技术实践
  19. 某些有趣的API接口
  20. DDR4 Spec 第四章 4.1-4.3

热门文章

  1. 学习笔记之四_Cisco系统IOS和安全设备管理系统SDM(CCNA知识考点)
  2. GIS Portal的一个例子(http://www.geodata.gov/gos)
  3. android 如何将WPS文档转成PDF
  4. Fibonacci数列第n项的log(n)算法
  5. android关于控件中setTag(key,Object)的设置的相关问题
  6. 一条数据的漫游 -- X-Engine SIGMOD Paper Introduction
  7. kali linux fuzz工具集简述
  8. android中bitmap压缩的几种方法的解读
  9. Flex CursorManager
  10. SpringBoot不支持webapp的解决办法