Springmvc配置文件application.xml 和 spring-servlet.xml

Springmvc配置文件application.xml 和 spring-servlet.xml

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 中的标签中,同时其他的类似定时任务的配置文件等等都是放在这个标签下进行初始化的。

3.2.因为spring-servlet.xml只是 controller 级别的上下文,说白了就是 servlet 级别的初始化,它不涉及到除了转发之外的任何实体,所以它的作用范围仅仅限制在 servlet 级别,所以它的初始化应该是跟spring 的 DispatcherServlet 初始化在一起,所以就是在 表情中初始化的。它有一个默认值就是【/WEB-INF/remoting-servlet.xml 】,注意配置文件的对应的名称是【 servlet-name】-servlet.xml,所以如果你没有给servlet 制定配置文件的位置,并且在默认位置下也没有配置文件,那么系统启动的时候就会报错。

注意:对于 servlet配置文件里面应该初始化的东西,除了视图的解析方式、静态资源文件的存放位置、controller的初始化方式之外,其他的都不应该放在 servlet 配置文件中,应为它只负责 请求的转发,返回结果的解析以及静态资源文件的解析,其他的对象的初始化,定时任务...都不应该放到这个配置文件下进行管理。

复制代码
<?xml version="1.0" encoding="UTF-8"?>

<!--  这个地方默认加载的是系统的变量的配置文件,它们属于是系统级别的配置  -->
<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>

<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>
相关推荐
码农派大星。18 分钟前
MyBatis-Plus快速上手
java·spring·mybatis·mybatisplus
KevinAha41 分钟前
Spring 4.3 源码导读
java·spring
默默无闻的白夜2 小时前
【MyBatis操作数据库】XML配置
xml·数据库·mybatis
YYAugenstern3 小时前
NotePad++中安装XML Tools插件
xml
皮牙子快跑3 小时前
xml去掉命名空间前缀n1
xml·qt·qxmlstream
ChinaRainbowSea4 小时前
4. Spring Cloud Ribbon 实现“负载均衡”的详细配置说明
java·spring boot·后端·spring·spring cloud·ribbon·负载均衡
代码小鑫6 小时前
A035-基于Spring Boot的企业内管信息化系统
java·开发语言·spring boot·后端·spring
武昌库里写JAVA11 小时前
机器学习笔记2 - 机器学习的一般流程
spring boot·spring·毕业设计·layui·课程设计
Ling_suu16 小时前
Spring——单元测试
java·spring·单元测试