1.@PathVariable,获取/sumbit/{id}/{id2} 中的id和id2
@RequestMapping("/sumbit/{id}/{id2}")
public ModelAndView sumbit(@PathVariable(name = "id")String id,@PathVariable(name = "id2")String id2,String username,String password,String[] hobby) {
System.out.println("用户名:"+username+",密码:"+password);
for(String h :hobby) {
System.out.println(h);
}
System.out.println(id+","+id2);
return null;
}
<body>
<form action="sumbit/12/13" method="post">
用户名:<input name="username"/><br/>
密码:<input name="password"/><br/>
爱好:篮球<input name="hobby" value="篮球" type="checkbox"/>
舞蹈<input name="hobby" value="舞蹈" type="checkbox"/>
足球<input name="hobby" value="足球" type="checkbox"/>
钢琴<input name="hobby" value="钢琴" type="checkbox"/>
小提琴<input name="hobby" value="小提琴" type="checkbox"/>
古筝<input name="hobby" value="古筝" type="checkbox"/>
<br/>
<input type="submit" value="提交"/>
</form>
</body>
结果:
2.@RequestParam,获取 sumbit?name=test 中的test
@RequestMapping("/sumbit")
public ModelAndView sumbit2(String username,String password,String[] hobby,@RequestParam(name="name")String nameVal) {
System.out.println("用户名:"+username+",密码:"+password);
for(String h :hobby) {
System.out.println(h);
}
System.out.println("name的值:"+nameVal);
return null;
}
<body>
<form action="sumbit?name=test" method="post">
用户名:<input name="username"/><br/>
密码:<input name="password"/><br/>
爱好:篮球<input name="hobby" value="篮球" type="checkbox"/>
舞蹈<input name="hobby" value="舞蹈" type="checkbox"/>
足球<input name="hobby" value="足球" type="checkbox"/>
钢琴<input name="hobby" value="钢琴" type="checkbox"/>
小提琴<input name="hobby" value="小提琴" type="checkbox"/>
古筝<input name="hobby" value="古筝" type="checkbox"/>
<br/>
<input type="submit" value="提交"/>
</form>
</body>
结果:
3.方法中输入参数@RequestBody
用不了呀,报415,查了一下说是没有对json格式进行解析,请求中提交的实体并不是服务器所支持的格式,所以请求被拒绝。
那@RequestBody 应该怎么用呢?https://www.cnblogs.com/leeego-123/p/10336828.html
postman还不知道是什么
还有 写在方法上面的注释:@GetMapping,@PostMapping,@RequestMapping有什么区别?
3.1@RequestBody,是参数注解。接收前端传来的json格式的数据,会自动转成javabean
处理ContentType不为application/x-www-form-unlencoded的数据,比如application/json,主要用于将前端传来json格式的数据转换成javabean
用@RequestBody时用postman测试,postman是用于网页调试和模拟发送http请求的Chrome插件,几乎支持所有类型的http请求
@PostMapping("/sumbit3")
public String sumbit3( @RequestBody Person p) {
return "";
}
在Body里面写上json格式
{
"username","张三",
"password","123456"
}
再在Header里面加入key:Content-Type,Value:application/json
3.2@ResponseBody,是方法注解,写在方法上面,表示传给前端的数据是javabean转成的json格式
4.获取请求头参数以及cookie
@RequestMapping("/sumbit4")
public ModelAndView sumbit4(@RequestHeader(name = "Accept") String myHeader) {
System.out.println(myHeader);
return null;
}
结果:
@CookieValue(name = "Cookie") String Cookie
5.requestmapping和GetMapping和PostMapping区别
6.@DeleteMapping,方法注解,使用delete方式进行交互
8中请求方式:Get,Post,Delete,Put,Trace,Options,Connect,Head
7.@RestController和@Controller的区别,都是类注释
@Controller表示这个类中方法可以返回json格式也可以返回视图(页面)
@RestController表示这个类中的方法只能返回Json格式,不能返回视图(页面)