@RequestMapping

2019-01-30  本文已影响4人  极客_Ls

使用@RequestMapping映射处理请求:

一. Spring MVC使用@RequestMapping注解为控制器指定可以处理的URL请求
二. 在控制器的类定义及方法定义处都可标注@RequestMapping

类定义处:提供初步的请求映射信息。相对于web项目的根目录
方法处: 提供进一步的细分映射信息,相对于类定义处的URL,若类定义处未标注@RequestMapping,则方法处标记的URL相对于web目录下的根目录

三. DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息请求所对应的处理方法
使用RequestMapping修饰类;
@RequestMapping("/say")
@Controller
class testClass{
    @RequestMapping("/sayHello")
    public String sayHello(){
        return "hello";
    }

}
<a href="say/sayHello" >test</a>

映射请求参数,请求头或请求参数:

  1. @RequestMapping除了可以使用请求URL映射请求外,还可以使用请求方法请求参数及请求头映射请求。
  2. @RequestMapping的value、method、params、heads分别表示请求URL、请求方法、请求参数及请求头的映射条件,它们之间是与2的关系、联合使用多个条件可以让请求映射更加精准化。
  3. params和headers支持简单的表达式:
    *. param1: 表示请求必须要包含名为param1的请求参数;
    *. !param1: 表示请求必须不包含名为param1的请求参数;
    *. param1 != value1:表示请求必须要包含名为param1的请求参数、但其值不能为value1;
    *. {"param1 = value1","param2"}: 表示请求必须要包含名为param1和param2的两个请求参数、且param1的参数必须为value1;
  //URL和请求方式
    @RequestMapping(value="/url ,method=RequestMethod.POST,");
  //请求参数
     @RequestMapping(value="/url ,param={"user","password"},");
@RequestMapping("/pathV")
@Controller
public class PathVaribleTest {
    @RequestMapping(value="/one/{id}",method=RequestMethod.GET,params= {"name"})
    public String toNum(@PathVariable(value="id") Integer id) {
        System.out.println(id);
        return "success";
    }
}
<a href="pathV/one/1?name=laishuai">@PathVariable测试</a>

Ant风格的请求映射
上一篇 下一篇

猜你喜欢

热点阅读