@PathVariable 注解 说明
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
@PathVariable 映射 URL 绑定的占位符
- 带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义
- 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。
实例:
SpringMVCTest.java
//@PathVariable可以用来映射URL中的占位符到目标方法的参数中
@RequestMapping("/testPathVariable/{id}")public String testPathVariable(@PathVariable("id") Integer id){System.out.println("testPathVariable:"+id);return SUCCESS;}
index.jsp
<a href="springmvc/testPathVariable/1">testPathVariable</a>
REST
- REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用
- 资源(Resources):网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的 URI 。要获取这个资源,访问它的URI就可以,因此 URI 即为每一个资源的独一无二的识别符。
- 表现层(Representation):把资源具体呈现出来的形式,叫做它的表现层(Representation)。比如,文本可以用 txt 格式表现,也可以用 HTML 格式、XML 格式、JSON 格式表现,甚至可以采用二进制格式。
- 状态转化(State Transfer):每发出一个请求,就代表了客户端和服务器的一次交互过程。HTTP协议,是一个无状态协议,即所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生“状态转化”(State Transfer)。而这种转化是建立在表现层之上的,所以就是 “表现层状态转化”。具体说,就是 HTTP 协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET 用来获取资源,POST 用来新建资源,PUT 用来更新资源,DELETE 用来删除资源。
示例:
- /order/1 HTTP GET :得到 id = 1 的 order
- /order/1 HTTP DELETE:删除 id = 1的 order
- /order/1 HTTP PUT:更新id = 1的 order
- /order HTTP POST:新增 order
HiddenHttpMethodFilter:浏览器 form 表单只支持 GET与 POST 请求,而DELETE、PUT 等 method 并不支持,Spring3.0 添加了一个过滤器,可以将这些请求转换为标准的 http 方法,使得支持 GET、POST、PUT 与DELETE 请求。
--------------------------------------------------------------------------------------------------------------
在web.xml中配置HiddenHttpMethodFilter
web.xml
<!--配置org.springframework.web.filter.HiddenHttpMethodFilter:可以把POST请求转换成DELETE或者POST请求--><filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter> <filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
在SpringMVCTest中测试相应的方法
SpringMVCTest.java
/** 如何发送PUT和DELETE请求* 1.需要配置HiddenHttpMethodFilter* 2.需要发送POST请求* 3.需要发送POST请求时携带一个name="_method"的隐藏域,value值为DELETE或者PUT* * 在springmvc框架中通过@PathVariable注解来获取id值* *///get请求@RequestMapping(value="/testRest/{id}",method=RequestMethod.GET)public String testRest(@PathVariable Integer id){System.out.println("testRest Get"+id);return SUCCESS;}//post请求@RequestMapping(value="/testRest",method=RequestMethod.POST)public String testRest(){System.out.println("testRest POST");return SUCCESS;}//delete请求@RequestMapping(value="/testRest/{id}",method=RequestMethod.DELETE)public String testRestDelete(@PathVariable Integer id){System.out.println("testRest DELETE"+id);return SUCCESS;}//delete请求@RequestMapping(value="/testRest/{id}",method=RequestMethod.PUT)public String testRestPut(@PathVariable Integer id){System.out.println("testRest PUT"+id);return SUCCESS;}
index.jsp中的写法
index.jsp
<a href="springmvc/testRest/1">Test Rest Get</a><br/><form action="springmvc/testRest" method="post"><input type="submit" value="TestRest Post"/></form><br/><form action="springmvc/testRest/1" method="post"><input type="hidden" name="_method" value="DELETE"/><input type="submit" value="TestRest DELETE"/></form><br/><form action="springmvc/testRest/1" method="post"><input type="hidden" name="_method" value="PUT"/><input type="submit" value="TestRest PUT"/></form><br/>
@PathVariable 注解 说明相关推荐
- springmvc @PathVariable注解进行传参操作
springmvc传入参数加@PathVariable注解
- rest风格使用两个变量_REST风格,@PathVariable注解
REST(Representational State Transfer,表述性状态转移)是一种软件风格.所谓的REST风格可以简单理解为:使用url表示资源时,每个资源都用一个独一无二的url来表示 ...
- REST风格,@PathVariable注解
REST(Representational State Transfer,表述性状态转移)是一种软件风格.所谓的REST风格可以简单理解为:使用url表示资源时,每个资源都用一个独一无二的url来表示 ...
- java path 注解_@PathVariable注解的使用和@Requestparam
一. @PathVariable @PathVariable这是一个路径映射格式的书写方式注解,在类映射路径的后加上/{对应方法参数中属性@PathVariable("code") ...
- @RequestParam,@RequestBody,@PathVariable注解还分不清吗?
前言 在使用 SpringMVC 开发时,经常遇到前端传递的各种参数,比如 form 表单,JSON 数据,String[] 数组,再或者是最常见的 String 字符串等等,总之大部分场景都是在标题 ...
- @PathVariable注解使用
@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值 语法: @PathVariable("xxx") 通过 @PathVariable 可以将UR ...
- Springboot@PathVariable注解使用--请求路径占位符
常用请求方式:http://localhost:10003/railway-api/base/stEstimate/info?id=1 rest请求方式: 传统@RequestParam是从reque ...
- @PathVariable注解
功能:接收请求路径中占位符的值 用法: /***占位符映射* @param username* @param realname* @return*/ @RequestMapping("hel ...
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
文章主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用. 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request ...
最新文章
- videoview全屏播放
- 区块链软件公司:区块链运用在金融上运用的优点有哪些?
- 绝地求生自定义服务器租一天多少钱,绝地求生自定义服务器怎么样?绝地求生自定义服务器使用攻略...
- java ML回归预测_ML之回归预测:利用九大类机器学习算法对无人驾驶汽车系统参数(2018年的data,18+2)进行回归预测值VS真实值...
- 分布式事务之底层原理揭秘
- ubuntu18.10安装linuxqq2.0
- ajax提交加载loading图标遮罩层不显示
- Latex学习记录2
- Ubuntu 18.04环境下Django的安装配置图文详解
- 10款Mac上程序员装机必备的开发工具推荐和下载
- mike21换成计算机名称,mike21
- 深度学习入门学习路线及好课推荐
- mtk android mt6573项目 root升级包制作
- 记大三第一学期10-1出游宜昌
- 办公效率该怎么提高呢?五个高效办公小技巧分享给你,职场的你必备的神器。
- 所以,你知道你为什么要读书了吗?
- 强化学习系列7:无模型的蒙特卡洛法
- 网站推荐:检索全球范围内有趣实用的网站【持续更新】
- selenium3.0模拟键盘、鼠标操作
- 文件下载:从服务器上下载,自动给下载的PDF添加水印(一)
热门文章
- 电脑屏保在哪里设置_手机屏保调成绿色能护眼?真的吗?
- Qt: QTableView如何获取(行)选中、行切换信息
- 【Python CheckiO 题解】Create Intervals
- CCIE-LAB-第一篇-教学导入环境
- Processing 闪烁的圆 动画效果
- 【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)
- 【CodeForces - 144D】Missile Silos(单源最短路,枚举中间边,枚举情况可能性)
- Idea自带的工具打jar包和Maven打Jar包(SpringBoot工程)
- java 制作快捷键,Java快捷键制作
- 简述linux系统的安全性,Linux操作系统的安全性有哪些过人之处