1.请求映射
@RequestMapping("/")
请求映射路径;
类定义处:提供初步的请求映射信息,相对于WEB根目录
方法处定义:细分的请求映射信息,相对于类定义处的URL
@RequestMapping(value = "/testMethod",method = RequestMethod.POST)
处理POST请求;
在JSP处也要标注POST
2.处理器
@Controller
将这个类交给控制器
3.请求参数
@RequestMapping(value = "testParams",method = RequestMethod.POST)
public String testParams(@RequestParam(value="username") String un,@RequestParam(value="age",required = false,defaultValue = "0") int age){
System.out.println("testParams:username1:"+un+" age:"+age);
return INDEX;
}
@RequestParam
required = false 允许不传值,默认为true必须传值
defaultValue = "0" 设置默认值,不设置的话int要改成Integer类型,默认值是null
<form action="/helloworddd/testParams" method="post">
<input type="text" name="username"/>
<input type="text" name="age"/>
<input type="submit" value="testParams"/>
</form>
post提交,name要和@RequestParam注解value值一样
4.映射请求头
@RequestMapping("/testHeader")
public String testHeader(@RequestHeader(value = "accept")String acc){
System.out.println("header"+acc);
return INDEX;
}
用法跟@RequestParam一样
@RequestHeader获取的是请求头的参数内容,@RequestParam获取的是提交的参数内容
5.映射URL的占位符到目标方法的参数中
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id")Integer id) {
System.out.println("id:"+id);
return INDEX;
}
超链接访问:
<a href="/helloworddd/testPathVariable/11111111">testPathVariable</a>
id不能为空
可以在URL中直接传参
6.Rest风格的URL请求参数参数传递:
必须有/
get请求带参传递用?拼接;多个用&拼接
7.@CookieValue绑定请求中的cookie值
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue(value = "JSESSIONID",required = false,defaultValue = "0")String cookie){
System.out.println("cookievalue:"+cookie);
return INDEX;
}