SpringMVC之@RequestMapping注解

目录

@RequestMapping注解的位置

@RequestMapping注解的属性

value属性

method属性

params属性(了解)

headers属性(了解)


在前面的小案例中我们就使用过该注解,接下来是对该注解的详细学习

@RequestMapping注解的位置

@RequestMapping 注解的位置可以设置在类和方法上

标识类:设置映射请求的请求路径的初始信息,可以用来表示不同的类

标识方法:设置映射请求的请求路径的具体信息,用来表示类中的方法

@Controller
@RequestMapping("/test")
public class RequestMappingController {
    @RequestMapping("/testRequestMapping")
    public String moveSuccess(){
        return "success";
    }
}

如果我们按照上面方式进行配置,那么此时请求的请求路径应为 /test/testRequestMapping,主要可以用来区别不同的模块中名称相同的请求。

@RequestMapping注解的属性

总共有以上8种属性,主要学习以下几种属性

value属性

由上图可知 value 值可设置为字符串数组的形式,表示该请求映射能够匹配多个请求地址所对应的请求

注意:value 属性的值必须进行设置

下面我们用一个案例来进行演示

前台页面:设置两个跳转链接

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" xmlns:th="http://thymeleaf.org">
    <title>首页</title>
</head>
<body>
<h1>首页</h1>
<a th:href="@{/testRequestMapping}">测试 testRequestMapping 注解的value属性-->/testRequestMapping</a><br>
<a th:href="@{/test}">测试 testRequestMapping 注解的value属性-->/test</a><br>
</body>
</html>

控制器:我们在将 value 值设置为了一个 String 数组,包含有前台页面的两个跳转路径  

@Controller
public class RequestMappingController {
    @RequestMapping(
            value = {"/testRequestMapping", "/test"}
    )
    public String moveSuccess(){
        return "success";
    }
}

分别点击两个跳转链接,测试能否成功跳转到 success.index 页面,结果都成功跳转了  

method属性

method 属性是通过请求的请求方式(get或post)来匹配请求映射,并且 method 属性是一个 RequestMethod 类型的数组,表示请求映射能够匹配多种请求方式的请求,如果不设置 method 那么默认匹配所有请求方式,具体属性值有以下8种  

设置方法如下

    @RequestMapping(
            value = {"/testRequestMapping", "/test"},
            method = {RequestMethod.GET, RequestMethod.POST})
    public String moveSuccess(){
        return "success";
    }

并且在 SpringMVC 中还提供了 @RequestMapping 的派生注解

①:处理get请求的映射-->@GetMapping

②:处理post请求的映射-->@PostMapping

③:处理put请求的映射-->@PutMapping

④:处理delete请求的映射-->@DeleteMapping

常用的请求方式是 get、post、put、delete,但是在浏览器中目前只支持 get 和 post,如果要发送put 和 delete 请求则需要通过spring提供的过滤器 HiddenHttpMethodFilter

params属性(了解)

params 属性是通过请求的请求参数匹配请求映射,并且其是一个 String 类型的数组。我们可以通过不同的表达式来设置如下四种请求参数和请求映射的匹配关系

①:params = "参数名"

params = {"username"} //表示请求的请求参数必须携带 username 请求参数

②:params != "参数名"

params = {"!username"} //表示请求携带的请求参数不能携带 username 参数

③:params = "参数名=参数值"

params = {"username=张三"} //表示请求的请求参数必须携带 username 请求参数,并且 username 的值为张三

④:params = "参数名!=参数值"

params = {"username=张三"} //表示请求的请求参数必须携带 username 请求参数,并且 username 的值不能为张三

我们可以在数组中灵活的设置所需要满足的参数要求来实现想要的功能

headers属性(了解)

header 属性是通过请求的请求头信息来匹配请求映射,请求头信息可在网页中进行查看

header 属性是一个 String 类型的数组,设置方法和 params 属性设置方法的类似  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值