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>
相关推荐
Knight_AL2 小时前
别把 ThreadLocal 写进 Jackson Serializer
java·spring boot·spring
paopaokaka_luck2 小时前
校园新闻推荐系统(DeepSeek新闻助手、个性化推荐算法、 Redis热词排行榜、ECharts运营分析、互动与实时通知、新闻运营闭环)
java·spring boot·mysql·spring·tomcat·echarts·intellij idea
凤山老林2 小时前
从零搭建企业 OAuth2 授权中心:Spring Boot 集成 Spring Authorization Server 与
数据库·spring boot·spring
流烟默3 小时前
Spring Boot 异常响应被序列化为 XML 的排查与修复
xml·spring boot·后端
mmsx3 小时前
Android 地图上绘制 KML:解析、样式与渲染
android·xml
骑着蜗牛撵大象3273 小时前
Spring AI + Qwen3.8 周报助手:从事项采集到人工确认卡的闭环实战
人工智能·spring·elasticsearch·自动化·大模型应用·qwen3.8·rag溯源
java资料站4 小时前
十四、Spring AI Alibaba · 案例 · 基于 HumanInTheLoop 的内容审核系统
java·spring·状态模式
杨运交4 小时前
[079][消息模块]基于 Redis Stream 的高可靠消息队列实现——Spring Data Redis 实战解析
数据库·redis·spring
不会C语言的男孩6 小时前
libxml2 源码编译与 XML 读取验证(x86 / ARM)
xml·c语言·嵌入式
java资料站6 小时前
十五、Spring AI Alibaba · 高级 ·Graph
java·人工智能·spring