使用@requesMapping标注的处理函数包括的可选参数,除了HttpServletRequest, HttpServletResponse, HttpSession这些web应用中常见的参数及之前提到过的@PathVariable外,还可以包括以下可选的参数,其中大部分参数的顺序没有特殊要求的。
java.util.Locale
当前请求所属的区域设置。
java.io.InputStream或java.io.Reader
用来读取request content,相当于 request.getInputStream()或request.getReader();
java.io.OutputStream或java.io.Writer
用来生成reponse content,相当于response.getOutputStream()或response.getWriter()。
java.security.Principal
当前认证了的用户
WebRequest或NativeWebRequest
Spring 对request,response,session等web元素封装后的对象
java.util.Map 或 org.springframework.ui.Model或org.springframework.ui.ModelMap
用来存放domain model的map结构。
HttpEntity<?>
可用来读取http请求的header和 body内容,注意因为httpentity,@RequestBody,Reader这三种类型的参数都是通过inputstram来读取httpbody的数据的,而inputstream流不能反复读取,因此这三种类型的参数不能放在一起使用。而且在没有设置content-type或没有设置相应的messageconverter的情况下,都会报错。
Command 或 form objects
通过spring 的databinding机制将request请求中的参数自动转换为对应的java bean实例。
Errors或BindingResult
对command或form objects值的校验结果。此参数必须紧跟在需校验的command或form object参数后面。因为databinding可以允许将输入参数和多个java bean 进行绑定(也就是说我们可以把输入request param转换成为多个java 对象)。
SessionStatus
Session的状态。当使用@SessionAttributes来标注请求需要session中对应的值时,在处理结束时,使用SessionStatus. setComplete()来将session设置为时效。
@RequestParam
将request参数和handler method参数做绑定。例如
@RequestParam(value="username",defaultValue="winzip",required=false) String name
表示将request中的username参数和handler method中的name参数绑定,缺省值为”winzip”,request请求中可以不传递此参数
@RequestHeader
将handler method中的参数与request header中的值绑定,例如
@RequestHeader(required=false,value="User-Agent") String ua
表示将header中的"User-Agent"与ua这个入参绑定。
@RequestBody
将handler method中的参数与request context body中的值绑定
例如
@RequestBody String u
表示将request body中的内容与u这个入参绑定。
@CookieValue
将handler method中的参数与cookie中的值绑定
例如
@CookieValue(value="JSESSIONID",required=false) String jssionid
@ModelAttribute
将handler method中的参数与对应的类型绑定,名称缺省为类名(首字母小写),如果ModelAttribute指定了值则以该值作为model attribute name。
例如
@ModelAttribute("ooxx") User u
则在modelmap中创建了一个键值为ooxx的model attribute。
@ModelAttribute User u 或 User u
在modelmap中创建了一个键值为user的model attribute
相关推荐
该演示项目是在“Spring MVC使用篇”系列文章之前的项目工程的基础上搭建的,因此依赖的基础jar包于第二篇文章中已经介绍过了(点击链接即可查看:Spring MVC使用篇(二)—— 环境搭建),这里便不再赘述。
2、 DispatcherServlet把请求转交给HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器对象、多个HandlerInterceptor拦截器)对象.(后面会学习到拦截器) 3、 ...
11 <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 12 13 14 <prop key="/hello.do">helloController 15 16 17 18 19 20 <!-- 21 22 --> ...
asp.net mvc handler
扩展spring地址方法映射,让spring MVC开发更简便
本Demo使用Spring MVC 框架实现微信公众号开发功能。 本项目为WxJava的Demo演示程序,更多Demo请 查阅此处。 如果想支持多公众号,请参考spring boot版本的demo:...
spring-rest-exception-handler, 一个方便的RESTful api Spring MVC 异常 spring REST异常处理程序 这个项目的目的是为for提供一个方便的异常处理程序( 解析器),它满足了错误响应的最佳实践。 处理自定义异常。...
Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置...
之前的项目需要用到mina,实现的功能主要是:服务端主动发送消息到客户端,这个的服务端为外网的...当然,我这里的服务端是整合的了spring 的,也可以直接把服务端独立出来,不整合spring,这个都一样,区别不大。
Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。
Spring为展现层提供了一个优秀的Web框架——Spring MVC。和众多其它Web框架一样,它基于MVC设计理念,此外,由于它采用了松散耦合可插拔组件结构,具有比其它MVC框架更多的扩展性和灵活性。 Spring MVC框架围绕...
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发...
3、HandlerAdapter详解这里spring mvc 采用适配器模式来适配调用指定Handler,根据Handler的不同种类采用不同的Adapter,
采用最新的spring4 0 0 spring4 websocket聊天室 Handler方式
Handler在android里负责发送和处理消息。它的主要用途有(或者是干什么的): 1)执行计划任务,按计划(定时)发送消息或执行某个Runnanble(使用POST方法); 2)线程间通信,把从其他线程中发送来的消息放入消息...
The Spring Web model-view-controller (MVC) framework is designed around a DispatcherServlet that dispatches requests to handlers, with configurable handler mappings, view resolution, locale and theme ...
xamarin学习笔记A13(安卓Handler异步消息处理)Android中只能在主线程进行UI操作,不能在子线程操作,要根据子线程执行的结果来更新UI时,需要用到安卓异步消息处理机制。
13.6.1 HandlerMethod199 13.6.2 InvocableHandlerMethod203 13.6.3 ServletInvocableHandler-Method205 13.7 HandlerMethodArgumentResolver207 13.8 HandlerMethodReturnValue-Handler218 13.9 小结221 第14...
spring boot exception handler.zip
NULL 博文链接:https://bijian1013.iteye.com/blog/2340636