SpringMVC 学习笔记心得(二)@RequestMapping注解详解

在上一章节小编讲述了SpringMVC入门案例,通过配置 前端控制器 , 视图解析器,初始化加载配置文件等等一系列步骤,下面小编继续讲解上章节的疑惑注解@RequestMapping

1 .@RequestMapping的几种形式

path 指定请求路径的url
value value属性和path属性是一样的
mthod 指定该方法的请求方式(如果接受不在定义范围内的请求会抛404)
params 指定限制请求参数的条件
headers 发送的请求中必须包含的请求头

1.1 path属性

  @RequestMapping(path = "/path")
    public String pathTest(){
        System.out.println("path");
        return "success";
    }

1.2 value属性:

  // 2. value value属性和path属性是一样的
    @RequestMapping(value = "/value")
    public String valueTest(){
        System.out.println("value");
        return "success";
    }

1.3 method属性:

// 3. method 指定该方法的请求方式
    @RequestMapping(value =  "/method" , method = {RequestMethod.GET })
    public String methodTest(){
        System.out.println("method");
      return "success";
    }

1.4 params属性:

// 4. params 指定该方法的请求方式
    @RequestMapping(value = "/params")
    public String paramsTest(String name , String password){
        System.out.println("params" + name + ":" + password);
        return "success";
    }

1.5 headers属性:

//  5. headers 发送的请求中必须包含的请求头
    @RequestMapping(value = "/headers" , headers = "Accept")
    public String headersTest(){
        System.out.println("headers");
        return "success";
    }
方法里面都是只是简单的输出了一句话,在失败的请求下,控制台是不会输出方法中的话的

1.6 创建index.jsp文件

<a href="path">Path</a>//测试path值方法
<a href="value">value</a>//测试value值方法
<a href="method">method</a>//测试method方法
<a href="params?name=Rocy&age=23">params</a> //测试携带参数方法
<a href="headers">headers</a>//测试是否包含请求头方法

1.7 测试执行结果如下

path
value
method
params Rocy:23
headers

这里有很多地方需要注意:
1.method属性定义的(小编仅仅定义了method = {RequestMethod.GET },这里是标明除了GET请求可以被请求成功之外,其他的请求都会抛出400Bad Request错误声明,导致请求失败,不会进入方法,更不会输出方法中的内容)
2.param属性定义的形参也是要和携带的参数一一对应的,如果形参与携带的参数不对应,那么值就不能自动封装上,便会出现null值打印的情况
3.headers属性:如果不包含头信息也会抛出400异常错误

好了,这里就是SpringMVC的RequestMapping注解的属性使用了

猜你喜欢

转载自blog.csdn.net/weixin_43409994/article/details/105838383