我们都知道,在SpringMVC中,一个HTTP请求经过DispatcherServlet需要经过一定的规则才能到达指定的Controller。
SpringMVC给我们提供了多种配置来满足我们的需求。
1.一个url地址
@Controller
public class TestController {
@RequestMapping(value="index.do")
public void index_jsp(Model model){
model.addAttribute("name", "李秋你好");
System.out.println("index.jsp");
}
这个是一个最简单的映射例子,当访问的url为 /index.do 时,即可进入该Controller
2.多个url例子
@RequestMapping(value={"index.do","index2.do"})
当url为 /index.do 或者 /index2.do 时,即可进入该Controller
3.通配符模式
@RequestMapping(value="/views/{index}")
url可以为 /views/123等
@RequestMapping(value="/views/**")
url可以为 /views/123等
@RequestMapping(value="/views*/index.do")
url可以为 views123/index.do等
@RequestMapping(value="/views?/index.do")
url可以为view1/index.do等
4.限定请求方式
@RequestMapping(value="index.do",method=RequestMethod.GET)
url 为 index.do 且 请求方法为 get
5.限定url参数
@RequestMapping(value="index.do",method=RequestMethod.GET,params="username")
url 为 index.do 且 请求方法为 get 且 必须有参数username
@RequestMapping(value="index.do",method=RequestMethod.GET,params="!username")
url 为 index.do 且 请求方法为 get 且 不能有参数username
@RequestMapping(value="index.do",method=RequestMethod.GET,params="username=zhangwei")
url 为 index.do 且 请求方法为 get 且 必须有参数username,且参数值为zhangwei
@RequestMapping(value="index.do",method=RequestMethod.GET,params="username!=zhangwei")
url 为 index.do 且 请求方法为 get 且 必须有参数username,且参数值不能为zhangwei
@RequestMapping(value="index.do",method=RequestMethod.GET,params={"username","password"})
url 为 index.do 且 请求方法为 get 且 必须有参数username和password
6.限定请求头
@RequestMapping(value="index.do",headers="abc")
url为index.do 且请求头中有参数abc