Servlet工作原理解析
1 Servlet容器
Tomcat容器分四个等级,真正管理servlet的容器是context容器,一个web应用对应一个context容器,也就是servlet运行时的servlet容器。添加一个web应用创建一个standcontext容器,并且给这个context设置必要的参数,url和path分别代表这个应该在tomcat中的访问路径和物理路径。
2 web应用的初始化
应用的初始化主要是解析web.xml文件,这个文件描述了一个web应用的关键信息,也是一个web应用的入口。
web.xml中各个配置项将会被解析成对应属性保存在webxml对象中,然后webxml对象的属性设置在context容器中。
3 servlet工作原理
3.1创建servlet对象:servlet在load-on-startup配置项大于0,context容器启动就会被实例化;否则,调用时实例化
3.2初始化servlet:调用servlet的init()方法
3.3tomcat接受到请求,根据url从mapper(mapper类保存了container容器中所有子容器信息)中选择正确的servlet容器,并在请求到达最终的servlet之前还要完成必要的一些步骤,必须要执行的Filter链,以及通知在web.xml中定义的listener。
3.4 执行servlet的service()方法
3.5当servlet从servlet容器中移除,servlet生命周期结束,调用servlet的destroy方法,销毁
4 servlet中listener
tomcat服务器中,listener使用非常广泛,基于观察者模式设计,listener设计给开发servlet应用程序带来很大便捷,能够方便的另一个纵向维度控制程序和数据。目前在servlet中提供了6种两类事件的观察者接口,分别是EventListener(某个事件出发)ServletContextAttributeListener、ServletRequestAttributeListener、ServletRequestListener、HttpSessionAttributeListener和LifecycleListener(生命周期不同状态触发)类型的ServletContextListener、HttpSessionListener。
5 Filter工作
在web.xml中<filter>和<filter-mapping>组合使用Filter
符合匹配规则的所有filter执行完成之后才会执行最终的servlet,如果在某个filter的doFilter方法中,调用FilterChain.doFilter请求继续传递,否则,直接返回
6 Servlet中url-pattern
匹配规则
精准匹配
路径匹配:/foo/*匹配以foo为前缀的url
后缀匹配:*.html会匹配以.html为后缀的url
理解最长路径匹配规则
————————————————
原文链接:https://blog.csdn.net/android_gogogo/article/details/79532430
Servlet工作原理解析相关推荐
- Servlet 工作原理解析
2019独角兽企业重金招聘Python工程师标准>>> 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servle ...
- 【Java】Servlet 工作原理解析
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的 ...
- Servlet 工作原理解析--转载
原文:http://www.ibm.com/developerworks/cn/java/j-lo-servlet/index.html?ca=drs- Web 技术成为当今主流的互联网 Web 应用 ...
- 超详细 Servlet工作原理解析
Web技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.因而掌握 Servlet的工作原理是成为一名合格的 Java Web 技术开发人员的基本 ...
- 第九章 Servlet工作原理解析
9.1 从Servlet容器说起 Servlet容器:Jetty, Tomcat等. 这里以Tomcat为例, 真正管理Servlet的容器是Context容器,一个Context对应一个WE ...
- Servlet工作原理解析2(以Tomcat为例)
Servlet如何工作 Servlet是如何被加载的.如何被初始化的,以及Servlet的体系结构都已经清楚了,现在就看看它是如何被调用的. 用户从浏览器向服务器发起的一个请求通常会包含如下信息:ht ...
- java servlet原理_Java Web 深入分析(8) Servlet工作原理解析
Servlet Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态We ...
- Tomcat Servlet 工作原理
文章目录 Tomcat Servlet 工作原理 Servlet Tomcat解析Context容器过程及如何构建Servlet Servlet容器启动过程 Web应用初始化工作 创建Servlet实 ...
- servlet工作原理_Servlet 生命周期、工作原理
Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...
- 【深度学习】谷歌大脑EfficientNet的工作原理解析
[深度学习]谷歌大脑EfficientNet的工作原理解析 文章目录 1 知识点准备1.1 卷积后通道数目是怎么变多的1.2 EfficientNet 2 结构2.1 方式2.2 MBConv卷积块2 ...
最新文章
- cvsdfgdfdf
- Java语言的关键字
- Android组件化专题 - 路由框架原理
- 浅析负载均衡的6种算法,Ngnix的5种算法
- OpenCV vs Dlib 人脸检测比较分析
- systemctl自定义service
- java 中的 什么意思啊_JAVA 中的 - 是什么意思?
- 【转载】架构师速成-如何高效编程
- java spite截取_Java內功心法,行為型設計模式
- 学习机器学习,需要具备什么的数学基础?
- 内网计算机如何在线查找mac,查询局域网内全部电脑IP和mac地址
- Nacos入门之服务注册中心以及命名空间分组和DataID三者关系
- 基于AM5728核心板的户外工作站可靠性和便捷性设计
- IGBT静态参数测试
- 公务员行测常识积累(持续更新中)
- excel mysql数据同步_将 Excel 数据导入 MySql
- linux ss的使用方法
- 2019牛客暑期多校训练营(第一场)E-ABBA(dp)
- 写一个IPPBX-功能汇总(一)
- 【前端灵魂脚本语言JavaScript①】——JS引入方式