加载顺序_Java的web.xml组件加载顺序

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

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

web.xml常用组件解析:

WEB应用的名字

WEB应用的描述

context-param元素声明应用范围内的初始化参数

contextConfigLocation

/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml

过滤器将一个名字与一个实现javax.servlet.Filter接口的类相关联

一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联

事件监听程序在建立、修改和删除会话或servlet环境时得到通知。Listener元素指出事件监听程序类。

如Log4j这个广泛使用的监听和

org.springframework.web.context.ContextLoaderListener

在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。

服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。

但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素

如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。 可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值

如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证

指示服务器在收到引用一个目录名而不是文件名的URL时,使用哪个文件(其实就是欢迎界面或者说入口界面一般为index.*)

在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面。

对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。此功能使你能够更改TLD文件的位置, 而不用编辑使用这些文件的JSP页面。

声明与资源相关的一个管理对象。

声明一个资源工厂使用的外部资源。

制定应该保护的URL。它与login-config元素联合使用

指定服务器应该怎样给试图访问受保护页面的用户授权。它与sercurity-constraint元素联合使用。

给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易

声明Web应用的环境项

a7efd108fb4da67a0cffb9682caac1e6.png

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

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

相关文章

20145326蔡馨熠《信息安全系统设计》第2周学习总结

20145326蔡馨熠《信息安全系统设计》第2周学习总结 教材学习内容总结 一、计算机系统与链接 信息就是位上下文,都是由一串位表示的,区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。ASCII字符构成的文件是文本文件,所有其他文件…

c#解析json字符串数组_C#解析JSON字符串总结

JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串。操作JSON通常有以下几种方式:1. 原始方式:按照JSON字符串自己来解析。2. 通用方式【★★★★★】:这种方式是使用开源的类库Newtonsoft.Json(下载地址http…

/etc/fstab 文件配置项简单介绍

Untitled本文来源&#xff1a;https://wiki.archlinux.org/index.php/Fstab_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 查看文件系统分区表。fstab 全称为file systems table cat /dev/fstab /etc/fstab# <file system> <dir> <type> <…

为什么不敢和别人竞争_净空法师开示:学老实,在社会上不能跟人竞争吗? - 如是我闻佛教网...

净空法师开示 - 学老实&#xff0c;在社会上不能跟人竞争吗&#xff1f;下面&#xff0c;「又《十住毘婆沙论》曰&#xff1a;若人疾欲至不退转地者&#xff0c;应以恭敬心&#xff0c;执持称名号。」这几句话在这个地方提醒我们&#xff0c;假使有个人想很快速就能得到不退转…

python中a and b什么意思_Python中的a+=b和a=a+b之间的区别是什么?

我一直以为ab和aab是一样的&#xff0c;毕竟效果是一样的嘛。后来我发现并不是这么回事&#xff1f;我发现当变量是不可变对象时&#xff0c;ab和aab是一样的&#xff0c;不过我注意到了前后两个a已经不是同一个对象了。而当变量是可变对象时&#xff0c;虽然ab和aab的效果是一…

快速提高 Vi/Vim 使用效率的原则与途径

Vi/Vim 是所有 Unix/Linux 操作系统默认配备的编辑器。因其强大的功能和高效的操作&#xff0c;Vi/Vim 也成为众多 Unix/Linux 用户、管理员必须掌握并熟练使用的编辑工具之一。尤其是在没有图形界面的情况下&#xff0c;更是离不开 Vi/Vim。Vi/Vim 命令非常多、用法极为灵活&a…

5和6 objbc oracle_Oracle测试题

1) PL/SQL块中可以使用下列(BC)命令。(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是()〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON…

Bash 入门教程10-处理用户输入

用户输入参数是程序运行的必要条件&#xff0c;如何在Bash中调用输入的参数&#xff0c;将Bash和GCC联合调试&#xff0c;这是linux工程师必备的一个能力。 $./shawn 10 30 这是一个很典型的例子&#xff0c;后面两个就是传入bash的命令行参数。 bash shell 会将一些成为位置参…

存放在外存上的数据关机后_小鑫话题 | 惊了!关机后SSD会丢数据?

今天小鑫在群里看到一个很有趣的话题&#xff0c;是关于SSD和HDD哪个更好的讨论。这个话题小鑫都已经见过不下十次了&#xff0c;但是今天小鑫看到了一句以前从没有看到的言论。(某交流群截图)看到这里&#xff0c;小鑫觉得网络上的“标题党”&#xff0c;可能已经在大做文章了…

python:装饰器

1.情景引入。 现在已经完成了一个python项目&#xff0c;但是我们为了安全起见&#xff0c;我们需要加入验证机制。不是所有人都能调用函数 原始源代码def f1():print f1def f2():print f2def f3():print f3 由于必须遵循开发闭包的原则&#xff0c;所以我们应该尽可能的是不去…

mysql sys exec_python - 使用MySQL UDF执行命令-sys_exec不起作用 - 堆栈内存溢出

我正在尝试从MariaDB服务器运行python脚本。 我已经为此安装了mysqludf库。 我正在尝试使用sys_exec函数运行脚本&#xff0c;但是没有结果。 我已经创建了测试文件&#xff0c;它只是一个带有信息“ DONE”的.txt文件。我以root用户身份执行命令&#xff0c;因此我拥有所有特权…

2、Redis入门介绍

1、什么是Redis Redis&#xff1a;REmote DIctionary Server(远程字典服务器) 是完全开源免费的&#xff0c;用C语言编写的&#xff0c;遵守BSD协议&#xff0c;是一个高性能的(key/value)分布式内存数据库&#xff0c;基于内存运行。并支持持久化的NoSQL数据库&#xff0c;是当…

Coursera公开课-Machine_learing:编程作业7

这周的编程作业主要是两方面内容。 1.K-means聚类。 2.PCA&#xff08;Principle Component Analys&#xff09;主成分分析。 方式主要是通过对图像的聚类实现压缩图像&#xff0c;后来发现PCA也可以通过对主特征值的提取实现压缩图像的目的。很有意思&#xff0c;具体的内容参…

CF722D. Generating Sets[贪心 STL]

D. Generating Setstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a set Y of n distinct positive integers y1, y2, ..., yn. Set X of n distinct positive integers x1, x2, ..., xn is sa…

mysql sql running no_【MySql】复制出现Slave_SQL_Running: No 错误解决

收到报警&#xff0c;mysql的从数据库在同步的过程出现问题&#xff0c;已停止同步。ERROR] Slave SQL: Error "Lock wait timeout exceeded; try restarting transaction" on query. Default database: "yang". Query: "UPDATE workitem SET statu…

使用VS2010调用matlab的mat格式文件

做实验需要将matlab实现的meanshift的结果中的region的Iabels矩阵&#xff0c;需要把labels.mat读入VS2010中&#xff0c;实现功能&#xff0c;在此把实现过程记录下来。 C读取mat文件的步骤如下。 1. vs2010的配置 新建一个工程&#xff0c;在属性管理器中选择 工程->属性-…

mysql 中间件 atlas_Mysql中间件代理 Atlas

本文接上文介绍atlas的安装配置&#xff0c;以及借助keepalive软件实现altas的ha&#xff0c;避免由于atlas故障&#xff0c;导致数据库服务中断的情况出现&#xff1a;一&#xff1a;环境介绍Atlas 主&#xff1a;192.168.1.12/24Atlas 从&#xff1a;192.168.1.81/24Atlas vi…

nodejs mysql事务处理_关于NodeJs如何使用Mysql模块实现事务处理实例

本篇文章主要介绍了NodeJs使用Mysql模块实现事务处理 &#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧依赖模块&#xff1a;1. mysqlnpm install mysql --save2. asyncnpm install async --save(ps: async模块可…

如何正确的通过 C++ Primer 学习 C++?(转自知乎)

作者&#xff1a;dawnmist链接&#xff1a;https://www.zhihu.com/question/32087709/answer/54936403来源&#xff1a;知乎著作权归作者所有&#xff0c;转载请联系作者获得授权。个人经验&#xff0c;C primer 第一次可以跳着看。关键是要尽快用起来&#xff0c;在使用中熟练…

Androidstudio连mysql_MySQL数据库之Android Studio使用JDBC远程连接mysql的注意事项(附示例)...

本文主要向大家介绍了MySQL数据库之Android Studio使用JDBC远程连接mysql的注意事项(附示例) &#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习MySQL数据库有所帮助。JDBC为java程序访问各种类型的关系型数据库提供了统一的接口&#xff0c;用户不必针对不同数…