Spring MVC 中关于 mvc:annotation-driven

<mvc:annotation-driven/>

会自动注册

RequestMappingHandlerMapping、
RequestMappingHandlerAdapter与ExceptionHandlerExceptionResolver三个benn。

还提供一下支持:

  • 支持使用ConversionService 实例对表单参数进行类型转换
  • 支持使用@NumberFormat annotation、@DateTimeFormat注解完成数据类型的格式化
  • 支持使用@Valid注解对JavaBean实例进行JSR303 验证
  • 支持使用@RequestBody 和 @ResponseBody注解 这个是 Ajax用到的

可以在jar包自带的帮助文档看,整理出来就是开头讲的那几个bean。

开始的时候,我们的ConversionService是这样的。

我们去掉conversion-service的配置,debug可以看到。

这个时候看handlerAdapter。有三个。

都注掉,看效果。

看HandlerAdapter。

按照这个断点查看查看源码,就基本懂了这儿mvc:annotation-driven基本是不可或缺,所以我们做项目的时候都要把它配上,已经用到了它的三个功能:
1. 配直接跳转的时候,需要这个配置RequestMapping才继续起作用。
2. 配找到静态资源文件的时候,需要这个RequestMapping才继续起作用。
3. 配ConversionService的时候,需要在这里面加上。才能进行自定义类型转换。

时间: 2024-07-28 12:20:36

Spring MVC 中关于 mvc:annotation-driven的相关文章

Spring 2.5:Spring MVC中的新特性

Spring框架从创建伊始就致力于为复杂问题提供强大的.非侵入性的解决方案.Spring 2.0当中为缩减XML配置文件数量引入定制命名空间功能,从此它便深深植根于核心Spring框架(aop.context.jee.jms. lang.tx和util命名空间).Spring Portfolio项目(例如Spring Security)和非Spring项目中(例如CXF). Spring 2.5推出了一整套注解,作为基于XML的配置的替换方案.注解可用于Spring管理对象的自动发现.依赖注入.

spring mvc中使用post方式请求返回405

问题描述 spring mvc中使用post方式请求返回405 后台处理方法 @RequestMapping(value=""/doLogin"" method=RequestMethod.POST) public ModelAndView doLogin(HttpSession session){ logger.info(""user login.""); session.setAttribute(""U

Spring MVC中基于自定义Editor的表单数据处理技巧分享_java

面向对象的编程方式极大地方便了程序员在管理数据上所花费的精力.在基于Spring MVC的Web开发过程当中,可以通过对象映射的方式来管理表单提交上来的数据,而不用去一个一个地从request中提取出来.另外,这一功能还支持基本数据类型的映射.例如in.long.float等等.这样我们就能从传统单一的String类型中解脱出来.然而,应用是灵活的.我们对数据的需求是千变万化的.有些时候我们需要对表单的数据进行兼容处理. 例如日期格式的兼容: 中国的日期标注习惯采用yyyy-MM-dd格式,欧美

Spring MVC中的MultiActionController用法详解

Spring MVC 中 Controller 的层次实在是多,有些眼花缭乱了 .在单个的基础上,再新加两三个叫做丰富,再多就未必是好事, 反而会令人缩手新闻片脚,无从定夺.多数 Controller 都是只完 成一个任务,不过也有一个像 Struts 的 DispatchAction 的那样 的 Conntroller, org.springframework.web.servlet.mvc.multiaction.MultiActio nController,意即在一个 Controller

spring MVC中获取request和response

spring MVC中获取request和response: Java代码   HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();                   HttpServletResponse response = ((ServletRequestAttributes) RequestContextHol

jsp页面传值在spring mvc中的controller中的获取

问题描述 jsp页面传值在spring mvc中的controller中的获取 <% Seller seller =(Seller)session.getAttribute("sellerinfo"); %> <form action="<%=basePath%>plmanage/updateSeller.do" method="post"> <input type="hidden"

Http请求中Content-Type讲解以及在Spring MVC中的应用

引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息. Content-Type MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息. [html] view pl

springmvc-页面中js跳转URL,与spring mvc中返回视图重定向,先后问题

问题描述 页面中js跳转URL,与spring mvc中返回视图重定向,先后问题 页面中有javascript函数: function mySubmitFn() { /*formname是页面form表单的名字,表单提交后由spring mvc处理,返回一个重定向视图'return new ModelAndView(new RedirectView("A.jsp"));'*/ formname.submit(); //代码1 window.location.href='B.jsp';/

spring mvc-Spring Mvc 中如何管理脚本及样式

问题描述 Spring Mvc 中如何管理脚本及样式 之前在做 ASP.NET MVC 4 的时候,有 ScriptBundle 和 StyleBundle 来管理优化脚本, 我现在用的 Spring Mvc,有什么么样的方案能满足我以下需求呢. 为一个或一组脚本样式起一个变量名,引入的时候,通过这个变量名就可以引入需要的脚本或样式. 能够实现调试及发布脚本的切换,调试时使用 debug 版本,发布时自动压缩成 min 脚本,文件名带 min,可以 通过 maven 或其他方式进行配置,决定采用