@RequestMapping
作用:用于建立请求URL和处理请求方法之间的对应关系。
可以放在方法上也可以放在类上,可以分模块去开发
属性:
value——与path的属性一样,指映射的路径。
path——与value的属性一样
method——决定方法的请求方式
params——指定限制请求参数条件
headers——用于指明发送的请求中必须包含的请求头
@RequestMapping(path = "/hello",method ={RequestMethod.POST},params = {"username"},headers = {"Accept"})
@RequestParam
作用:把请求中指定名称的参数给控制器中的形参赋值
属性:
value——请求参数的名称
required——请求参数中是否必须提供此参数,且参数名一致。默认值:true,表示必须提供,如果不提供将报错。
@RequestBody
作用:用于获取请求体内容。直接使用得到是 key=value&key=value…结构的数据。get请求方式不适用。
属性:
required:是否必须有请求体。默认值为true。当取值为true时,get请求方式会报错,如果值为false,get请求得到的是null。
@PathVariable
作用:用于绑定url中的占位符,例如:请求url中 /delete/{id},这个{id}就是url的占位符。url支持占位符是spring3.0之后加入的。是springmvc支持rest风格URL的一个重要标志。
属性:
value:用于指定url中占位符名称。
required:是否必须提供占位符。
@RequestHeader
作用:用于获取请求消息头。
属性:
value:提供消息头明后名称。
required:是否必须有此消息头。
注:在实际开发中一般不怎么用。
@CookieValue
作用:用于把指定cookie名称的值传入控制器方法参数。
属性:
value:指定cookie的名称
required:是否必须有此cookie
@ModelAttribute
作用:用于修饰方法和参数。出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。他可以修饰没有返回值的方法,也可以修饰具有返回值的方法。
出现在参数上,获取指定的数据给参数赋值。
属性:
value:用于获取数据的key。key可以是POJO的属性名称,也可以是map结构的key。
应用场景:当表单提交数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据。
@SessionAttribute
作用:用于多次执行控制器方法间的参数共享。
属性:
value:用于指定存入的属性名称。
type:用于指定存入的数据类型。