Spring MVC4 @RequestMapping

@RequestMapping

修饰类

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping

查看RequestMapping源码会发现@Target({ElementType.METHOD, ElementType.TYPE})说明RequestMapping可以用于方法以及类声明上,在类上注明RequestMapping后,访问类中方法时需加上类的RequestMapping地址。例如

@RequestMapping("/test")
@Controller
public class TypeMappingTest {
    @RequestMapping("/testReauestMapping")
    public String testReauestMapping() {
        System.out.println("testReauestMapping");
        return "success";
    }
}

需要访问testReauestMapping方法时就不能时使用testReauestMapping路径了,而需使用test/testReauestMapping

参数所对应内容

参数名所对应内容
value请求URL
methd请求方法
params请求参数
heads请求头

在映射时它们彼此是的关系,联合多个条件可以使请求更加精确。

限定方法

@RequestMapping(value = "/testParas", method = RequestMethod.POST)

例如上面的请求就指定了必须是post的请求才会响应,此时如果使用get访问,则会报405错误。

限定参数

格式说明
param1表示请求必须包含param1的请求参数
!param1表示请求必须不能包含param1的请求参数
param1!=value1表示请求包含名为param1的参数,但其值不能为value1
{“param1=value1”,”param2”}请求必须包含名为param1和param2的两个请求参数,且param1的值必须为value1

限定头信息[与限定参数部分类似不做详细说明]

支持Ant风格的通配符

@RequestMapping支持符合Ant规则的通配符

通配符说明示例
?匹配一个任意字符/a/?b 可以匹配/a/ab;/a/cb。但不能匹配/a/acb之类
*匹配任意长度的字符/a/ *b可以匹配/a/cb;/a/acb。但不能匹配/a/cb/vb
**匹配多层路径可以匹配/a/ab;/a/acb;/a/ab/abc/…/…
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三产

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值