1.RequestParam:
jsp页面请求参数:
<a href="/anno/testRequestParam?uname=haha&&ps=123456">RequestParam</a>
处理器方法
//常用注解
@Controller
@RequestMapping("anno")
public class annoController {
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(name = "uname") String username,@RequestParam("ps") String password){
System.out.println("执行了");
System.out.println(username+" "+password);
return "success";
}
2.RequestBody
3.PathVariable
4.RequestHeader
5.CookieValue
6.modelAttribute
例:User 对象有两个成员变量 uname 和 age ,我们在页面上只提交uname ,我们新建一个方法,然后使用@modelAttribute 使其在输出User信息之前把age变量给赋上值
JSP页面只提交了uname属性
<%--4.ModelAttribute--%>
<form action="/anno/showUser" method="post">
用户名:<input type="text" name="uname">
<input type="submit" value="提交">
</form>
//@ModelAttribute()修饰的testModelAttribute 会率先执行,新建一个User对象并将age的值设置为24并返回,则testShowUser方法接收的User便是testModelAttribute方法返回的User
@RequestMapping(value = "/showUser")
public String testShowUser(User cheng){
System.out.println("showUser执行了" +cheng);
return "success";
}
//@ModelAttribute注解修饰的方法会在调用方法前执行,为后面的testShowUser 补全User的值
@ModelAttribute()
public User testModelAttribute(String uname){
System.out.println("ModelAttribute注解修饰的方法会在调用方法前执行");
User u = new User();
u.setUname(uname);
u.setAge(24);
return u;
}
7.SessionAtributes
<%--5.SessionAttributes--%>
<a href="/anno/testSessionAttributes">SetSessionAttributes</a>
</br>
<%--5.SessionAttributes--%>
<a href="/anno/getSessionAttributes">GetSessionAttributes</a>
</br>
//向requestscope中添加数据
@RequestMapping("/testSessionAttributes")
public String testSessionAttributes(Model model){
System.out.println("在requestscope中添加了一条信息");
model.addAttribute("msg","这是一条信息");
return "success";
}
//在sessionscope中获取数据
@RequestMapping("/getSessionAttributes")
public String getSessionAttributes(ModelMap modelMap){
System.out.println("在sessionscope中获取数据");
System.out.println(modelMap.get("msg"));
return "success";
}