SpringMVC常用注解
第一个注解
RequestParam注解
作用:把请求中指定名称的参数给控制器中的形参赋值。
属性:value:请求参数中的名称。
required:请求参数中是否有必要提供此数,默认值为true,表示必须提供,如果不提供将报错。
在anno.jsp中
<a href="anno/testRequestParam?name=哈哈">RequestParam</a>
在AnnoController.java中
@RequestMapping("/testRequestParam") public String testRequestParam(@RequestParam(name="name") String username) { System.out.println(username); return "success"; }
第二个注解
RequestBody
作用:
作用:
用于获取请求体内容。直接使用得到是key=value&key=value...结构的数据
get请求方式不使用。get请求没有请求体
第三个注解
PathVariable
作用:
用于绑定url中的占位符。例如请求url中/delete/{id},这个{id}就是url占位符。
url支持占位符是spring3.0之后加入的。是springmvc支持rest风格URL的一个重要标志。
属性:
value:用于指定url中占位符名称。
required:是否必须提供占位符。
我们先来看一下restful编程风格
在anno.jsp中
<a href="anno/testPathVariable/10">testPathVariable</a>
在AnnoController.java中
@RequestMapping("/testPathVariable/{sid}") public String testPathVariable(@PathVariable(name="name") String id) { System.out.println(id); return "success"; }
第四个注解
HiddentHttpMethodFilter过滤器
作用:由于浏览器form表单只支持GET与POST请求,而DELETE、PUT等method并不支持,
Spring3.0添加了一个过滤器,可以将浏览器请求改为指定的请求方式,发送给我们的控制器方法,
使得支持GET、POST、PUT与DELETE请求。
第五个注解
RequestHeader
作用:用于获取请求消息头
属性:value:提供消息头名称
第六个注解
CookieValue
作用:用于把指定Cookie名称的值传入控制器方法参数。
第七个注解
ModelAttribute
作用:可以用于修饰方法和参数。
出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。
第八个注解
SessionAttributes
作用:用于多次执行控制器方法间的参数共享。