1.reqestMapping
①作用
用于建立请求url和处理请求方法之间的对应关系
②源码
可以放在方法上(请求url的二级访问目录),也可以放在类上(作为一级目录,便于按照功能模块化管理。)
③属性
只有一个请求参数的时候,value/path可以省略
method;示例
2.RequestParam
①作用
把请求中指定名称的参数给控制器中的形参赋值。
②属性
value:请求参数中的名称。
required:请求参数中是否必须提供此参数,默认值:true,标识必须提供,不提供会报错。
3.RequestBody
①作用
用于获取请求体内容。直接使用得到的是key=value&key=value…结构的数据。
get请求方式不适用。
②属性
required:是否必须有请求体。默认是:true。当取值为true时,get请求方式会报错。如果取值是false,请求到的是null。
4.PathVaribale
①作用
用于绑定url中的占位符。例如:请求url中/delete/{id},这个{id}就是url占位符。url支持占位符是spring3.0之后加入的。是springmvc支持rest风格url的一个重要标识。
②属性
value:用于指定url中占位符名称
required:是否必须提供占位符
【拓展】restful风格
①什么是rest
②restful的优点
结构清晰、符合标准、易于理解、扩展方便。
③restful的特征
资源(Resource):网络上的一个实体,或者说是网络上的一个具体信息。
它可以是一段文本、一张图片、一首歌曲、一种服务。是一个具体的存在。可以用一个url(统一资源定位符)指向它,每种资源对应一个特定的url。
要获取这个资源,访问它的url就可以。url是每个资源唯一性的标识符。
表现层(Representation):把资源具体呈现出来的形式。
比如:文本可以用txt格式表现,也可用html、json、xml格式表现。
状态转换(State Transfer):格e每发出一个请求,就代表客户端和服务端的一次交互过程。
HTTP协议,是一个无状态协议,所有的状态都保存在服务端。如果客户端想要更多操作服务器。必须通过某种手段,让服务器发生“状态转换”(State Transfer)。而这种转换是建立在表现层之上的,所以就是“表现成状态转化”。具体说,就是http协议里面,四个标识操作方式的动词:GET(获取资源)、 POST(新建资源) PUT(更新资源) DELETE(删除资源)
@RequestMapping("/testPathVariable/{sid}")
public String testPathVariable(@PathVariable(name="sid") String id){
System.out.println(id);
return "success";
}
<a href="anno/testPathVariable/10">testPathVariable</a>