1.Spring MVC通过分析处理方法的签名,将HTTP请求信息绑定到处理方法的相应入参中。
2.Spring MVC对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。
3.必要时可以对方法及方法入参入参标注相应的注解(@PathVariable,@RequestParam,@RequestHeader等)、Spring MVC框架会将HTTP请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。
一、 使用@RequestParam绑定请求参数
--在处理方法入参处使用@RequestParam可以把请求参数传递给请求方法
-- value : 参数名
-- required : 是否必须。默认为true。表示请求参数中必须包含对应的参数,若不存在,将抛出异常
--defaultValue 设置默认值,当参数没有传过来的时候,参数使用默认值。
@RequestMapping("/handle")
public String handle1(@RequestParam(value="userName",required=false)String userName,
@RequestParam("age")int age){
System.out.println(username+"是:"+age+"岁");
return "success";
}
@RequestMapping("/handle")
public String handle1(@RequestParam(value="userName",required=false)String userName,
@RequestParam(value="age",required=false,defaultValue=0)int age){
System.out.println(username+"是:"+age+"岁");
return "success";
}
二、使用@RequestHeader 绑定请求报头的属性值
请求头包含了若干个属性,服务器可据此获知客户端的信息,通过@RequestHeader即可将请求头中的属性值绑定到处理方法的入参中
用法同@RequestParam一样
@RequestMapping("/handle")
public String handle1(@RequestHeader("Accept-Encoding")String encoding){
System.out.println(username+"是:"+age+"岁");
return "success";
}
三、使用@CookieValue 绑定请求中的Cookie值
用法同@RequestParam一样