<?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-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <!-- 启用注解 @Controllers -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />

    <!-- 启动SpringMVC的注解功能，完成请求和注解POJO的映射 -->
    <!--spring mvc 升级4.x 修复406报错-->
    <bean id="contentNegotiationManager"
          class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
        <property name="favorPathExtension" value="false"/></bean>
    <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/>
    <context:component-scan base-package="cn.roadm.controller" />

    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**/*.html*" />
            <bean class="cn.roadm.interecptor.LoginHandlerInterceptor" />
        </mvc:interceptor>
        <mvc:interceptor>
            <mvc:mapping path="/**/*.html*" />
            <bean class="cn.roadm.interecptor.UserRightsHandlerInterceptor" />
        </mvc:interceptor>
        <mvc:interceptor>
            <mvc:mapping path="/**/*.html*" />
            <bean class="cn.roadm.interecptor.LogInterceptor" />
        </mvc:interceptor>
    </mvc:interceptors>
    
    <!--对模型视图名称的解析，即在模型视图名称添加前后缀 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/web/" />
        <property name="suffix" value=".jsp" />
        <!-- 如果使用jstl的话，配置下面的属性 -->
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
    </bean>
    
    <!-- 异常处理 -->
    <bean id="exceptionResolver" class="cn.roadm.exceptionResolver.WebExceptionResolver" />
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置上传文件的最大尺寸为500MB -->
        <property name="maxUploadSize">
            <value>5242880000</value>
        </property>
    </bean>

</beans>
