SpringMVC中的请求地址映射:@RequestMapping、@RequestParam、@PathVariable

0、目录

1)    相关注解

@RequestMapping(最重要)@RequestParam@PathVariable

注意:@RequestParam与@PathVariable的区别。

2)    用到的类

枚举类:RequestMethod

3)    请求地址映射

A.       精准化映射

利用RequestMapping的value、method、params、header实现;同时利用@RequestParam对请求参数添加限制条件。

B.       @PathVariable

REST风格;从请求地址URL模板中提取变量值。

C.        Ant风格匹配:模糊匹配。

D.       正则表达式匹配

E.        “或”匹配:从多个条件中满足一个即可。

1.      @RequestMapping:映射请求地址。

1)    @RequestMapping功能:映射请求地址

Spring MVC使用@RequestMapping注解为控制器类或内部方法指定可以处理哪些URL请求。@RequestMapping是一个用来处理请求地址映射的注解(将请求地址映射到对应的控制器方法中)可用于类或方法

@RequestMapping请求路径映射,如果标注在某个@Controller的级别上,则表明访问此类路径下的方法都要加上其配置的路径;最常用是标注在方法上,表明哪个具体的方法来接受处理某次请求。

2)    @RequestMapping修饰类和方法

注解@RequestMapping类级别和方法级别层面都可标注,用来确定将被调用方法的URL。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径;用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法。在类上可以使用也可以不使用@RequestMapping,但是在handle方法上必须使用@RequestMapping

按照一般的开发习惯:类上的@RequestMapping一般就是利用类名作为父路径,可以指定多层,如@RequestMapping(value='/xxx/xxx/类名');然后内部方法上利用方法名指定,一般就是一层路径,如@RequestMapping(value='/方法名')。

提供初步的请求映射信息,相当于WEB应用的根目录。

在标有@Controller的类中,利用@RequestMapping可以将该类中的方法变成handler方法,用来处理请求。

3)    @RequestMapping的属性(6个):实现精准化映射

@RequestMapping具有四个属性:value、method、params、headers、consumes、produces。(consumes、produces使用较少)

分别为映射请求路径(value属性)、请求方法(method属性)、请求参数(parmas属性)或请求头(headers属性)。多个属性同时指定的时候,利用逗号隔开,属性之间的关系是“与”的关系。

@RequestMapping一般情况必须指定属性value,用来指定对应的URL,这就是粗略映射。当@RequestMapping只指定一个属性value,此时value可省略不写,即@RequestMapping(value="/hello")等价于@RequestMapping("/hello")。

注意:"@RequestMapping"的value值前后是否有“/”对请求的路径没有影响,即value="book" "/book""/book/"其效果是一样的

A.       method:指定请求的method类型, GET、POST、PUT、DELETE等;

@RequestMapping(value="/get/{bookid}",method={RequestMethod.GET,RequestMethod.POST})

RequestMethod是一个枚举类。

B.       params:指定request中必须包含某些参数值是,才让该方法处理。

@RequestMapping(params="action=del"),请求参数包含“action=del”,如:http://localhost:8080/book?action=del

params通过一个数组定义,如

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值