@RequestMapping
指定请求的路径
-
path :路径
-
method:请求的方法。{RequestMethod.GET,RequestMethod.POST}
-
params:指定请求中的参数。params = {"username"}
-
headers:用于指定限制请求消息头的条件。headers ={"Accept"} 表示请求头要有Accept参数
@RequestParam
把请求中的指定名称的参数传递给控制器中的形参赋值. testRequestParam(@RequestParam(name = "name",required = true) String username)
-
value:请求参数中的名称
-
required:请求参数中是否必须提供此参数,默认值是true,必须提供
@RequestBody注解
用于获取请求体的内容(注意:get方法不可以)saveUser(@RequestBody String body)
- required:是否必须有请求体,默认是true
@PathVariable
拥有绑定url中的占位符的。例如:url中有/delete/{id},{id}就是占位符.
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") String id){}
- value:指定url中的占位符名称
@RequestHeader
获取请求头中的参数
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader("Cookie") String header){
System.out.println(header);
return "success";
}
@CookieValue
用于获取指定cookie的名称的值
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("JSESSIONID") String header){
System.out.println(header);
return "success";
}
@ModelAttribute
/*
ModelAttribute注解
作用
出现在方法上:表示当前方法会在控制器方法执行前线执行。
出现在参数上:获取指定的数据给参数赋值。
应用场景
当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据。
*/
@RequestMapping("/testModelAttribute")
public String testModelAttribute(@ModelAttribute("abc") User user){
System.out.println(user);
return "success";
}
/**
* ModelAttribute注解
* 会在RequestMapping注解执行之前执行
*/
// @ModelAttribute
public void showUser(String uname, Map<String,User> map){
User user = new User();
user.setUname(uname);
user.setAge(18);
user.setDate(new Date());
map.put("abc",user);
System.out.println("showUser方法执行了。。。"+user);
}
@SessionAttributes
把值存入session中
@Controller
@RequestMapping("sessionAttribute")
@SessionAttributes(names = {"name"})//把name的值存到session域对象中一份
public class SessionAttributeController {
/**
* 存值
* @param model
* @return
*/
@RequestMapping("testPut")
public String testPut(Model model){
String name = "张三";
model.addAttribute("name",name);
System.out.println("put:" + name);
return "success";
}
/**
* 取值
* @param modelMap
* @return
*/
@RequestMapping("testGet")
public String testGet(ModelMap modelMap){
String name = (String) modelMap.get("name");
System.out.println("get:" + name);
return "success";
}
/**
* 删除
* @param status
* @return
*/
@RequestMapping("testDel")
public String testDel(SessionStatus status){
status.setComplete();
System.out.println("delete session");
return "success";
}
}