<mvc:annotation-driven>会自动注册RequestMappingHandlerMapping与RequestMappingHandlerAdapter两个Bean,这是Spring MVC为@Controller分发请求所必需的,并且提供了数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持读写XML的支持(JAXB)和读写JSON的支持(默认Jackson)等功能。
使用该注解后的springmvc-config.xml:
<!-- spring 可以自动去扫描 base-package下面的包或子包下面的Java文件,如果扫描到有Spring的相关
注解的类,则把这些类注册为Spring的bean -->
<context:component-scan base-package="org.fkit.controller"/>
<!--设置配置方案 -->
<mvc:annotation-driven/>
<!--使用默认的Servlet来响应静态文件-->
<mvc:default-servlet-handler/>
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix">
<value>/WEB-INF/content/</value>
</property>
<!-- 后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
=============================================================
我们使用SpringMVC时,尤其是刚刚开始学习使用,经常会跟官方文档学。写一个标签就搞定了SpringMVC。Why???
<mvc:annotation-driven ></mvc:annotation-driven>
- 1
那么到底他做了什么??很多人不知道哟!!!
<!--
<mvc:annotation-driven ></mvc:annotation-driven>
-->
<!-- 上面的标签相当于 如下配置-->
<!-- Begin -->
<!-- HandlerMapping -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping "></bean>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>
<bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter "></bean>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- HadnlerExceptionResolvers -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver "></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver"></bean>
<bean class="org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver"></bean>
<!-- End -->
上面的配置也说明,这些Bean是不需要写name、id属性的。他们是会被以类型的形式提供给DispatcherServlet使用。
相关推荐
首先,我们需要理解`<mvc:annotation-driven />`的作用。它是Spring MVC配置中的一个便捷元素,用于自动配置基于注解的控制器(@Controller)和数据绑定、异常处理等特性。它会开启对HTTP请求方法(如GET、POST)的...
在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...
在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...
首先,`<mvc:annotation-driven/>`的作用是自动配置Spring MVC,启用对处理方法注解的支持,如`@RequestMapping`、`@RequestParam`、`@ModelAttribute`等。通过这个元素,我们可以避免编写大量的XML配置,转而采用...
总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`<mvc:annotation-driven>`元素之前。通过上述方法,可以有效地...
- **XML配置文件**:题目中提到的异常信息提示`mvc:annotation-driven`元素没有子元素,这是由于`mvc:annotation-driven`的配置方式不正确所致。 - **修正方式**:根据Spring 3.0的规范,`mvc:annotation-driven`...
`<mvc:annotation-driven>`则启用了Spring MVC的注解支持。 最后,`web.xml`是应用的部署描述符,配置`DispatcherServlet`以便处理所有HTTP请求: ```xml <web-app> <servlet-name>dispatcher</servlet-name> ...
`mvc.dtd`是Spring MVC模块的DTD文件,提供了如`<mvc:annotation-driven>`、`<mvc:view-controller>`等元素,用于声明式地配置控制器、视图解析等。 `oxm.dtd`涉及对象/XML映射(Object/XML Mapping),如JAXB或...
<mvc:annotation-driven/> <!--视图解析--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ...
深入源码分析,`<mvc:annotation-driven />` 是Spring MVC中用于启用注解驱动的配置元素,它会自动配置一些关键组件,包括消息转换器。`MvcNamespaceHandler` 是处理这个注解的命名空间处理器,而`...
例如,`<mvc:annotation-driven>`元素用于启用基于注解的控制器支持,这意味着Spring MVC会自动扫描并处理带有`@Controller`注解的类。而`<context:component-scan>`则用于扫描指定包下的所有类,自动发现带有`@...
- `<mvc:annotation-driven>`:启用SpringMVC注解驱动,这是使用SpringMVC框架的基本配置之一。 - `<mvc:message-converters>`:指定要使用的消息转换器。 - `<ref bean="mappingJackson2HttpMessageConverter"/>...
3. 配置转换器:在Spring MVC配置中,你可以通过`<mvc:annotation-driven>`标签启用数据绑定和类型转换功能,并可以自定义转换器的优先级或添加新的转换器。 ```xml <mvc:annotation-driven> <mvc:converters> <!...
首先,我们来看`<mvc:annotation-driven/>`标签,它是Spring MVC配置中用于启用基于注解的控制器的关键元素。在Spring的内部,这个标签会被`AnnotationDrivenBeanDefinitionParser`解析,进而创建并配置一系列的...
需要在`<mvc:annotation-driven>`或自定义`<bean>`中配置这个消息转换器。 ```xml <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 可以配置特定的ObjectMapper,如果不配置...
Spring MVC的核心配置`<mvc:annotation-driven/>`在解析时,会创建`RequestMappingHandlerMapping`和`RequestMappingHandlerAdapter`这两个关键组件。前者负责将`@RequestMapping`注解的路由信息与控制器方法关联,...
`mvc:annotation-driven`则是开启Spring MVC的注解驱动,支持我们在Controller方法上使用@RequestMapping等注解。 除了基本配置,我们还可以配置拦截器(Interceptor)、异常处理器(HandlerExceptionResolver)...
XSD文件如`spring-mvc.xsd`定义了Spring MVC配置的元素和属性,例如`<mvc:annotation-driven>`用于启用基于注解的控制器,`<bean>`定义了一个可被Spring管理的Bean。 2. **Spring AOP**: Spring AOP模块提供了...
</mvc:annotation-driven> ``` 5. 测试:现在,当客户端向 `/person` URL发起GET请求时,Spring MVC会将`getPerson`方法返回的`Person`对象自动转换为JSON格式并返回给客户端。 在提供的`JavaJson`压缩包中,...
2. **`<mvc:annotation-driven>`**: 此元素启用Spring MVC对注解的处理,使得我们可以在控制器类的方法上使用像@RequestMapping这样的注解来处理HTTP请求。它还提供了数据绑定、转换服务、验证等特性。 3. **`...