@RequestMapping详细说明

本文详细介绍了@RequestMapping注解在SpringMVC中的作用,包括请求方式限制、参数匹配和头信息设置,通过实例展示如何配置方法和类级别的请求处理。

@RequestMapping详细说明

@RequestMapping:的作用是建立请求URL和处理方法之间的对应关系
1、就是告诉SpringMVC这个方法用来处理什么请求;
2、 这个/是可以省略的,即使省略了,也默认是从当前项目下开始的
3、 习惯上加上比较好 /hello
4、 RequestMapping,既能用在方法上面,也能加在类上面

@RequestMapping的属性:

1. method:可以来限定请求方式

     *          GET、POST
     *          method = RequestMethod.POST:只接触这种请求方式的请求,默认是全部都可以
     *                  不是规定的方式报错:4xx,都是客户端错误
     *                          405-Request method 'GET' not supported(注意:a标签发送的请求是get请求)

2.params:规定请求参数

params和headers支持简单的表达式:
          param1:表示请求必须包含为param1的请求参数
               eg:params = {"username"};表示发送请求必须带上名为username的参数,没带就会爆404
           !param1:表示请求不能包含为param1的请求参数
               eg:params = {"!username"};表示发送请求的时候必须不带这个username参数,带了就会带404
          param1!=value1:表示请求包含param1的请求参数,但其值不能包含value1
               eg:params = {"username!=123"},发送请求的时候,携带的username的值必须不是123(不带username,或者username的值不是123)
           {"param1=value1","param2"}:请求必须包含为param1和param2的参数
                eg:params={"username!=123","pwd","!age"}
                   请求参数必须满足以上的规则:
                   请求的username不能是123,必须有pwd的值,不能含有age的值(全体满足才行)

3.headers:规定请求头;也和params一样

4.consumes:只接收内容是哪种的请求,规定请求头中的Content-Type

5.produces:告诉浏览器返回的内容是什么,给相应头中加上Context-Type:text/html;charset=utf-8

代码演示


    //一个方法处理一个请求,不能一个请求对应两个方法
    @RequestMapping("/handle01")
    public String handle01() {
        System.out.println("RequestMappingTestController............handle01被调用");
        return "success";

    }


   @RequestMapping(value = "/handle02", method = RequestMethod.POST)
    public String handle02() {
        System.out.println("RequestMappingTestController............handle01被调用");
        return "success";
    }

    @RequestMapping(value = "/handle03", params={"username!=123","pwd","!age"})
    public String handle03() {
        System.out.println("RequestMappingTestController............handle01被调用");
        return "success";
    }


    /**
     * User-Agent:浏览器信息
     * 让IE能访问,让谷歌不能访问
     * IE:   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73
     * chrome User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36
     *
     * @return
     */
    @RequestMapping(value = "/handle04",headers = {"User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.73"})
    public String handle04() {
        System.out.println("handle04............被调用");
        return "success";
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值