0%

SpringMVC@PathVariable

REST风格

资源定位及资源操作的风格,不是协议,可以遵循,也可以不遵循

REST风格请求

REST 即 Representational State Transfer (资源)表现层状态转化,用URL定位资源,用HTTP描述操作,是目前最流行的一种互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,所以真得到越来越多网站的采用,使用POST, DELETE, PUT, GET 分别对应 CRUD,Spring3.0 开始支持 REST 风格的请求

传统的操作资源

资源路径 请求方式
http://localhost:8080/get.action?id=10 查询 GET
http://localhost:8080/add.action 新增 POST
http://localhost:8080/update.action 修改 POST
http://localhost:8080/delete.action?id=10 删除 POST

RestFul操作资源

资源路径 请求方式
http://localhost:8080/goods/1 查询 GET
http://localhost:8080/goods 新增 POST
http://localhost:8080/goods 更新 PUT
http://localhost:8080/goods/1 删除 DELETE

使用@PathVariable接收RestFul风格参数


发送PUT与DELETE请求

默认情况下 Form 表单是不支持 PUT 请求和 DELETE 请求的,spring3.0 添加了一个过滤器HiddenHttpMethodFilter,可以将 POST 请求转换为 PUT 或 DELETE 请求

配置过滤器

发送请求

服务器接收处理

注意事项

从 tomcat8 开始,如果直接返回 jsp 页面,会报 405 错误 JSPs only permit GET POST or HEAD,使用重定向的形式跳转到对应 jsp,或者是直接把对应 jsp 的 isErrorPage=”true”

过滤器HiddenHttpMethodFilter源码分析



↓赏一个鸡腿... 要不,半个也行↓