★学习目标:
1、掌握请求映射方式的使用;
★思考任务:
1、请求映射方式的分类需要注意些什么?
★任务学习:
★知识要点:
1、请求映射方式的分类
基于注解风格的SpringMVC,通过@RequestMapping注解指定请求映射的URL路径。URL路径映射常用的方式有基于请求方式的URL路径映射、基于Ant风格的URL路径映射和基于REST风格的URL路径映射。接下来分别对这三种请求映射方式进行详细讲解。
2、基于请求方式的URL路径映射
上一节中学习到可以使用@RequestMapping注解的method属性,来限定当前方法匹配哪种类型的请求方式。除了可以使用@RequestMapping注解来限定客户端的请求方式之外,从Spring4.3版本开始,还可以使用组合注解完成客户端请求方式的限定。组合注解简化了常用的HTTP请求方式的映射,并且更好的表达了被注解方法的语义。
SpringMVC组合注解
@GetMapping:匹配GET方式的请求;
@PostMapping:匹配POST方式的请求;
@PutMapping:匹配PUT方式的请求;
@DeleteMapping:匹配DELETE方式的请求;
@PatchMapping:匹配PATCH方式的请求;
3、基于Ant风格的URL路径映射
SpringMVC支持Ant风格的URL路径映射,所谓Ant风格其实就是一种通配符风格,可以在处理器映射路径中使用通配符对访问的URL路径进行关联。Ant风格的通配符有以下3种,分别是:?匹配任何单字符;*匹配0或者任意数量的字符;**匹配0或者多级目录。
Ant风格通配符的路径匹配
| 通配符 | URL路径 | 通配符匹配说明 |
| ? | /ant1? | 匹配项目根路径下/ant1[anyone]路径,其中[anyone]可以是任意单字符,即/ant1后有且只有1个字符。如/ant12、/ant1a。 |
| * | /ant2/*.do | 匹配项目根路径下/ant2/[any].do路径,其中[any]可以是任意数量的字符。如/ant2/findAll.do、/ant2/.do。 |
| * | /*/ant3 | 匹配项目根路径下/[onemore]/ant3路径,其中[onemore]可以是数量多于0个的任意字符。如/a/ant3、/findAll/ant3,但是字符数量不能为0个,并且目录层数必须一致,如//ant3、/findAll/a/ant3。 |
| ** | /**/ant4 | 匹配项目根路径下/[anypath]/ant4路径,其中[anypath]可以是0或者多层的目录。如/ant4、/a/ant4、/a/b/ant4。 |
| ** | /ant5/** | 匹配项目根路径下/ant5/[anypath]路径,其中[anypath]可以是0或者多层的目录。如/ant5、/ant5/a、/ant5/a/b。 |
4、基于RESTful风格的URL路径映射
RESTful是按照REST风格访问网络资源,简单说RESTful就是把请求参数变成请求路径的一种风格。而REST(RepresentationalState Transfer)是一种网络资源的访问风格,规范对了网络资源的访问方式。REST所访问的网络资源可以是一段文本、一首歌曲、一种服务,总之是一个具体的存在。每个网络资源都有一个URI指向它,要获取这个资源,访问它的 URI 就可以,因此URI即为每一个资源的独一无二的标识符。

