关于映射路径@ReuqestMapping的总结

何谓映射路径呢?

映射路径,就是匹配请求路径和执行方法关系的路径

基于注解的映射路径可以忽略前后缀,如:

@RequestMapping(value="/say.do")

@RequestMapping(value="say.do")

@RequestMapping(value="/say")

@RequestMapping(value="say")

以上者四种写法效果一样,但是第三种写法较为常用,简洁明了。

三种映射路径

1.标准映射路径

@RequestMapping(value="/say.do")

2.带通配符的映射路径

  在映射路径设置通配符,让一个路径可以接收多个请求的匹配

  ?  只能匹配单个字符,不能匹配0个或多个字符

  *  匹配同一级路径目录0~N字符

  * * 匹配多级路径目录

  路径目录是什么呢?

  请求路径中每个/就是一个路径目录

  如:http://localhost:8080/springmvc-demo-03-config/aa/bb/ccc/say.mvc

  通配符之间的优先级别:

  无通配符> ? > * > **

  所以被?号通配,使用*号就不能通配,使用*通配不能使用**通配了

3.带路径变量映射路径

  路径变量,就是将参数放在路径里面,而不放在?的后面   

  有一种技术是伪静态页面技术,就是通过这种方法实现的

  配置步骤:

  1.指定请求路径的路径变量为如下格式

  ${pageContext.request.contextPath } / zhangsan/say

  问:如何让执行方法获得请求路径中的zhangsan呢?

  2.在执行方法的参数声明一个变量接收路径变量

  @PathVariable  String  name

  部分实现代码:

    写法①

@RequestMapping(value="{name}/say")

  public String say(@PathVariable  String  name){

    //测试代码

    }

     写法②

   

 @RequestMapping(value="{name}/say")
      //@PathVariable可以指定name
      public String say(@PathVariable("name")  String  dd){

        //测试代码
    }

路径变量有什么作用呢?

主要作用是实现伪静态

原文地址:https://www.cnblogs.com/hq1997/p/10733374.html