web.xml 组件加载顺序

转载自  web.xml 组件加载顺序

在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要。 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前。

经过查阅和Debug发现, web.xml组件加载顺序为:context-param -> listener -> filter -> servlet(同类则按编写顺序执行)。

web.xml常用组件解析:

<web-app><display-name></display-name>
WEB应用的名字 <description></description> 
WEB应用的描述    <context-param></context-param> 
context-param元素声明应用范围内的初始化参数<!-- 指定spring配置文件位置 -->    
<context-param>    <param-name>contextConfigLocation</param-name>    <param-value>    
<!--加载多个spring配置文件 -->    
/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml    </param-value>    
</context-param>    <filter></filter> 
过滤器将一个名字与一个实现javax.servlet.Filter接口的类相关联    <filter-mapping></filter-mapping> 
一旦命名了一个过滤器,就要利用filter-mapping元素把它
与一个或多个servlet或JSP页面相关联<listener></listener> 
事件监听程序在建立、修改和删除会话或servlet环境时得到通知。
Listener元素指出事件监听程序类。    如Log4j这个广泛使用的监听<!-- 定义SPRING监听器,加载spring -->   
<listener>    <listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class>    
</listener>  <servlet></servlet> 
在向servlet或JSP页面制定初始化参数或定制URL时,
必须首先命名servlet或JSP页面。
Servlet元素就是用来完成此项任务的。<servlet-mapping></servlet-mapping> 
服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。
但是,常常会更改这个URL,
以便servlet可以访问初始化参数或更容易地处理相对URL。
在更改缺省URL时,使用servlet-mapping元素    <session-config></session-config> 
如果某个会话在一定时间内未被访问,
服务器可以抛弃它以节省内存。  
可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,
或者可利用session-config元素制定缺省超时值    <mime-mapping></mime-mapping>
如果Web应用具有想到特殊的文件,
希望能保证给他们分配特定的MIME类型,
则mime-mapping元素提供这种保证  <welcome-file-list></welcome-file-list> 
指示服务器在收到引用一个目录名而不是文件名的URL时,
使用哪个文件(其实就是欢迎界面或者说入口界面一般为index.*)   <error-page></error-page>
在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,
能够制定将要显示的页面。    <taglib></taglib> 
对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。
此功能使你能够更改TLD文件的位置,   
而不用编辑使用这些文件的JSP页面。<resource-env-ref></resource-env-ref>
声明与资源相关的一个管理对象。 <resource-ref></resource-ref> 
声明一个资源工厂使用的外部资源。    <security-constraint></security-constraint> 
制定应该保护的URL。它与login-config元素联合使用 <login-config></login-config> 
指定服务器应该怎样给试图访问受保护页面的用户授权。
它与sercurity-constraint元素联合使用。    <security-role></security-role>
给出安全角色的一个列表,这些角色将出现在servlet元素内的
security-role-ref元素的role-name子元素中。
分别地声明角色可使高级IDE处理安全信息更为容易<env-entry></env-entry>
声明Web应用的环境项</web-app>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日期工具类处理总结(全)

文章目录前言代码展示前言 最近项目中用到了一些关于日期类和字符串类的处理&#xff0c;用到一次就得去写一次&#xff0c;后来想了想这样不光效率低还浪费时间浪费精力&#xff0c;于是就将常用的一些方法提取成工具类&#xff0c;每个项目都考进去一次&#xff0c;用的时候…

asp.net core 2.0 web api基于JWT自定义策略授权

JWT(json web token)是一种基于json的身份验证机制&#xff0c;流程如下&#xff1a; 通过登录&#xff0c;来获取Token&#xff0c;再在之后每次请求的Header中追加Authorization为Token的凭据&#xff0c;服务端验证通过即可能获取想要访问的资源。关于JWT的技术&#xff0c;…

P3811-[模板]乘法逆元【线性求逆元】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP3811 题目大意 求1∼n1\sim n1∼n中modpmod\ \ pmod p的逆元。 解题思路 首先对于p&#xff0c;我们将其分解为kir(k⌊pi⌋,rp%r)kir(k\lfloor \frac{p}{i}\rfloor,rp\%r)kir(k⌊ip​⌋,rp%r)&…

BATJ面试必会|Jvm 虚拟机篇

转载自 BATJ面试必会|Jvm 虚拟机篇 目录 一、运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二、垃圾收集 判断一个对象是否可被回收 引用类型 垃圾收集算法 垃圾收集器 三、内存分配与回收策略 Minor GC 和 Full GC 内存…

让网页背景颜色改变

如何改变背景的颜色呢&#xff0c;这里提供一个方法 <!DOCTYPE html> <html><head><style type"text/css">body {background-color: red}p {margin-left: 1px}</style><title>我yi癫狂</title></head><body>…

nssl1141,jzoj3470-最短路【SPFA,暴力】

正题 纪中题目链接:https://jzoj.net/senior/#main/show/3470 题目大意 在从起点经过k个标记点然后到终点的最短路。 解题思路 用SPFA求出起点和所有标记点的最短路&#xff0c;然后暴力枚举标记点到达顺序。 时间负责度:O(K(NM)k!)O(K(NM)k!)O(K(NM)k!) code #include<…

糊涂工具类真是场景下请求http接口的案例

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 现在是&#xff1a;2022年7月7日13:46:07 前言 今天有个这样的需求&#xff0c;PC端需要查看一下哪些天有数据&#xff0c;但是哪些有有没有数据我这边还看不出来&#xff0c;得请求别的系…

Java进阶学习路线

1、JVM &#xff08;1&#xff09;启动参数 1)heap -Xms<size> -Xmx<size> a.young and old generation -Xmn<size> -XX:NewSize<size> -XX:MaxNewSize<size> -XX:NewRatio<rate> -XX:SurvivorRatio<rate> -XX:MaxTenuri…

nssl1142,jzoj3487-剑与魔法【堆,贪心】

正题 纪中题目链接:https://jzoj.net/senior/#main/show/3487 题目大意 有两个东西 一个是表示可以选择这个东西&#xff0c;然后加x的价值。 一个是在这个操作之前不可以超过x个东西。 求最大价值 解题思路 我们考虑每个不能超过的操作&#xff0c;我们留下价值最大的。…

体验 ASP.NET Core 中的多语言支持(Localization)

首先在 Startup 的 ConfigureServices 中添加 AddLocalization 与 AddViewLocalization 以及配置 RequestLocalizationOptions &#xff08;这里假设使用英文与中文&#xff09;&#xff1a; public void ConfigureServices(IServiceCollection services) { services.AddLoca…

java中复杂业务情况下的集合操作(增减集合同步数据)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 现在是&#xff1a;2022年7月5日16:14:28 前言 今天分享个案例&#xff0c;需求是这样的&#xff1a;一个团组中是可以包含多个会员&#xff0c;在给团组创建训练方案时&#xff0c;本质上…

springboot整合spring @Cache和Redis

转载自 springboot整合spring Cache和Redis spring基于注解的缓存 对于缓存声明&#xff0c;spring的缓存提供了一组java注解: Cacheable:触发缓存写入。CacheEvict:触发缓存清除。CachePut:更新缓存(不会影响到方法的运行)。Caching:重新组合要应用于方法的多个缓存操作。…

段落分开

分三段 <!DOCTYPE html> <html><head></head><body><p>This is a paragraph.</p> <p>This is another paragraph.</p> <p>这是网页设计中定义段落的标记&#xff0c;称为开始标记&#xff0c;称为结束标记。把一…

辞旧迎新,新工作感悟!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 现在是&#xff1a;2022年6月21日22:33:34 公众号又好久没有更新啦。从以前的日更&#xff0c;到后来的周更&#xff0c;再到后来的月更……不知道会不会到不更的结局。。。 最近换工作了…

ASPNET Core 2.x中的Kestrel服务器

Kestrel是一个基于libuv的跨平台ASP.NET Core web服务器&#xff0c;libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。 Kestrel支持以下功能&#xff1a; HTTPS用于启用不透明升级的WebSockets位于Nginx之后的高性能Unix sockets Kestr…

全文搜索!收藏这篇Solr ElasticSearch 长文就可以搞定

转载自 全文搜索&#xff01;收藏这篇Solr ElasticSearch 长文就可以搞定 摘自&#xff1a;JaJian博кē Java后端技术编者说&#xff1a;文章从浅到深&#xff0c;描述了什么是全文搜索&#xff0c;为什么要使用全文搜索&#xff0c;Solr和ElasticSearch的发展和比较。文章比…

nssl1143,jzoj3493-三角形【排序,数学,几何】

正题 纪中题目链接:https://jzoj.net/senior/#main/show/3493 题目大意 给n点&#xff0c;求有多少个三角形。 ##解题思路 我们考虑在n个点中选取3个点的方案数&#xff0c;Cn3C_n^3Cn3​。然后不能组成三角形的情况只有3点共线。利用容斥原理我们可以用方案数减去不合法的方…

网页弹框弹出

完成这个功能需要在 弹框弹出 点击之后 才会显示内容 <!DOCTYPE html> <html><head><title>对话框测试</title><script>alert("对话框测试");</script></head><body>对话框测试&#xff1a;</body> …

字符串工具类总结(全)

文章目录前言代码展示大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 现在是&#xff1a;2022年7月9日18:53:37 前言 最近在项目过程中整理了一些常用的方法&#xff0c;于是将其抽出来形成一个工具类。 下面我来分享一下我自己整理的一…

Azure School与开源

距离Azure School(https://school.azure.cn/) 的正式上线时间&#xff0c;2017.8.3&#xff0c;已经过去了20多天了。这20多天得到了很多有帮助的建议和反馈&#xff0c;小伙伴们都很给力&#xff0c;互相帮助扶持&#xff0c;调整产品不正确的地方&#xff0c;快速迭代新的功能…