web.xml组件加载顺序

context-param > listener > filter > servlet
其中同类则按编写顺序执行

常用组件解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<web-app xmlns="" version="">

	<!-- 应用名称 -->
	<display-name>Bear</display-name>

	<!-- 应用描述 -->
	<description></description>

	<!-- 应用范围内的初始化参数 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<!-- 加载多个spring配置文件 -->
		<param-value>classpath*:/applicationContext.xml</param-value>
	</context-param>

	<!-- 加载事件监听器,在建立、修改、删除会话或servlet环境时得到通知 -->
	<listener>
		<!-- 定义Spring监听器 -->
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- 加载过滤器,将一个名字与一个实现了javax.servlet.Filter接口的类关联 -->
	<filter>
		<!-- 过滤器名称 -->
		<filter-name></filter-name>
		<!-- 过滤器路径 -->
		<filter-class></filter-class>
		<!-- 初始化参数 -->
		<init-param>
			<!-- 参数名称 -->
			<param-name></param-name>
			<!-- 参数值 -->
			<param-value></param-value>
		</init-param>
	</filter>
	<!-- 如果命名了过滤器,则需要将其与一个或多个servlet或jsp页面关联 -->
	<filter-mapping>
		<!-- 过滤器名称 -->
		<filter-name></filter-name>
		<!-- 应用范围,所有 -->
		<url-pattern>/*</ulr-pattern>
	</filter-mapping>

	<!-- 加载servlet,在向servlet或jsp页面指定初始化参数或URL时,必须先命名servlet或jsp页面 -->
	<servlet>
		<!-- servlet名称 -->
		<servlet-name>springServlet</servlet-name>
		<!-- servlet路径 -->
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 初始化参数 -->
		<init-param>
			<!-- 参数名称 -->
			<param-name>contextConfigLocation</param-name>
			<!-- 参数值 -->
			<param-value>classpath*:spring-mvc.xml</param-value>
		</init-param>
		<!-- 加载优先级 -->
		<load-on-startup>1</load-on-startup>
	</servlet>

	<!-- 为指定的servlet提供缺省URL -->
	<servlet-mapping>
		<!-- servlet名称 -->
		<servlet-name>springServlet</servlet-name>
		<!-- 应用范围 -->
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

	<!-- 会话配置 -->
	<session-config>
		<!-- 定义会话超时时间,会员未访问时间达到改配置,则会被服务器抛弃以节省内存 -->
		<session-timeout>30</session-timeout>
	</session-config>

	<!-- 为特殊文件分配特定mime类型 -->
	<mime-mapping></mime-mapping>

	<!-- 应用首页入口文件列表 -->
	<welcome-file-list></welcome-file-list>

	<!-- 在返回特定http状态码或特定类型的异常抛出时,显示的页面 -->
	<error-page>
		<!-- 状态码 -->
		<error-code>404</error-code>
		<!-- 显示页面 -->
		<location>404.jsp</location>
	</error-page>

	<!-- 为标记库描述文件指定别名,可更改TLD文件的位置 ——>
	<taglib></taglib>

	<!-- 声明与资源相关的管理对象 -->
 	<resource-env-ref></resource-env-ref>

	<!-- 声明资源工厂使用的外部资源 -->
	<resource-ref></resource-ref>

	<!-- 指定待保护的URL,与location-config联合使用 -->
	<security-constraint></security-constraint>

	<!-- 指定服务器如何给试图访问受保护页面的用户授权,与security-constraint联合使用 -->
	<login-config></login-config>

	<!-- 安全角色列表 -->
	<security-role></security-role>

	<!-- 声明应用环境项 -->
	<env-entry></env-entry>

</web-app>