Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >web.xml 组件加载顺序

web.xml 组件加载顺序

作者头像
用户1257393
发布于 2018-07-30 07:10:07
发布于 2018-07-30 07:10:07
80200
代码可运行
举报
文章被收录于专栏:精讲JAVA精讲JAVA
运行总次数:0
代码可运行

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

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

web.xml常用组件解析:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 精讲JAVA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【翻译】Tomcat 6.0 部署与发布
本篇参考Tomcat官方文档:《First Webapp》翻译,并结合自己的开发经验介绍关于tomcat部署以及发布的相关内容。 1 目录结构   在tomcat中所有的应用都是放置在CATALINA_HOME/webapps下,其中CATALINA_HOME对应的是你的tomcat的根目录。   由于Servlet2.2之后的版本规范规定,tomcat中应用的目录结构都要满足固定的格式,这样便于规范一致性。   放置在webapps下的文件通常是两种格式:一种压缩好的项目文件,比如war包!一种是正
用户1154259
2018/01/17
7310
【翻译】Tomcat 6.0 部署与发布
web.xml配置详解
1、web.xml学名叫部署描述符文件,是在Servlet规范中定义的,是web应用的配置文件。
bear_fish
2018/09/19
2.2K0
web.xml配置详解
过滤器监听器面试题都在这里
以下我是归纳的过滤器监听器知识点图: 图上的知识点都可以在我其他的文章内找到相应内容。 监听器常见面试题 监听器有哪些作用和用法? 监听器有哪些作用和用法? Java Web开发中的监听器(liste
Java3y
2018/03/15
8610
过滤器监听器面试题都在这里
web.xml基本配置。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
用户1220053
2018/04/17
6630
JavaWeb工程中web.xml基本配置
        先说下我记得xml规则,必须有且只有一个根节点,大小写敏感,标签不嵌套,必须配对。
bear_fish
2018/09/19
1.7K0
JavaWeb工程中web.xml基本配置
spring、springmvc整合web的web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
用户2409797
2018/08/30
1.3K0
spring4.0 整合 Quartz 实现任务调度(一)
前言   项目需求:     二维码推送到一体机上,给学生签到扫描用。然后需要的是 上课前20分钟 ,幸好在帮带我的学长做 p2p 的时候,接触过。自然 quartz 是首选。所以我就配置了下,搞了个小样例给大家。 正文    spring4.0 整合 Quartz 实现任务调度。这是期末项目的最后一篇,剩下到暑假吧。 Quartz 介绍     Quartz is a full-featured, open source job scheduling service that can be integr
Java学习123
2018/05/16
5000
整理+学习《骆昊-Java面试题全集(中)》
答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。
黑泽君
2018/12/27
9640
整理+学习《骆昊-Java面试题全集(中)》
JavaWeb-JavaWeb之web.xml标签介绍
第一行是 XML 声明,它定义 XML 的版本 (1.0) 和所使用的编码 (UTF-8)
秋日芒草
2019/03/15
6740
Web.xml配置说明
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149544.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
6920
Spring MVC体系结构和处理请求控制器
@Controller用于标记在一个类上,使用它标记的类就是一个SpringMvc Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。 @Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。 @Controller标记在一个类上还不能真正意义上说它就是SpringMvc的控制器,应为这个时候Spring还不认识它,这个时候需要把这个控制器交给Spring来管理
xiaozhangStu
2023/05/04
3740
史上最全web.xml配置文件元素详解
在servlet里面可以通过 getServletContext().getInitParameter(“context/param”)得到
阿豪聊干货
2018/08/09
3370
SSM项目搭建三(终) 原
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-
尚浩宇
2018/08/17
4090
Tomcat卷五---Web 应用配置,管理配置和JVM配置
web.xml 是web应用的描述文件, 它支持的元素及属性来自于Servlet 规范定义 。
大忽悠爱学习
2022/05/09
6680
Tomcat卷五---Web 应用配置,管理配置和JVM配置
JavaWeb中web.xml初始化加载顺序
需求说明 做项目时,为了省事,起初把初始化的配置都放在每个类中 static加载,初始化配置一多,就想把它给整理一下,这里使用servlet中的init方法初始化。 web.xml说明 首先了解下web.xml中元素的加载顺序: 启动web项目后,web容器首先回去找web.xml文件,读取这个文件 容器会创建一个 ServletContext ( servlet 上下文),整个 web 项目的所有部分都将共享这个上下文 容器将 转换为键值对,并交给 servletContext 容器创建 中的类实例,创建
小柒2012
2018/04/13
6880
经典Java面试题收集(二)
答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。
gnnngu
2018/03/15
2K0
经典Java面试题收集(二)
JavaWeb之web.xml
classpath对应src目录,该目录下的文件会在编译后被存放到WEB-INF文件夹下的classes目录。
雨临Lewis
2022/01/11
3270
jetty启动web项目源码分析
jetty是HTTP服务,HTTP客户端,和javax.servlet的容器。它本身被设计成嵌入式模式,应该将jetty集成到自己的应用,jetty本身可以实例化,能像任何POJO一样使用,用jetty就相当于把Http服务塞进了自己的应用
爬蜥
2024/02/04
3450
jetty启动web项目源码分析
web.xml详解
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
河岸飞流
2019/08/09
7490
浅析 SpringMVC 原理和配置.
一、原理       Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)模式实现,它能够帮你构建像Spring框架那样灵活和松耦合的Web应用程序,将请求
JMCui
2018/03/15
1K0
浅析 SpringMVC 原理和配置.
相关推荐
【翻译】Tomcat 6.0 部署与发布
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验