网站开发计划,公司注册商标的流程及资料,做网站 计算机有交嘛,做电影网站有什么流媒体好一、请求映射方式的分类 基于注解风格的Spring MVC#xff0c;通过RequestMapping注解指定请求映射的URL路径。URL路径映射常用的方式有基于请求方式的URL路径映射、基于Ant风格的URL路径映射和基于REST风格的URL路径映射。接下来分别对这三种请求映射方式进行详细讲解。
a. …一、请求映射方式的分类 基于注解风格的Spring MVC通过RequestMapping注解指定请求映射的URL路径。URL路径映射常用的方式有基于请求方式的URL路径映射、基于Ant风格的URL路径映射和基于REST风格的URL路径映射。接下来分别对这三种请求映射方式进行详细讲解。
a. 基于请求方式的URL路径映射 除了可以使用RequestMapping注解来限定客户端的请求方式之外从Spring 4.3版本开始还可以使用组合注解完成客户端请求方式的限定。组合注解简化了常用的HTTP请求方式的映射并且更好的表达了被注解方法的语义。
二、Spring MVC组合注解 GetMapping匹配GET方式的请求。 PostMapping匹配POST方式的请求。 PutMapping匹配PUT方式的请求。 DeleteMapping匹配DELETE方式的请求。 PatchMapping匹配PATCH方式的请求。 三、GetMapping用法示例 接下来以GetMapping为例讲解组合注解的用法GetMapping是RequestMapping(method RequestMethod.GET)的缩写使用组合注解替代RequestMapping注解可以省略method属性从而简化代码。GetMapping用法示例代码如下所示。
GetMapping(value/firstController)
public void sayHello(){...
}
b. 基于Ant风格的URL路径映射 Spring MVC支持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。
五、映射路径使用多个通配符情况 当映射路径中同时使用多个通配符时会有通配符冲突的情况。当多个通配符冲突时路径会遵守最长匹配原则has more characters去匹配通配符如果一个请求路径同时满足两个或多个Ant风格的映射路径匹配规则那么请求路径最终会匹配满足规则字符最多的路径。例如/ant/a/path同时满足 /**/path和/ant/*/path匹配规则但/ant/path最终会匹配“/ant/*/path”路径。
c.基于RESTful风格的URL路径映射 RESTful是按照REST风格访问网络资源简单说RESTful就是把请求参数变成请求路径的一种风格。 而RESTRepresentational State Transfer是一种网络资源的访问风格规范对了网络资源的访问方式。REST所访问的网络资源可以是一段文本、一首歌曲、一种服务总之是一个具体的存在。每个网络资源都有一个URI指向它 要获取这个资源访问它的 URI 就可以因此URI 即为每一个资源的独一无二的标识符。
六、传统风格与RESTful风格访问URL格式的不同
传统风格访问的URL格式如下所示。
http://.../findUserById?id1
而采用RESTful风格后其访问的URL格式如下所示。
http://.../user/id/1需要注意的是RESTful风格中的URL不使用动词形式的路径例如findUserById表示查询用户是一个动词而user表示用户为名词。
七、RESTful风格的基本请求操作 RESTful风格在HTTP请求中通过GET 、POST 、PUT和DELETE 4个动词对应四种基本请求操作具体如下所示。 •GET用于获取资源 •POST用于新建资源 •PUT用于更新资源 •DELETE用于删除资源 八、RESTful风格四种请求的约定方式 URL路径 请求方式 说明 http://localhost:8080/chapter11/user/1 HTTP GET 获得参数1进行查询user操作 http://localhost:8080/chapter11/user/1 HTTP DELETE 获得参数1进行查询user操作 http://localhost:8080/chapter11/user/1 HTTP PUT 获得参数1进行查询user操作 http://localhost:8080/chapter11/user HTTP POST 新增user操作
九、使用RESTful风格的优势 约定不是规范约定是可以打破所以称为RESTful风格而不是RESTful规范。使用RESTful风格的优势在于路径的书写比较简便并且通过地址无法得知做的是何种操作可以隐藏资源的访问行为。