君不见长松卧壑困风霜,时来屹立扶明堂。这篇文章主要讲述web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义相关的知识,希望能为你提供帮助。
web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义2015-09-12 18:04 18451人阅读评论(0)收藏举报
文章图片
分类: 【web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义】版权声明:本文为博主原创文章,未经博主允许不得转载。
在我们进行 spring-servlet 进行开发的时候,经常会遇到配置文件配置的问题,要彻底的解决这个问题,我们需要了解 springMVC 设计的基本架构
1.SpringMVC 的配置分为两部分 application.xml 和 spring-servlet.xml
2.两个配置文件的作用和配置位置
2.1.application.xml :对应的是系统级别的配置,作用范围是系统上下文。
2.2.spring-servlet.xml:对应的是 controller 级别的配置,作用范围是控制层上下文。
3.它们在web.xml 中的配置
3.1.因为 application.xml 是系统级别的上下文,所以它的初始化需要放到 web.xml 中的< context-param> 标签中,同时其他的类似定时任务的配置文件等等都是放在这个标签下进行初始化的。
3.2.因为spring-servlet.xml只是 controller 级别的上下文,说白了就是 servlet 级别的初始化,它不涉及到除了转发之外的任何实体,所以它的作用范围仅仅限制在 servlet 级别,所以它的初始化应该是跟spring 的 DispatcherServlet 初始化在一起,所以就是在 < servlet> 表情中初始化的。它有一个默认值就是【/WEB-INF/remoting-servlet.xml 】,注意配置文件的对应的名称是【 servlet-name】-servlet.xml,所以如果你没有给servlet 制定配置文件的位置,并且在默认位置下也没有配置文件,那么系统启动的时候就会报错。
注意:对于 servlet配置文件里面应该初始化的东西,除了视图的解析方式、静态资源文件的存放位置、controller的初始化方式之外,其他的都不应该放在 servlet 配置文件中,应为它只负责 请求的转发,返回结果的解析以及静态资源文件的解析,其他的对象的初始化,定时任务...都不应该放到这个配置文件下进行管理。
[html] view plain copy
- < ?xml version="1.0" encoding="UTF-8"?>
- < web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- version="3.0" metadata-complete="true">
- < !-- 这个地方默认加载的是系统的变量的配置文件,它们属于是系统级别的配置 -->
- < context-param>
- < param-name> contextConfigLocation< /param-name>
- < param-value>
- classpath:spring/application.xml.xml,
- classpath:spring/spring-quartz.xml
- < /param-value>
- < /context-param>
- < context-param>
- < param-name> webAppRootKey< /param-name>
- < param-value> webapp.root< /param-value>
- < /context-param>
- < listener>
- < listener-class> org.springframework.web.util.WebAppRootListener< /listener-class>
- < /listener>
- < !-- < context-param>
- < param-name> logbackConfigLocation< /param-name>
- < param-value> classpath:conf/logback.xml< /param-value>
- < /context-param> -->
- < !-- < listener>
- < listener-class> xorg.springframework.web.util.LogbackConfigListener< /listener-class>
- < /listener> -->
- < listener>
- < listener-class> com.cloudFarmHDAPI.admin.listener.SystemListener< /listener-class>
- < /listener>
- < !-- 这个地方加载的是 servlet 的变量的配置文件,它们属于 controller 级别的配置
- 1.如果不配置这个 servlet-context.xml 的配置文件位置,
- 那么默认就会去/WEB-INF/servlet-context.xml 下面去寻找这个文件
- 2.如果配置了这个位置,那么它就会去制定位置加载文件
- -->
- < servlet>
- < servlet-name> appServlet< /servlet-name>
- < servlet-class> org.springframework.web.servlet.DispatcherServlet< /servlet-class>
- < init-param>
- < param-name> contextConfigLocation< /param-name>
- < param-value> classpath:spring/servlet-context.xml< /param-value>
- < /init-param>
- < load-on-startup> 1< /load-on-startup>
- < /servlet>
- < servlet-mapping>
- < servlet-name> appServlet< /servlet-name>
- < url-pattern> /< /url-pattern>
- < /servlet-mapping>
- < !-- charactor encoding -->
- < filter>
- < filter-name> encodingFilter< /filter-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>
- < /filter>
- < filter-mapping>
- < filter-name> encodingFilter< /filter-name>
- < url-pattern> /*< /url-pattern>
- < /filter-mapping>
- < !-- shiro security filter -->
- < filter>
- < filter-name> shiroSecurityFilter< /filter-name>
- < filter-class> org.springframework.web.filter.DelegatingFilterProxy< /filter-class>
- < init-param>
- < param-name> targetFilterLifecycle< /param-name>
- < param-value> true< /param-value>
- < /init-param>
- < /filter>
- < filter-mapping>
- < filter-name> shiroSecurityFilter< /filter-name>
- < url-pattern> /*< /url-pattern>
- < dispatcher> REQUEST< /dispatcher>
- < dispatcher> FORWARD< /dispatcher>
- < dispatcher> ERROR< /dispatcher>
- < /filter-mapping>
- < session-config>
- < session-timeout> 60< /session-timeout>
- < /session-config>
- < welcome-file-list>
- < welcome-file> index.htm< /welcome-file>
- < /welcome-file-list>
- <
/web-app>
推荐阅读
- Android view的测量及绘制
- Android 插件之类加载器
- Android源代码下载过程中无法下载repo的解决方法
- Android表情开发
- Android教学用例程序LBS 2 - 功能设计与实现
- 阅读《Android 从入门到精通》(15)——数字时钟
- 自建APP ,互联网创业的必备技能!
- AppiumLibrary用户关键字
- Android界面实现使用PagerTabStrip实现有滑动标签的Viewpager