1 处理器适配器和处理器映射器
1.1 方式一(单独配置)
<!-- 单独配置处理器映射器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
<!-- 单独配置处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
1.2 方式二(注解驱动)
<!-- 配置注解驱动:可以自动加载处理器映射器和处理器适配器,因此可以代替上述单独配置处理器映射器和处理器适配器 -->
<mvc:annotation-driven />
2 视图解析器
配置逻辑视图的前缀和后缀,可以简写一点controller类方法中的代码
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置逻辑视图的前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置逻辑视图的后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
3 转换器(自定义参数绑定)
3.1 方式一
转换器的id要与注解驱动中conversion-service属性内容一致
<!-- 配置注解驱动 (加上了转换器)-->
<mvc:annotation-driven conversion-service="conversionService"/>
<!-- 转换器的配置(方式1) -->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.itykd.converter.DateConverter"/>
</set>
</property>
</bean>
3.2 方式二
该方式需要独立配置处理器映射器和处理器适配器,不再使用注解驱动的方式
<!-- 转换器的配置(方式2) -->
<!-- 该方式需要独立配置处理器映射器和处理器适配器,不再使用注解驱动的方式 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitialzer" ref="customBinder"/>
</bean>
<!-- 自定义webBinder -->
<bean id="customBinder" class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="conversionService" ref="conversionService"/>
</bean>
<!-- 转换器配置 -->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.itykd.converter.DateConverter"/>
</set>
</property>
</bean>
4 异常处理器
<!-- 配置全局异常处理器 -->
<bean id="customHandleException" class="com.itykd.exception.CustomHandleException"/>
5 文件上传解析器
<!-- 配置文件上传解析器:id必须为multipartResolver-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置文件上传大小 -->
<property name="maxUploadSize" value="500000"/>
</bean>
6 json转换器
没有使用注解驱动时,需要配置,如果使用注解驱动,无需配置
<!--处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
7 拦截器
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 所有的请求都进入拦截器 -->
<mvc:mapping path="/**" />
<!-- 配置具体的拦截器 -->
<bean class="com.itykd.web.interceptor.MyInterceptor1" />
</mvc:interceptor>
</mvc:interceptors>