@RequestMapping的可选参数

value:表示需要匹配的url的格式。
method:表示所需处理请求的http 协议(如get,post,put,delete等),可选值为RequestMethod这个enum的值。
params:格式为”paramname=paramvalue” 或 “paramname!=paramvalue”。不带参数则表示paramvalue可以为任意值。
如params = {"param1=1","param2!=2","param3"},表示对应的url必须包括param1,param2,param3三个参数,其中param1的值必须为1,param2的值不能为2,param3的值可以为任意值。
headers:用来限定对应的reqeust请求的headers中必须包括的内容,例如
headers={"Connection=keep-alive"}, 表示请求头中的connection的值必须为keep-alive。
使用@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元素封装后的对象 HttpServletRequest/response/HttpSession等原始的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中@requesMapping的可配置参数和标注的处理方法的可选参数的更多相关文章

  1. Spring MVC中 log4j日志文件配置相对路径

    log4j和web.xml配置webAppRootKey 的问题 1 在web.xml配置 <context-param>  <param-name>webAppRootKey ...

  2. Spring MVC中forward请求转发2种方式(带参数)

    Spring MVC中forward请求转发2种方式(带参数) http://www.51gjie.com/javaweb/956.html  

  3. Spring MVC 中的基于注解的 Controller【转】

    原文地址:http://my.oschina.net/abian/blog/128028 终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 H ...

  4. Spring MVC中基于注解的 Controller

         终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法以响 ...

  5. Spring MVC 中的基于注解的 Controller(转载)

           终于来到了基于注解的 Spring MVC 了.之前我们所讲到的 handler,需要根据 url 并通过 HandlerMapping 来映射出相应的 handler 并调用相应的方法 ...

  6. Spring MVC 中的 forward 和 redirect

    Spring MVC 中,我们在返回逻辑视图时,框架会通过 viewResolver 来解析得到具体的 View,然后向浏览器渲染.假设逻辑视图名为 hello,通过配置,我们配置某个 ViewRes ...

  7. Spring MVC中各个filter的用法

    转载:http://blog.csdn.net/qyp1314/article/details/42023725 Spring MVC中各个filter的用法 2014-12-19 09:08 105 ...

  8. Spring MVC中的HandlerMapping与HandlerAdapter

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  9. Spring mvc 中使用 kaptcha 验证码

    生成验证码的方式有很多,个人认为较为灵活方便的是Kaptcha ,他是基于SimpleCaptcha的开源项目.使用Kaptcha 生成验证码十分简单并且参数可以进行自定义.只需添加jar包配置下就可 ...

随机推荐

  1. 解决win8内置管理员无法激活此应用

    解决win8内置管理员无法激活此应用 方法/步骤   在运行中输入:“gpedit.msc”,就会启动组策略编辑器.   依次展开“计算机配置”里面的 “Windows设置” “安全设置” “本地策略 ...

  2. 如何开启解决android studio的模拟器的问题

    来自:http://jingyan.baidu.com/article/03b2f78c0a19e75ea237ae24.html 有的时候因为电脑系统或者是安装的一些问题我们可能需要对症下药的解决模 ...

  3. 创建新的Cocos2dx 3.0项目并解决一些编译问题

    转载请注明出处:http://blog.csdn.net/cywn_d/article/details/25775019 假设是原来使用cocos2dx 2.x要升级到3.0的项目,可能须要替换coc ...

  4. MSI failed, 不能卸载VMware

    解决方法; http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&ext ...

  5. Oracle中索引的使用 索引性能优化调整

    索引是由Oracle维护的可选结构,为数据提供快速的访问.准确地判断在什么地方需要使用索引是困难的,使用索引有利于调节检索速度. 当建立一个索引时,必须指定用于跟踪的表名以及一个或多个表列.一旦建立了 ...

  6. OpenCV学习(22) opencv中使用kmeans算法

    kmeans算法的原理参考:http://www.cnblogs.com/mikewolf2002/p/3368118.html 下面学习一下opencv中kmeans函数的使用.      首先我们 ...

  7. 混沌数学之二维logistic模型

    上一节讲了logistic混沌模型,这一节对其扩充一下讲二维 Logistic映射.它起着从一维到高维的衔接作用,对二维映射中混沌现象的研究有助于认识和预测更复杂的高维动力系统的性态.通过构造一次藕合 ...

  8. Composite 组合模式 树 递归 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  9. Redis自学笔记 --Hash、List、Set类型简述

    Hash类型                                                                                    hset key f ...

  10. [Node.js]23. Level 4: Semantic versioning

    Update the versions on your dependencies to be a little more flexible, adding the ~ in front of your ...