SpringMVC框架----RequestMapping注解

38 篇文章 1 订阅
17 篇文章 2 订阅

作用:用于建立请求 URL 和处理请求方法之间的对应关系
客户端会发一个请求过来,后台会有一个方法去执行它,现在我们需要把请求地址路径和我们的方法建立一个映射关联,发了请求,我们的方法就执行。
RequestMapping用来建立他们之间的对应关系。
源码
在这里插入图片描述
表名requestMapping既可以作用在方法上,也可以作用在类或者接口上。
如果路径是/user/hello
表名它有两级目录,如果把注解放在类上,可以声明一级目录,把注解放在方法上,指的就是二级目录
好处:可以分模块开发。
比如我现在user下的有增删改查方法,我们在account中也有。
例如:当我们的类中写了/user,那么我们在请求的时候必须要加上user/,否则点击的时候就会404错误,即请求路径不正确。
index.jsp文件中

<a href="user/testRequestMapping">RequestMapping注解</a>

HelloController类中

/*控制器类,用来接收请求*/
@Controller
@RequestMapping(path="/user")
public class HelloController {
    @RequestMapping(path="/testRequestMapping")
    public String testRequestMapping(){
        System.out.println("测试RequstMapping注解...");
        return "success";
    }
}

鼠标左键+ctrl可以点击requestMapping查看源码
在这里插入图片描述
如图可知,path和value属性的作用是相同的,value和path可以互换。都是指我们映射的路径。
由于此时我们是value属性,所以可以省略不写。
value:用于指定请求的 URL。它和 path 属性的作用是一样的。
method:用于指定请求的方式

如果点击的是超链接,我们现在用的是超链接,它是固定的,一定是get方式,如果后台方法规定,get方法可以请求我,点击超链接,方法就可以执行了。如果规定方法必须是有post请求来访问,则不会执行。
在这里插入图片描述
枚举类直接用类名.属性就可以拿到其中的值了。再加属性如果不是一个属性,value就必须要写上去了。我们后面再写,method。

@RequestMapping(value="/testRequestMapping",method={RequestMethod.POST})

此时,我们只适用于post方式提交请求,
而由于超链接是get请求,重新部署服务器,报405错
method not allowed
在这里插入图片描述
method可以决定一个方法的具体请求的方式
params:用于指定限制请求参数的条件。它支持简单的表达式。要求请求参数的 key 和 value 必须和 配置的一模一样
在这里插入图片描述
类型是字符串

@RequestMapping(value="/testRequestMapping",params={"username"})

表示请求我这个方法,必须给我传一个username的属性,如果不传,这个方法就不会被执行。
当我们不传参数的时候,报的400错误,Bad Request

在这里插入图片描述

<a href="user/testRequestMapping?username=hehe">RequestMapping注解</a>

此时就可以执行了,必须要有属性,并且名字是username

@RequestMapping(value="/testRequestMapping",params={"username=heihei"})

此时也不行,它要求请求的key和配置是一模一样的。
headers:用于指定限制请求消息头的条件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值