一个较完整的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的搭建和配置可参考:

《SpringMVC常用基础知识【转】》

《Spring MVC 框架搭建及详解》

《SpringMVC入门实例及详细讲解》

《跟开涛学SpringMVC》

《基于注解的 Spring MVC 简单入门》

《Spring MVC全部文档》

《Spring MVC 教程,快速入门,深入分析》

对应于springSecurity的搭建及配置可参考:

《spring-security3 配置和使用》

《Spring Security3.1 最新配置实例》

《Spring Security学习总结》

《SpringSecurity3配置及原理简介》

《springSecurity源码分析——DelegatingFilterProxy类的作用》

对应于实现配置信息初始化(读取xml文件、类文件的注解信息等),可参考我的另一篇文章《SpringMVC读取controller信息》。

本文出自 “会飞的蜗牛” 博客,请务必保留此出处http://flyingsnail.blog.51cto.com/5341669/1353894

学SpringMVC收藏的更多相关文章

  1. 【转】跟着开涛学SpringMVC

    跟着开涛学SpringMVC 第一章源代码下载 博客分类: 跟开涛学SpringMVC 跟开涛学SpringMVC  源代码请到附件中下载. 其他下载: 跟着开涛学SpringMVC 第一章源代码下载 ...

  2. 跟我学SpringMVC目录汇总贴、PDF下载、源码下载

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列

    Spring Web MVC中的页面缓存支持 ——跟我学SpringMVC系列

  4. 一起学SpringMVC之Request方式

    本文主要以一些简单的小例子,简述在SpringMVC开发过程中,经常用到的Request方面的内容,仅供学习分享使用,如有不足之处,还请指正. 概述 在客户机和服务器之间进行请求-响应时,两种最常被用 ...

  5. 《转载》跟我学SpringMVC

    在线版目录 第一章 Web MVC简介 第二章 Spring MVC入门 第三章 DispatcherServlet详解 第四章 Controller接口控制器详解(1) 第四章 Controller ...

  6. 是否要学SpringMVC

    如题,希望大侠们指出,不能用Spring就觉得他什么都好,本帖子意在实际工作中,对是否将Spring引入项目及如何更好的使用Spring提出启发式意见.目前已有高人表达了自己对Spring的不满,让我 ...

  7. SpringMVC_架构 --跟海涛学SpringMVC(学习笔记)

    重点: 1.工作流程及实现原理 2.配置及使用方法 3.共同函数 前言 1.2.模型: 1.2.1.此处模型使用JavaBean,可能造成JavaBean组件类很庞大,一般现在项目都是采用三层架构,而 ...

  8. 一起学SpringMVC之异常处理

    在系统开发过程中,异常处理是不可避免,如果异常处理不好,会给用户造成很差的体验,本文主要讲解在SpringMVC开发过程中,异常处理的相关知识点,仅供学习分享使用,如有不足之处,还请指正. 概述 在S ...

  9. 一起学SpringMVC之文件上传

    概述 在Web系统开发过程中,文件上传是普遍的功能,本文主要以一个简单的小例子,讲解SpringMVC中文件上传的使用方法,仅供学习分享使用,如有不足之处,还请指正. 文件上传依赖包 如下所示,文件上 ...

随机推荐

  1. Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager

    1.错误叙述性说明 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -h ...

  2. Group By去除重复数据

    今天在写一个sql,目的是去除表里某一个字段相同的数据,只保留最新的一条.之前group by 用的少.特此记录一下. SELECT * FROM litb_approval_task SELECT ...

  3. newlisp获得bash该命令的退出状态

    newlisp exec你可以运行bash命令.但如何返回状态来运行它? 特别是,我需要监控hdfs dfs -test 结果返回.经过一番摸索,我发现了一个简单的答案: #!/usr/bin/new ...

  4. DES加密和解密PHP,Java,ObjectC统一的方法

    原文:DES加密和解密PHP,Java,ObjectC统一的方法 PHP的加解密函数 <?php class DesComponent { var $key = '12345678'; func ...

  5. 使用Blend的一些问题

    原文:使用Blend的一些问题 WPF开发,界面处理首选Blend,如果你开发了两年WPF都没接触过blend(当然这种几率不高),或者你刚接触WPF,可以考虑使用Blend,这货也算得上一个神器,上 ...

  6. 基于Qt语音识别功能

    基于在最近的研究Qt语音识别平台下.在此记录12 首先,语音识别做三件事 1.记录用户的语音文件到本地 2.将用户语音编码 使用flac或者speex进行编码 3.使用第三方语音识别API或者SDK进 ...

  7. redis修改的源代码zincrby,hincrby命令

    在项目中大量使用zincrby命令.究其原因是统计一些统计指标的日志值,和需要返回到顺序topn. 通常情况下,.调用一次的指示器zincrby(zincrby default:type 1 type ...

  8. 经典HTML5小游戏 支持各种浏览器 (围住神经猫)

    源码地址: http://files.cnblogs.com/files/liujing379069296/MyCat.rar 插件地址:http://files.cnblogs.com/files/ ...

  9. 浏览器扩展系列————异步可插入协议(pluggable protocol)的实现

    原文:浏览器扩展系列----异步可插入协议(pluggable protocol)的实现 IE中有很多我们比较熟悉的协议,如http,https,mailto,ftp等.当然你也可以实现自己定义的协议 ...

  10. outlook自动备份

    在 这里 下载 http://support.microsoft.com/kb/238782