一个较完整的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. MongoDB初学者的配置环境和基础设施的使用

    一个.mongoDB安装 1.第一MongoDB官方网站下载安装包http://www.mongodb.org/. 依照自己的操作系统进行下载. 2.在硬盘上建立两个文件夹分辨存放mongoDB安装文 ...

  2. SAE+Java+jetty

    SAE的java执行环境jetty如servlet该容器,和开放几乎完全访问.有效支持各种jar包.但对于jdk的要件的版本号是非常严格格,这里的版本号是jdk1.6 SAE利用上传war该方式配置j ...

  3. Linux GPIO 注册和应用

    Linux GPIO 注册和应用 Linux Kernel, GPIO, ARM 于Linux kernel代码.经常使用 GPIO 作为一个特殊的信号,如芯片片选信号. GPIO 功能应用,我们经常 ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2 ...

  5. php_中替换换行符

    //php 有三种方法来解决 //1.使用str_replace 来替换换行 $str = str_replace(array("\r\n", "\r", &q ...

  6. 从头开始学JavaScript (八)——变量

    原文:从头开始学JavaScript (八)--变量 一.变量分类: 基本类型值:null.undefined.number.string.Boolean: 引用类型值:保存在内存中的对象,如:Obj ...

  7. mysql_SQL_按照日统计微博数

    主要备忘: DATE_FORMAT 函数 1:微博对比图(按日统计) SELECT DATE_FORMAT(tw.article_publish_time, '%Y-%m-%d'),count(pag ...

  8. ArcGIS Runtime SDKs v10.2.4最新(Android、iOS、OSX和.NET)

    ArcGIS Runtime SDKs v10.2.4最新,它包含:Android.iOS.OS X和.NET四大平台,用户和开发人员可以登录Esri最新的SDK安装包.或者通过云盘下载(http:/ ...

  9. Google Maps API Web Services

    原文:Google Maps API Web Services 摘自:https://developers.google.com/maps/documentation/webservices/ Goo ...

  10. POJ 2492 并查集应用的扩展

    A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 28651 Accepted: 9331 Descri ...