web.xml加载spring配置文件的方式主要依据该配置文件的名称和存放的位置不同来区别,目前主要有两种方式。

1.如果spring配置文件的名称为applicationContext.xml,并且存放在WEB-INF/目录下,那么只需要在web.xml中加入以下代码即可

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

该监听器会自动扫描WEB-INF/ 下的applicationContext.xrnl 文件,这种方式多数用在只有一个配置文件的情况下。
还可以使用Spring的ContextLoaderServlet的这个特殊Servlet,实现代码如下:

<!--spring3.0之后不再支持此种方式,所以推荐使用上面那种方式-->
<servlet>
  <servlet-name>context</servlet-name>
  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-name>
  <load-on-startup>1(比较小的数字就可以)</load-on-startup>
</servlet>

上面的两种方式都可以,不过二者有一些区别。

2.如果spring配置文件的名称是自定义的其他名称,比如为applicationContext-test.xml,也还是存放在WEB-INF/目录下,那么还需要配置contextConfigLocation这个参数,该参数是一个字符串,监听器或者Servlet会自定将该字符串按照特定的字符(比如空格、逗号、分号)解析成多个文件。需要添加如下代码:

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/application-testA.xml,/WEB-INF/application-testB.xml,/WEB-INF/application-testB.xml</param-value>
</context-param>

如果上面嫌得麻烦,可以使用通配符对上面进行简写如下

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/application*.xml</param-value>
</context-param>

然后再加入以上的监听器或者servlet代码就可以。

3.如果既没有applicationContext.xml 文件,也没有使用contextConfigLocation参数确定配置文件,或者contextConfigLocation确定的配置文件不存在。都将导致Spring 无法加载配置文件或无法正常创建ApplicationContext 实例.

转载:http://www.cnblogs.com/zjhs/archive/2012/10/26/2741228.html

spring的配置文件在web.xml中加载的方式的更多相关文章

  1. Spring中,applicationContext.xml 配置文件在web.xml中的配置详解

    一.首先写一下代码结构. 二.再看web.xml中的配置情况. <?xml version="1.0" encoding="UTF-8"?> < ...

  2. spring 和springmvc 在 web.xml中的配置

    (1)问题:如何在Web项目中配置Spring的IoC容器? 答:如果需要在Web项目中使用Spring的IoC容器,可以在Web项目配置文件web.xml中做出如下配置: <!-- Sprin ...

  3. Web项目中加载Spring配置的常用方法

    1.web.xml中添加配置 <web-app>      <context-param>         <param-name>contextConfigLoc ...

  4. web.xml的加载过程配置详解

      一:web.xml加载过程 简单说一下,web.xml的加载过程.当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有 ...

  5. web.xml文件加载顺序

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  6. web.xml 的加载过程

    初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...

  7. web.xml 配置 加载顺序

    web.xml 的加载顺序是:context-param -> listener -> filter -> servlet . 过滤器执行顺序是根据filter-mapping ,不 ...

  8. web.xml的加载过程是context-param >> listener >> fileter >> servlet

    web.xml的加载过程是context-param >> listener  >> fileter  >> servlet

  9. Spring:在web.xml正确加载spring配置文件的方式

    web.xml加载spring配置文件的方式主要依据该配置文件的名称和存放的位置不同来区别,目前主要有两种方式. 1. 如果spring配置文件的名称为applicationContext.xml,并 ...

随机推荐

  1. 语音02_Delphi

    网址 :http://www.exceletel.com/support/whtpapers/speech/delphi.htm Installing the Microsoft SAPI speec ...

  2. c# 判断一个ip通不通 能不能ping通

    方法一: 已经证实能用的. using System; using System.Collections.Generic; using System.ComponentModel; using Sys ...

  3. 开启 cmd cmder 代理

    win10安装了ShadowSocks软件,浏览器通过代理后就可以***,但有时候需要通过cmd科学下载安装一些组件,就需要设置一下cmd的代理 cmd如果要设置代理的话,需要在执行其他命令之前,先执 ...

  4. python中常见的日期换算

    time模块提供各种操作时间的函数  说明:一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的       第二种 ...

  5. 包--R In Action

    1.4 包R提供了大量开箱即用的功能,但它最激动人心的一部分功能是通过可选模块的下载和安装来实现的.目前有2500多个①称为包(package)的用户贡献模块可从http://cran.r-proje ...

  6. wpf设置字体颜色渐变和字体阴影

    <StackPanel Orientation="Horizontal" Grid.Column="1" HorizontalAlignment=&quo ...

  7. ural 2016 Magic and Science

    2016. Magic and Science Time limit: 1.0 secondMemory limit: 64 MB Scientists who specialize in witch ...

  8. lr中检查点的使用web_find()和web_reg_find()的区别

    web_find()和web_reg_find()的区别:1. 这两个函数函数类型不同,web_find()是普通函数,web_reg_find()是注册函数;2. VU run time设置中的 “ ...

  9. linux(ubuntu16.04)下安装和破解pycharm专业版

    我用的linux 版本是ubuntu,查看版本命令是: lsb_release -a 因为学习Python爬虫,pycharm是Python很好用的IDE,但是专业版需要付费,所以开始安装: 首先在官 ...

  10. 开始学Python

    怎么说,整体还是比较愚昧的.不知道该干什么,大学里学过C++,C语言,忘的差不多了.毕业了做的是SAP,自学过一段JAVA.总是东一榔头西一棒子,借口还是多. 那就说一些现状嘛,语言重在的是应用这个方 ...