最近这段时间重新看了下关于springMVC这一块的东西,发现有些东西以前都忽略了,分阶段整理下。
@RequestMapping("test")
public String test(){
return "test";
}
除此之外该注解还可以写在类上面,如下。此时如果你访问的路径是localhost:8080/SpringMvc/hello/test就会执行下面的方法。在类前面加该注解就有点类似于命名空间的味道了。
@RequestMapping("/hello")
public class HelloWorld {
@RequestMapping("test")
public String test(){
return "test";
}
}
@RequestMapping注解的参数中可能会用到的除了上面的value值之外还有params跟headers。直接看代码吧,先看关于params的。方法里面的params中的"name"表示想要执行这个方法时必须要有name这个参数否则即使你路径是对的也会报错,后面的age!=10表示age这个参数的值不能为10。
@RequestMapping(value="testParm",params={"name","age!=10"})
public String testParm(){
System.out.println("parm1");
return SUCCESS;
}
接下来看看headers的,关于浏览器请求的header如果不了解的话自己去找资料这里就不说了,代码如下,此时想要执行这个方法的话除了路径对之外请求的header也要满足条件。
@RequestMapping(value="testHeader",headers={"Accept-Language=zh-CN,zh;q=0.8,en;q=0.6"})
public String testHeaders(){
System.out.println("tastHeader");
return SUCCESS;
}
@RequestMapping还支持路径映射使用ant风格的通配符,懒得敲了截个图算了。
还有最后一点就是在方法中取得注解配置路径后面的参数值,此时需要用到另外一个注解@PathVariable。代码如下,相信大家都能看懂就不啰嗦。
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id){
System.out.println(id);
return SUCCESS;
}