4.SpringMVC请求配置

四.请求配置

1.基本配置

使用`@RequestMapping(value=“url”)进行直接配置

该注解表示配置访问命令,可以配置在类上,也可以配置在方法上

2.ANT风格配置

通配符配置

  • *
    • 匹配一层路径
  • **
    • 匹配0或多层路径
  • ?
    • 只匹配一个字符
    • 可以与其他字符联合使用
@RequestMapping("/f1/*")
public void f1(){
    System.out.println("RequestController.f1");
}

@RequestMapping("/f2/**")
public void f2(){
    System.out.println("RequestController.f2");
}

@RequestMapping("/f3/a?")
public void f3(){
    System.out.println("RequestController.f3");
}

3.REST风格配置

  • {xxx}
    • 表示一层路径
    • 该方式必须与@PathVariable("xxx")联合使用
    • 该注解标注在方法的参数前,表示将路径中的xxx与方法的参数进行绑定
    • 当用户输入访问命令的时候,xxx部分的值即为当前参数的值
    • 当注解中xxx的值与变量名一致的时候,注解的参数可以省略
    • REST配置在一个请求中可以配置无数个
  • {xxx:正则表达式}
    • 可以限制当前参数的格式
    • 如果格式不对,限制访问对应的Handler方法
@RequestMapping("/f4/{name}")
public void f4(@PathVariable String name){
    System.out.println("RequestController.f4,name:"+name);
}

@RequestMapping("/f5/{aaa}/{password}")
public void f5(@PathVariable("aaa") String username,@PathVariable String password){
    System.out.println("username:"+username+",password:"+password);
}

@RequestMapping("/f6/{id}")
public void f6(@PathVariable Integer id){
    System.out.println("id:"+id);
}

@RequestMapping("/f7/{id:\\d+}")
public void f7(@PathVariable Integer id){
    System.out.println("id:"+id);
}

4.其他配置

  • 一个方法可以配置多个访问命令

    • @RequestMapping的value属性的值可以是字符串数组
    • 数组中的每一个元素都是一个访问命令
    @RequestMapping(value = {"/f8","/test8"})
    public void f8(){
        System.out.println("RequestController.f8");
    }
    
  • 可以限制请求提交的方式

    • 可以通过两种方式进行设置
    • 方式一
      • 通过@RequestMapping的method属性指定当前请求的类型
      • 其值是一个枚举类型,通过RequestMethod进行获取
      • 请求方式一共八种
        • GET
        • POST
        • PUT
        • DELETE
        • HEAD
        • PTACH
        • OPTIONS
        • TRACE
    • 方式二
      • 直接通过使用@XXXMapping代替原有的@RequestMapping注解
      • XXX的值即为请求方式
      • 例如:@PostMapping表示使用post请求进行访问
@RequestMapping(value = "/f9",method = RequestMethod.POST)
public void f9(){
    System.out.println("RequestController.f9");
}

@PostMapping("/f10")
public void f10(){
    System.out.println("RequestController.f10");
}
  • 限制参数
    • 可以限制请求中参数必须包含指定的某一个参数
    • 还能限制请求中的某个参数的值必须是什么
    • 还能限制请求中的某个参数的值不能是什么
@RequestMapping(value = "/f11",params = "username")
public void f11(){
    System.out.println("RequestController.f11");
}

@RequestMapping(value = "/f12",params = "username=admin")
public void f12(){
    System.out.println("RequestController.f12");
}

@RequestMapping(value = "/f13",params = "username!=abc")
public void f13(){
    System.out.println("RequestController.f13");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值