一、 访问请求、URI、URL、请求参数 四者的区别
一个完整的请求路径:http://www.test.com/user/031267/view?username=zhangsan&age=20
请求URL (requestURL)= http://www.test.com/user/031267/view
请求URI (requestURI)= /user/031267/view
请求参数(queryString)= username=zhangsan&age=20
二、注解区别
1、@PathVariable: 映射 URL 绑定的占位符, 能使传过来的参数绑定到路由上。
@PathVariable 可以将 URL 中 占位符参数
绑定到控制器处理 方法的入参 中:
URL 中的 { xxx }
占位符可以通过 @PathVariable("xxx")
绑定到操作方法的入参中。
请求路径 : http://www.test.com/user/031267/view?username=zhangsan&age=20
请求URL : http://www.test.com/user/031267/view
@RequestMapping(value = "/user/{userid}/view") //占位符 userid
public String view ( @PathVariable("userid") String userid){
//@PathVariable 中指定 userid
System.out.println("userid= "+userid); //此处可以获取:userid= 031267
return SUCCESS;
}
2、@RequestParam :获取request请求参数中的值
请求路径:http://www.test.com/user/query?username=zhangsan&age=20
请求参数:username=zhangsan&age=20
@RequestMapping(value = "/user/query")
public String query(@RequestParam(value="username") String username) {
System.out.println("username = " + username); //此处打印:username = zhangsan
return SUCCESS;
}
@RequestParam有三个配置参数:
required