`

Spring MVC 学习笔记 六 Handler Method的可用参数

 
阅读更多

使用@requesMapping标注的处理函数包括的可选参数,除了HttpServletRequest, HttpServletResponse, HttpSession这些web应用中常见的参数及之前提到过的@PathVariable外,还可以包括以下可选的参数,其中大部分参数的顺序没有特殊要求的。

 

 

java.util.Locale

当前请求所属的区域设置。

 

java.io.InputStreamjava.io.Reader

用来读取request content,相当于  request.getInputStream()request.getReader();

 

java.io.OutputStreamjava.io.Writer

用来生成reponse content,相当于response.getOutputStream()response.getWriter()

 

java.security.Principal

当前认证了的用户

 

WebRequestNativeWebRequest

Spring request,response,sessionweb元素封装后的对象

 

java.util.Map  org.springframework.ui.Modelorg.springframework.ui.ModelMap

用来存放domain modelmap结构。

 

HttpEntity<?>

可用来读取http请求的header body内容,注意因为httpentity,@RequestBodyReader这三种类型的参数都是通过inputstram来读取httpbody的数据的,而inputstream流不能反复读取,因此这三种类型的参数不能放在一起使用。而且在没有设置content-type或没有设置相应的messageconverter的情况下,都会报错。

 

Command  form objects

通过spring databinding机制将request请求中的参数自动转换为对应的java bean实例。

 

ErrorsBindingResult

commandform objects值的校验结果。此参数必须紧跟在需校验的commandform 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中创建了一个键值为ooxxmodel attribute

@ModelAttribute User u  User u

modelmap中创建了一个键值为usermodel attribute

分享到:
评论

相关推荐

    Spring MVC— 处理器(Handler)方法的返回值.docx

    该演示项目是在“Spring MVC使用篇”系列文章之前的项目工程的基础上搭建的,因此依赖的基础jar包于第二篇文章中已经介绍过了(点击链接即可查看:Spring MVC使用篇(二)—— 环境搭建),这里便不再赘述。

    Spring MVC 学习笔记

    2、 DispatcherServlet把请求转交给HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器对象、多个HandlerInterceptor拦截器)对象.(后面会学习到拦截器) 3、 ...

    Spring MVC 入门实例

    11 &lt;bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"&gt; 12 13 14 &lt;prop key="/hello.do"&gt;helloController 15 16 17 18 19 20 &lt;!-- 21 22 --&gt; ...

    asp.net mvc handler

    asp.net mvc handler

    spring-ext-handler-mapping.rar_ext_spring ext_spring mvc

    扩展spring地址方法映射,让spring MVC开发更简便

    基于Spring MVC 和 WxJava 实现的微信公众号Java后端Demo

    本Demo使用Spring MVC 框架实现微信公众号开发功能。 本项目为WxJava的Demo演示程序,更多Demo请 查阅此处。 如果想支持多公众号,请参考spring boot版本的demo:...

    spring-rest-exception-handler, 一个方便的RESTful api Spring MVC 异常.zip

    spring-rest-exception-handler, 一个方便的RESTful api Spring MVC 异常 spring REST异常处理程序 这个项目的目的是为for提供一个方便的异常处理程序( 解析器),它满足了错误响应的最佳实践。 处理自定义异常。...

    spring mvc 3.2 参考文档

    Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置...

    spring mvc + Mina 配置部署

    之前的项目需要用到mina,实现的功能主要是:服务端主动发送消息到客户端,这个的服务端为外网的...当然,我这里的服务端是整合的了spring 的,也可以直接把服务端独立出来,不整合spring,这个都一样,区别不大。

    Spring MVC简介.docx

    Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图。

    Spring MVC 员工管理系统

    Spring为展现层提供了一个优秀的Web框架——Spring MVC。和众多其它Web框架一样,它基于MVC设计理念,此外,由于它采用了松散耦合可插拔组件结构,具有比其它MVC框架更多的扩展性和灵活性。 Spring MVC框架围绕...

    springmvc demo

    Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发...

    第三课:spring mvc 原理深度解析1

    3、HandlerAdapter详解这里spring mvc 采用适配器模式来适配调用指定Handler,根据Handler的不同种类采用不同的Adapter,

    spring4 websocket聊天室 Handler方式

    采用最新的spring4 0 0 spring4 websocket聊天室 Handler方式

    android_handler学习笔记

    Handler在android里负责发送和处理消息。它的主要用途有(或者是干什么的):  1)执行计划任务,按计划(定时)发送消息或执行某个Runnanble(使用POST方法);  2)线程间通信,把从其他线程中发送来的消息放入消息...

    spring mvc

    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异步消息处理)

    xamarin学习笔记A13(安卓Handler异步消息处理)Android中只能在主线程进行UI操作,不能在子线程操作,要根据子线程执行的结果来更新UI时,需要用到安卓异步消息处理机制。

    看透springMvc源代码分析与实践

    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

    spring boot exception handler.zip

    Netty4.0学习笔记系列之四:混合使用coder和handler

    NULL 博文链接:https://bijian1013.iteye.com/blog/2340636

Global site tag (gtag.js) - Google Analytics