spring-mvc.xml文件配置------略全

该配置文件主要描述了SpringMVC的组件扫描,配置了Controller的扫描路径,内部资源视图解析器用于处理JSP视图,处理器映射器和消息转换器负责请求和响应的处理。同时,还设置了注解驱动,资源访问规则,自定义转换服务以及文件上传解析器的限制。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--Controller的组件扫描-->
    <context:component-scan base-package="com.itheima.controller"/>
    <context:component-scan base-package="com.itheima">
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

    <!--配置内部资源视图解析器-->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- /jsp/success.jsp-->
        <property name="prefix" value="/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <!--配置处理器映射器-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
            </list>
        </property>
    </bean>

    <!--mvc的注解驱动-->
    <mvc:annotation-driven conversion-service="conversionService"/>

    <!--开发资源的访问-->
    <mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:default-servlet-handler/>

    <!--声名转换器-->
    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
        <property name="converters">
            <list>
                <bean class="com.itheima.converter.DateConverter"></bean>
            </list>
        </property>
    </bean>

    <!--配置文件上传解析器-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="maxUploadSize" value="500000"/>
    </bean>
</beans>

### spring-mvc.xml 配置文件的作用及功能 `spring-mvc.xml` 是 Spring MVC 框架中的核心配置文件之一,主要用于定义与 Web 层相关的组件及其行为。以下是该文件的主要作用和功能: #### 1. 定义处理器映射 (Handler Mappings) `spring-mvc.xml` 可用于声明处理器映射器,这些映射器负责将请求 URL 映射到相应的控制器类或方法。常见的处理器映射器包括 `BeanNameUrlHandlerMapping` 和 `RequestMappingHandlerMapping`[^2]。 #### 2. 注册视图解析器 (View Resolvers) 为了实现模型数据向视图层的转换,`spring-mvc.xml` 中通常会注册视图解析器(如 `InternalResourceViewResolver` 或 `ThymeleafViewResolver`)。这使得框架能够根据逻辑视图名找到实际的物理资源文件,例如 JSP 页面或 Thymeleaf 模板[^1]。 ```xml <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> ``` #### 3. 配置拦截器 (Interceptors) 通过 `spring-mvc.xml`,可以设置一组拦截器来处理特定路径下的请求预处理和后处理操作。这种机制常用于日志记录、权限验证等功能[^2]。 ```xml <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.example.MyInterceptor"/> </mvc:interceptor> </mvc:interceptors> ``` #### 4. 启用注解驱动开发模式 启用基于注解的支持是现代 Spring MVC 应用程序的重要特性之一。此过程可以通过 `<mvc:annotation-driven>` 标签完成,从而简化 Controller 方法参数绑定以及 JSON/XML 数据交互的过程。 ```xml <mvc:annotation-driven/> ``` #### 5. 处理静态资源访问 如果项目中有大量的 CSS、JavaScript 或图片等公共资源,则可以在 `spring-mvc.xml` 中指定如何高效地提供此类资源的服务[^2]。 ```xml <mvc:resources mapping="/static/**" location="/resources/static/"/> ``` #### 6. 支持文件上传功能 当应用程序需要支持大文件传输时,在 `pom.xml` 添加依赖项的同时也需要调整 `spring-mvc.xml` 来适配 multipart 请求解析需求。 ```xml <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置最大允许上传大小 --> <property name="maxUploadSize" value="10485760"/> <!-- 10MB --> </bean> ``` 综上所述,`spring-mvc.xml` 不仅承载着整个前端控制流程的核心设定,还直接影响到了应用性能优化和服务扩展能力等方面的表现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值