• SpringMVC总结二:Controller的请求映射方式(RequestMapping)简单介绍


    SpringMVC总结一:快速入门的基础上简单介绍一下请求映射的方式:

    1,标准映射规则

      1、 @RequestMapping可以设置在类上,也可以设置在方法上

      2、 请求的映射规则是:类上的RequestMapping + 方法上的RequestMapping

      3、 如果没有写 / ,SpringMVC会自动补全

      4、 类上的RequestMapping可以省略,这时直接用方法的RequestMapping访问

      5、 路径不可重复

    //加上Controller注解
    @Controller
    @RequestMapping("/test")//添加映射路径,可用来设置url
    public class HelloController {
        //映射注解
        @RequestMapping("/helloSpringMVC")
        public ModelAndView helloSpringMVC() {
            ModelAndView mv = new ModelAndView();
            mv.setViewName("hello");//设置视图名字
            mv.addObject("msg", "hello springmvc 注解版 ===" + new Date().toLocaleString());
            return mv;
        }
    }

    2,Ant风格映射

      1、? 匹配一个字符,如/hello? 可以匹配/hello1  /hello2,但是不能匹配/hello或者/hello12

      2、* 匹配0个或多个字符, 如/hello/*  可以匹配/hello/demo或者/hello/demo2

      3、**匹配0个或多个路径,如/hello/**  可以匹配/hello路径下的所有子路径,比如/hello/dd或者/hello/dd/cc/aa 

      4、最长匹配优先:

        现在有4中映射路径:1,/hello/demo  2,/hello/**/abc  3,/hello/**  4,/**

        如果请求为/hello/demo 那么优先匹配1,但是请求/hello/ddd则会匹配3,请求/hello/222/abc则匹配2,请求/ddd匹配4

    //加上Controller注解
    @Controller
    @RequestMapping("/test")//添加映射路径,可用来设置url
    public class HelloController {
        //ant风格映射
        @RequestMapping("/**/testAntMapping")
        public ModelAndView antMapping() {
            ModelAndView mv = new ModelAndView();
            mv.setViewName("hello");//设置视图名字
            mv.addObject("msg", "antMapping test ===" + new Date().toLocaleString());
            return mv;
        }
    }

    3,占位符映射

      例如商品的url路径一般都是.../product/xxxxx.html,这个xxxxx可以设置成占位符

      @RequestMapping(value="/product/{productid}") :占位符为productid,访问的路径可以是/product/123456或者/product/222等

      通过@PathVariable 可以提取 URI 模板模式中的{xxx}中的xxx变量。

    //加上Controller注解
    @Controller
    @RequestMapping("/test")//添加映射路径,可用来设置url
    public class HelloController {
        //占位符映射
        @RequestMapping("/pathvariable/{id}")
        public ModelAndView pathVariableMapping(@PathVariable("id") int id1) {
            ModelAndView mv = new ModelAndView();
            mv.setViewName("hello");//设置视图名字
            mv.addObject("msg", "pathvariable  id=" + id1);
            return mv;
        }
    }
  • 相关阅读:
    WebForms UnobtrusiveValidationMode 须要“jquery”ScriptResourceMapping。
    用R进行微博分析的初步尝试
    使用Docker部署Gitlab
    怎样托管你的项目到github上具体教程
    Android Api Demos登顶之路(四十五)Loader-->Cursor
    【C语言】推断一个数是否为2的n次方
    Akka并发编程——第五节:Actor模型(四)
    POJ2773 Happy 2006【容斥原理】
    作用域与生命周期
    C# string
  • 原文地址:https://www.cnblogs.com/blazeZzz/p/9324774.html
Copyright © 2020-2023  润新知