SpringMvc---对请求映射设置过滤条件(RequsetMapping)

1、普通请求映射处理

@RequestMapping:RequestMapping可以定义在类上也可以定义在方法上,主要的功能就是路径的请求映射。
当绑定在类上时,所有方法的路径必须加上类上面注解的Value。

@Controller
@RequestMapping("/mapping")
public class MappingController {
    @RequestMapping("/mapping01")
    public String mapping01(String name){
        System.out.println(name);
        return "index.jsp";
    }
}

2、method参数使用

method注解可以指定请求方式。

@RequestMapping(value = "/mapping01", method = {RequestMethod.GET,RequestMethod.POST})
public String mapping01(String name){
    System.out.println(name);
    return "index.jsp";
}

@GetMapping(value = "/mapping02")
@PostMapping(value = "/mapping02")
public String mapping02(String name){
    System.out.println(name);
    return "index.jsp";
}

3、params参数使用

当使用这个参数的时候,会有以下四种情况:
1、设置必须带什么参数。必须要传入username参数。

@RequestMapping(value = "/mapping03", params = {"username"})
public String mapping03(String name){
    System.out.println(name);
    return "index.jsp";
}

2、设置必须不带什么参数。不能带username参数。

@RequestMapping(value = "/mapping03", params = {"!username"})
public String mapping03(String name){
    System.out.println(name);
    return "index.jsp";
}

3、参数必须要等于什么值。username必须等于HaHa。

@RequestMapping(value = "/mapping03", params = {"username=HaHa"})
public String mapping03(String name){
    System.out.println(name);
    return "index.jsp";
}

4、参数必须不要等于什么值。username不能等于HaHa。

@RequestMapping(value = "/mapping03", params = {"username!=HaHa"})
public String mapping03(String name){
    System.out.println(name);
    return "index.jsp";
}

4、headers参数使用

设置头中的Accept-Language参数的值必须是zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6

@RequestMapping(value = "/headers01", headers = {"Accept-Language=zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"})
public String headers01(){
    System.out.println("请求头映射成功");
    return "index.jsp";
}

5、consumes参数使用

可以设置请求的源头,比如下面这个就是只能从form表单请求过来。

@RequestMapping(value = "/consumes", consumes = {"application/x-www-form-urlencoded"})
public String consumes(){
    System.out.println("请求头映射成功");
    return "index.jsp";
}

6、produces参数使用

响应的内容必须是一个json的字符串

@RequestMapping(value = "/produces", produces = {"application/json"})
public String produces(){
    System.out.println("响应内容类型");
    return "index.jsp";
}

7、RequestMapping映射的路径也可支持通配符

通配符分为以下三种:
? 只能匹配到单个的确定的字符。
* 匹配到任意个字符。
** 匹配到无限制的路径层。
如果通配符有包含情况,优先匹配精确度最高的那一个。
举例如下:

@RequestMapping(value = "/ant?")
public String ant01(){
    System.out.println("响应通配符?");
    return "/index.jsp";
}

@RequestMapping(value = "/ant*")
public String ant02(){
    System.out.println("响应通配符*");
    return "/index.jsp";
}

@RequestMapping(value = "/ant/**")
public String ant03(){
    System.out.println("响应通配符**");
    return "/index.jsp";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值