美文网首页
@RequestMapping

@RequestMapping

作者: 极客_Ls | 来源:发表于2019-01-30 09:28 被阅读4次

    使用@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风格的请求映射
    • Ant风格的资的资源地址支持3种匹配符
      1. ?:匹配文件名中的一个字符
      2. *:匹配文件名的任意字符
      3. **: 匹配多层路径

    相关文章

      网友评论

          本文标题:@RequestMapping

          本文链接:https://www.haomeiwen.com/subject/vznzjqtx.html