1. view-controller 直接跳转页面
副作用: @RequestMapping 注解失效
<!--可以直接转发页面, 无需经过 handler 的方法-->
<mvc:view-controller path="/success" view-name="success"/>
解决方法
<!--配置此标签即可-->
<mvc:annotation-driven></mvc:annotation-driven>
2. default-servlet-handler 处理静态资源
副作用: @RequestMapping 注解失效
使用默认的servlet
来处理请求
<!--解决静态资源文件无法访问问题-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>
解决方法
<!--配置此标签即可-->
<mvc:annotation-driven></mvc:annotation-driven>
3. 一个神奇的标签 annotation-driven
- 可以有效的解决 @RequestMapping 注解失效的问题
- 自定义类型转换时需使用该标签
- 作用:
<mvc:annotation-driven/>
会注册RequestMappingHandlerMapping
、RequestMappingHandlerAdapter
与ExceptionHandlerExceptionResolver
三个bean。- 还将提供以下支持:
- 支持使用ConversionService 实例对表单参数进行类型转换
- 支持使用@NumberFormat annotation、@DateTimeFormat
注解完成数据类型的格式化
*支持使用@Valid 注解对JavaBean 实例进行JSR 303 验证 - 支持使用@RequestBody 和@ResponseBody 注解
<!--开发中需配置此标签 ——>标配-->
<mvc:annotation-driven ></mvc:annotation-driven>
4. 自定义拦截器标签
自定义拦截器时使用此标签
<mvc:interceptors>
<!--自定义拦截器-->
<bean class="com.maven.interceptors.FirstIntercept"/>
<mvc:interceptor>
<!--包含的路径-->
<mvc:mapping path="/test"/>
<!--不包含的路径 顺序不能颠倒 -->
<mvc:exclude-mapping path="/login"/>
<bean class="com.maven.interceptors.SecondInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>