<mvc:annotation-driven/>相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean;
其中AnnotationMethodHandlerAdapter已经默认了4个HtrpMessageConvert, 如下:
StringHttpMessageConverter;
ByteArrayHttpMessageConverter;
SourceHttpMessageConverter;
XmlAwareFormHttpMessageConverter;
当然如果需要其他的信息转换可以自行配置,如下我的配置,当然有些是没有用到,这里只是一个事例:
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
<bean id="mappingJacksonHttpMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=utf-8</value>
</list>
</property>
</bean>
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter"></bean>
<bean id="byteArrayHttpMessageConverter" class="org.springframework.http.converter.ByteArrayHttpMessageConverter"></bean>
<bean id="bufferedImageHttpMessageConverter" class="org.springframework.http.converter.BufferedImageHttpMessageConverter"></bean>
<bean id="sourceHttpMessageConverter" class="org.springframework.http.converter.xml.SourceHttpMessageConverter"></bean>
<bean id="xmlAwareFormHttpMessageConverter" class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"></bean>
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 -->
<ref bean="stringHttpMessageConverter"/>
<ref bean="byteArrayHttpMessageConverter"/>
<ref bean="bufferedImageHttpMessageConverter"/>
<ref bean="sourceHttpMessageConverter"/>
<ref bean="xmlAwareFormHttpMessageConverter"/>
</list>
</property>
</bean>
<!--
这里如果启用这个驱动程序会出错的,因为annotation-driven包括【DefaultAnnotationMethodHandlerAdapter,AnnotationMethodHandlerAdapter】
其中AnnotationMethodHandlerAdapter的默认配置没有 MappingJacksonHttpMessageConverter这个消息转换,而且启用改配后直接安照默认的配置转换信息
因此会出错
-->
<!-- 开启注解
<mvc:annotation-driven/>
-->
相关推荐
1. **配置顺序**:Spring MVC按照注册拦截器的顺序执行它们,如果`<mvc:annotation-driven />`配置在拦截器之后,那么可能会导致拦截器无法正常工作,因为Spring可能已经处理了请求,而没有交给拦截器。 2. **命名...
`mvc:annotation-driven`是一个Spring MVC的XML配置元素,它简化了对注解驱动的控制器的支持。通过使用这个元素,我们可以启用Spring MVC自动扫描并处理带有`@Controller`注解的类,以及类中的`@RequestMapping`、`@...
首先,`mvc:annotation-driven`是一个XML配置元素,它简化了对Spring MVC应用中注解驱动功能的配置。通过添加这个元素,我们无需手动注册如`HandlerMapping`、`HandlerAdapter`、`ConversionService`、`Validator`等...
首先,`<mvc:annotation-driven/>`的作用是自动配置Spring MVC,启用对处理方法注解的支持,如`@RequestMapping`、`@RequestParam`、`@ModelAttribute`等。通过这个元素,我们可以避免编写大量的XML配置,转而采用...
深入源码分析,`<mvc:annotation-driven />` 是Spring MVC中用于启用注解驱动的配置元素,它会自动配置一些关键组件,包括消息转换器。`MvcNamespaceHandler` 是处理这个注解的命名空间处理器,而`...
`mvc:annotation-driven`则是开启Spring MVC的注解驱动,支持我们在Controller方法上使用@RequestMapping等注解。 除了基本配置,我们还可以配置拦截器(Interceptor)、异常处理器(HandlerExceptionResolver)...
总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`<mvc:annotation-driven>`元素之前。通过上述方法,可以有效地...
在这个配置中,`<context:component-scan>`扫描指定包下的注解组件,`<mvc:annotation-driven/>`启用注解驱动的MVC功能。 通过以上讲解,你应该对Spring MVC的注解驱动有了初步的理解。这个入门小例子可以帮助你...
在XML配置中,我们需要声明`DispatcherServlet`并配置`<mvc:annotation-driven>`以启用注解驱动: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
<mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /...
<mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> ...
而`<mvc:annotation-driven>`元素则启用了Spring MVC对注解的支持,如@RequestMapping等,让我们的控制器可以使用注解进行方法映射。 现在让我们了解一下注解在Spring MVC中的作用。`@Controller`注解标记一个类为...
例如,`<mvc:annotation-driven>`元素用于启用基于注解的控制器支持,这意味着Spring MVC会自动扫描并处理带有`@Controller`注解的类。而`<context:component-scan>`则用于扫描指定包下的所有类,自动发现带有`@...
14. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 15. 16. <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> 17. <bean class="org....
-- 启用Spring MVC的注解驱动功能 --> <mvc:annotation-driven/> <!-- 视图解析器配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value...
<mvc:annotation-driven/> <!-- 配置处理器映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 配置处理器适配器 --> <bean class="org...
- **修正方式**:根据Spring 3.0的规范,`mvc:annotation-driven`元素可以采用空元素的形式,即`<mvc:annotation-driven/>`。如果需要添加自定义的配置,可以使用`mvc:annotation-driven`标签加上相应的子元素。题目...
<mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> ...
### Spring MVC框架详解:Spring注解的运用与配置 #### 引言 Spring MVC作为Spring框架中的一个重要模块,提供了一套构建Web应用的声明式、灵活的架构。它基于DispatcherServlet,这是一种高度可配置的、面向接口...
<mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" ...