RequestMapping注解
RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系
RequestMapping注解可以作用在方法和类上
- 作用在类上:第一级的访问目录
- 作用在方法上:第二级的访问目录
- 细节:路径可以不编写 / 表示应用的根目录开始
RequestMapping的属性
- path 指定请求路径的url
- value value属性和path属性是一样的
- mthod 指定该方法的请求方式
- params 指定限制请求参数的条件
RequestParam注解
-
作用:把请求中的指定名称的参数传递给控制器中的形参赋值
-
属性
- value:请求参数中的名称
- required:请求参数中是否必须提供此参数,默认值是true,必须提供
- 代码如下
@Controller
@RequestMapping("/dept")
public class DeptController {
/**
* RequestParam注解
* required = false ,默认值是true,必须要传请求参数,不传就会报错
* defaultValue = "abc" 如果没有传请求参数,使用默认值
* @return
*/
@RequestMapping("/save1.do")
public String save(@RequestParam(value = "username",required = false,defaultValue = "abc") String name){
System.out.println("姓名:"+name);
return "suc";
}
}
RequestBody注解
-
作用:用于获取请求体的内容(注意:get方法不可以)(把前端传的json字符串转对象)
-
属性
- required:是否必须有请求体,默认值是true
-
代码如下
/**
* @return
*/
@RequestMapping("/save2.do")
public String save2(@RequestBody String body){
System.out.println("请求体内容:"+body);
return "suc";
}
PathVaribale注解
-
作用:拥有绑定url中的占位符的。例如:url中有/delete/{id},{id}就是占位符
-
属性
- value:指定url中的占位符名称
-
Restful风格的URL
-
请求路径一样,可以根据不同的请求方式去执行后台的不同方法
-
restful风格的URL优点
- 结构清晰
- 符合标准
- 易于理解
- 扩展方便
-
-
代码如下
@Controller
// @RequestMapping("/emp")
public class EmpController {
/**
* 保存
* @return
*/
@RequestMapping(path = "/emp",method = RequestMethod.POST)
public String save(){
System.out.println("保存员工...");
return "suc";
}
/**
* 查询所有
* @return
*/
@RequestMapping(path = "/emp",method = RequestMethod.GET)
public String findAll(){
System.out.println("查询员工...");
return "suc";
}
/**
* 查询所有
* @return
*/
@RequestMapping(path = "/emp/{id}",method = RequestMethod.GET)
public String findById(@PathVariable(value = "id") Integer id){
System.out.println("通过id查询员工..."+id);
return "suc";
}
}
RequestHeader注解
-
作用:获取指定请求头的值
-
属性
- value:请求头的名称
-
代码如下
/**
* RequestHeader 获取请求头的值
* @return
*/
@RequestMapping("/save3.do")
public String save3(@RequestHeader(value = "Accept") String header){
System.out.println("Accept请求头的值:"+header);
return "suc";
}
CookieValue注解
-
作用:用于获取指定cookie的名称的值
-
属性
- value:cookie的名称
-
代码
/**
* CookieValue 获取到cookie中的值
* @return
*/
@RequestMapping("/save4.do")
public String save4(@CookieValue(value = "JSESSIONID") String cookie){
System.out.println("值:"+cookie);
return "suc";
}