- @RequestMapping注解是用来匹配请求页面到对应处理器的
- @RequestParam可以获取前端传来的参数
- @RequestHeader可以获取请求头信息
- @CookieValue可以获取请求页面的cookie信息
前端jsp
<body>
<a href="springmvc/helloworld">HelloWord</a>
<br/><br/>
<form action="springmvc/testMethod" method="post">
<button type="submit">testMethod</button>
</form><br/>
<a href="springmvc/testParamsAndHeader?username='丁丁'&age=11">testParamsAndHeader</a>
<br/><br/>
<a href="springmvc/testAntPath/dd/abc">testAntPath</a>
<br/><br/>
<a href="springmvc/testPathVariable/1">testPathVariable</a>
<br/><br/>
<a href="springmvc/testRequestParam?username='丁'&password=221121">testRequestParam</a>
<br><br>
<a href="springmvc/testRequestHeader">testRequestHeader</a>
<br><br>
<a href="springmvc/testRequestCookie">testRequestCookie</a>
</body>
处理类
@RequestMapping("/springmvc")
@Controller
public class Handler {
private static String SUCCESS ="success";
/* 请求映射:
* 如果类上有@RequestMapping,那么请求路径是:项目/a+b
* 如果类上没有@RequestMapping,那么请求路径是:项目/b
* */
@RequestMapping("/helloworld")
public String hello(){
System.out.println("来到了处理器");
return SUCCESS;
}
/**
* 指定提交的方法
* 必须是post方式提交*/
@RequestMapping(value="/testMethod",method=RequestMethod.POST)
public String testMethod(){
System.out.println("testMethod");
return SUCCESS;
}
/**
* 指定参数和请求头
* 必须要有username参数;age参数不能为10;请求头必须Host中必须为loalhost*/
@RequestMapping(value="/testParamsAndHeader"
,params={"username","age!=10"}
,headers={"Host=localhost"}
)
public String testParamsAndHeader(){
System.out.println("testParamsAndHeader");
return SUCCESS;
}
/**
ant路径:
?:匹配一个字符
*:匹配多个字符
**:匹配多层路径
*/
@RequestMapping(value="/testAntPath/*/abc")
public String testAntPath(){
System.out.println("testAntPath");
return SUCCESS;
}
/**
* @pathVariable可以映射urlK中的占位符到目标方法的参数中
* 相当于是把参数id和${id}绑定起来了
*/
@RequestMapping(value="/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id){
System.out.println("testPathVariable:"+id);
return SUCCESS;
}
@RequestMapping("/testRequestParam")
public String testRequestParam(
@RequestParam(value="username")String name
,@RequestParam(value="password",required=false,defaultValue="123") int password
){
System.out.println("name:"+name+";age:"+password);
return SUCCESS;
}
/* value:参数名
* required:是否必须
* defaultValue:默认值*/
@RequestMapping("/testRequestHeader")
public String testRequestHeader(
@RequestHeader(value="Accept-Language") String header
){
System.out.println("header:"+header);
return SUCCESS;
}
/*具有的属性跟@RequestParam一样*/
@RequestMapping("/testRequestCookie")
public String testRequestCookie(@CookieValue("JSESSIONID") String cookie){
System.out.println("cookie:"+cookie);
return SUCCESS;
}
/*具有的属性跟@RequestParam一样;只有value可以省略"value"*/
}