一个较完整的SpringMVC工程的配置
2014-01-22 17:17:25
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://flyingsnail.blog.51cto.com/5341669/1353894
一、
在本人的《web.xml加载顺序》文章中介绍到了,在web.xml中配置的加载顺序为:
ServletContext-> context-param ->listener -> filter -> servlet
本文就结合该加载顺序,详细的介绍一个较完整的工程的配置。
二、
该较完整的工程应该包括:
1、应用Spring;
2、应用SpringMVC;
3、实现SpringSecurity来实现权限管理和身份验证;
4、JVM加载工程时,实现配置信息初始化(读取xml文件、类文件的注解信息等)。
三、
完整的web.xml文件描述:
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
|
<? xml version = "1.0" encoding = "UTF-8" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> < web-app >
< display-name >securityTest</ display-name >
< description >security application test</ description >
< context-param >
< param-name >projectCode</ param-name >
< param-value >securityTest</ param-value >
</ context-param >
< context-param >
< param-name >contextConfigLocation</ param-name >
< param-value >
classpath:applicationContext.xml
classpath:applicationContext-security.xml
</ param-value >
</ context-param >
< filter >
< filter-name >characterEncodingFilter</ filter-name >
< display-name >Character Encoding Filter</ display-name >
< filter-class >
org.springframework.web.filter.CharacterEncodingFilter
</ filter-class >
< init-param >
< param-name >encoding</ param-name >
< param-value >UTF-8</ param-value >
</ init-param >
< init-param >
< param-name >forceEncoding</ param-name >
< param-value >true</ param-value >
</ init-param >
</ filter >
<!-- Use Spring's encoding filter -->
< filter-mapping >
< filter-name >characterEncodingFilter</ filter-name >
<!--filter-name>encodingFilter</filter-name-->
< url-pattern >/*</ url-pattern >
</ filter-mapping >
< filter >
< filter-name >springSecurityFilterChain</ filter-name >
< filter-class >
org.springframework.web.filter.DelegatingFilterProxy
</ filter-class >
</ filter >
< filter-mapping >
< filter-name >springSecurityFilterChain</ filter-name >
< url-pattern >/*</ url-pattern >
</ filter-mapping >
< listener >
< listener-class >
org.springframework.web.context.ContextLoaderListener
</ listener-class >
</ listener >
< servlet >
< servlet-name >security</ servlet-name >
< servlet-class >
org.springframework.web.servlet.DispatcherServlet
</ servlet-class >
< init-param >
< param-name >contextConfigLocation</ param-name >
< param-value >classpath:mvc-config.xml</ param-value >
</ init-param >
< load-on-startup >2</ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name >security</ servlet-name >
< url-pattern >*.s</ url-pattern >
</ servlet-mapping >
< servlet >
< servlet-name >securityTestInitialServlet</ servlet-name >
< servlet-class >
com.yc.securityTest.web.SecurityTestInitialServlet
</ servlet-class >
< load-on-startup >10</ load-on-startup >
< init-param >
< param-name >flag</ param-name >
< param-value >true</ param-value >
</ init-param >
</ servlet >
< welcome-file-list >
< welcome-file >index.html</ welcome-file >
</ welcome-file-list >
</ web-app >
|
根据web.xml文件加载配置的顺序,可以把上面的配置详细描述为:
四、
对应于springMVC的搭建和配置可参考:
对应于springSecurity的搭建及配置可参考:
《springSecurity源码分析——DelegatingFilterProxy类的作用》
对应于实现配置信息初始化(读取xml文件、类文件的注解信息等),可参考我的另一篇文章《SpringMVC读取controller信息》。
本文出自 “会飞的蜗牛” 博客,请务必保留此出处http://flyingsnail.blog.51cto.com/5341669/1353894