前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Spring MVC中,applicationContext.xml [ServletName]-servlet.xml配置文件在web.xml中的配置详解Spring MVC中,applicatio

Spring MVC中,applicationContext.xml [ServletName]-servlet.xml配置文件在web.xml中的配置详解Spring MVC中,applicatio

作者头像
一个会写诗的程序员
发布于 2018-08-20 02:54:29
发布于 2018-08-20 02:54:29
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

Spring MVC中,applicationContext.xml [ServletName]-servlet.xml配置文件在web.xml中的配置详解

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- spring 配置 --><servlet><servlet-name>swork</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>swork</servlet-name><url-pattern>/*</url-pattern></servlet-mapping>

这样配置,SpringMVC会自动按照约定去找<servlet-name>swork</servlet-name>的swork-servlet.xml配置文件作为其servlet配置文件.

如果是显式指定Springmvc-servlet.xml, 加上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<init-param> <param-name>contextConfigLocation</param-name> <!-- <param-value>classpath*:config/Springmvc-servlet.xml</param-value> --> <param-value>/WEB-INF/classes/config/Springmvc-servlet.xml</param-value></init-param>

如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- <param-value>classpath*:config/Springmvc-servlet.xml</param-value> --> <param-value>/WEB-INF/classes/config/Springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

看web.xml中的配置情况。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <!-- <param-value>classpath*:config/applicationContext.xml</param-value> --> <param-value>/WEB-INF/classes/config/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- <param-value>classpath*:config/Springmvc-servlet.xml</param-value> --> <param-value>/WEB-INF/classes/config/Springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>

三、下面是对配置文件的说明。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

ContextLoaderListener是Spring的监听器,它的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<context-param> <param-name>contextConfigLocation</param-name> <!-- <param-value>classpath*:config/applicationContext.xml</param-value> --> <param-value>/WEB-INF/classes/config/applicationContext.xml</param-value> </context-param>

这段配置是用于指定applicationContext.xml配置文件的位置,可通过context-param加以指定: 这里需要搞清楚classpath是什么,以及classpath:和classpath*有何区别:

  1. 首先 classpath是指 WEB-INF文件夹下的classes目录
  2. classpath 和 classpath* 区别: classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.

如果applicationContext.xml配置文件存放在src目录下,就好比上面的代码结构中的存放位置,那么在web.xml中的配置就如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>

如果applicationContext.xml配置文件存放在WEB-INF下面,那么在web.xml中的配置就如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/applicationContext*.xml</param-value> </context-param>

需要注意的是,部署到应用服务器后,src目录下的配置文件会和class文件一样,自动copy到应用的 classes目录下,spring的 配置文件在启动时,加载的是web-info目录下的applicationContext.xml, 运行时使用的是web-info/classes目录下的applicationContext.xml。因此,不管applicationContext.xml配置文件存放在src目录下,还是存放在WEB-INF下面,都可以用下面这种方式来配置路径:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/applicationContext*.xml</param-value> </context-param>

当有多个配置文件加载时,可采用下面代码来配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
![复制代码](http://upload-images.jianshu.io/upload_images/1233356-61a1170cf5642d48.gif?imageMogr2/auto-orient/strip)
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:conf/spring/applicationContext_core*.xml, classpath*:conf/spring/applicationContext_dict*.xml, classpath*:conf/spring/applicationContext_hibernate.xml,...... </param-value> </context-param>
[图片上传中。。。(4]

也可以用下面的这种方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:**/applicationContext-*.xml</param-value> </context-param>

"/"表示的是任意目录; "/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。 Spring配置文件最好以"applicationContext-"开头,且最好把所有Spring配置文件都放在一个统一的目录下,也可以分模块创建。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.01.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
这段配置是用于指定applicationContext.xml配置文件的位置,可通过context-param加以指定:
全栈程序员站长
2022/09/13
1.9K0
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
spring报错parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/150721.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/28
8960
spring报错parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]「建议收藏」
<context-param>的contextConfigLocation以及DispatcherServlet的contextConfigLocation
< listener-class > org.springframework.web.context.ContextLoaderListener listener-class >
全栈程序员站长
2022/09/13
2010
使用Web.xml配置SpringMvc(同时使用xml配置文件)
一、配置web.xml <!--设置根上下文配置文件位置--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <!--注册ContextLoaderListener--> <listener> <l
凡人飞
2020/09/21
1.1K0
开发文档 web.xml基本配置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
多凡
2019/11/01
3400
springmvc配置文件web.xml详解各方总结(转载)
Spring分为多个文件进行分别的配置,其中在servlet-name中如果没有指定init-param属性,那么系统自动寻找的spring配置文件为[servlet-name]-servlet.xml。
yaohong
2019/09/11
2.6K0
SSM整合开发xml配置文件内容springmvc-config/application/web
SSM(spring-springmvc-mybatis)整合开发xml配置文件内容springmvc-config.xml,application.xml,web.xml
洋仔聊编程
2019/01/15
1.1K0
整合Spring和SpringMVC
  Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器中,无法访问SpringMVC容器中定义的Bean。在Web开发中,Controller全部在SpringMVC中扫描,除了Controller之外的Bean,全部在Spring容器中扫描(Service、Dao),按这种方式扫描,扫描完完成后,Controller可以访问到Service。
用户4919348
2019/04/02
6590
整合Spring和SpringMVC
web.xml基本配置。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
用户1220053
2018/04/17
6650
springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置
一个web项目,启动的时候,容器这里指的是tomcat这种,会首先读取web.xml配置文件里面的配置
noteless
2018/09/11
9980
springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置
Web.xml配置说明
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149544.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
6930
使用web.xml配置SpringMvc(使用Java加载配置)
一、配置web.xml <!--使用Java配置--> <context-param> <param-name>contextClass</param-name> <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> </context-param> <!--指定根配置类--> <cont
凡人飞
2020/09/20
1.1K0
web.xml文件的作用及基本配置
Java的web工程中的web.xml文件有什么作用呢?它是每个web工程都必须的吗?
bear_fish
2018/09/19
1.6K0
spring、springmvc整合web的web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
用户2409797
2018/08/30
1.3K0
Spring MVC之基于xml配置的web应用构建
直接用SpringBoot构建web应用可以说非常非常简单了,在使用SpringBoot构建后端服务之前,一直用的是Spring + SpringMVC基于xml的配置方式来玩的,所以在正式进入SpringBoot Web篇之前,有必要看一下不用SpringBoot应该怎么玩的,也因此方便凸显SpringBoot的优越性
一灰灰blog
2019/05/26
5240
spring开发中applicationContext.xml和web.xml解决中文乱码问题
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
Tom2Code
2022/04/15
7420
好好编程-物流项目07【SpringMVC整合】
  前面介绍完了mybatis和Spring的整合,接下来介绍下SpringMVC的整合。
用户4919348
2019/04/02
3310
好好编程-物流项目07【SpringMVC整合】
IntelliJ IDEA 中的 Maven 项目初体验及搭建 Spring MVC 框架
在「详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法」一文中,我们已经将 IntelliJ IDEA 中的 Maven 项目的框架搭建完成。接着上文,在本文中,我们更近一步,利用 Tomcat 运行我们的 Web 项目。
CG国斌
2018/04/29
2.3K4
IntelliJ IDEA 中的 Maven 项目初体验及搭建 Spring MVC 框架
Spring contextConfigLocation[通俗易懂]
spring如何使用多个xml配置文件 1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applicationContext.xml文件. 例如: <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:conf/spring/applicationContext_core*.xml, classpath*:conf/spring/applicationContext_dict*.xml, classpath*:conf/spring/applicationContext_hibernate.xml, </param-value> </context-param> contextConfigLocation 参数定义了要装入的 Spring 配置文件。 原理:利用ServletContextListener 实现。 Spring 提供ServletContextListener 的一个实现类ContextLoaderListener ,该类可以作为listener 使用,它会在创建时自动查找WEB-INF/ 下的applicationContext.xrnl 文件。因此,如果只有一个配置文件,并且文件名为applicationContext.xml ,则只需在web.xml文件中增加如下代码即可: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
全栈程序员站长
2022/07/02
7290
Spring MVC之基于xml配置的web应用构建
直接用SpringBoot构建web应用可以说非常非常简单了,在使用SpringBoot构建后端服务之前,一直用的是Spring + SpringMVC基于xml的配置方式来玩的,所以在正式进入SpringBoot Web篇之前,有必要看一下不用SpringBoot应该怎么玩的,也因此方便凸显SpringBoot的优越性
一灰灰blog
2019/03/17
1.1K0
Spring MVC之基于xml配置的web应用构建
推荐阅读
相关推荐
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文