zoukankan      html  css  js  c++  java
  • 关于映射路径@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){
    
            //测试代码
        }

    路径变量有什么作用呢?

    主要作用是实现伪静态

  • 相关阅读:
    获取显卡的cuda算力
    ubuntu安装gitlab
    TensorFlow的Bazel构建文件结构
    如何在制作jar包时引用第三方jar包
    利用Shell脚本将MySQL表中的数据转化为json格式
    恢复MySQL主从数据一致性的总结
    (转)运维角度浅谈MySQL数据库优化
    JDBC常用API小结
    MySQL存储过程及触发器
    坑爹的Maven
  • 原文地址:https://www.cnblogs.com/hq1997/p/10733374.html
Copyright © 2011-2022 走看看