什么是RESTFUL?

1-什么是REST?
Representational State Transfer 表现层状态转化,核心如下:
HTTP协议中规定的四种操作方式: POST DELETE PUT GET
对应JAVA服务程序提供的四种服务: 增 删 改 查
越来越多的网站采用了简单而优雅的REST风格的请求,例如CRUD的操作访问如下:
当前后端分离时,不论时通过AJAX请求还是通过PostMan测试,我们可以很便捷的发送各种类型的请求,但是对于JSP而言,只能通过form表单提出get(条件查询)和post(增加)请求,对于put(修改)和delete(删除)不支持,springmvc框架该如何处理?
解决方案:
Spring3.0后添加了HiddenHttpMethodFilter过滤器,可以将请求转换成HTTP的四种操作方式:
CTRL+SHIFT+T快捷键调出源码查询窗口,并对HiddenHttpMethodFilter进行查询,查看源码如下:




2-在web.xml中对HiddenHttpMethodFilter进行设置

3-修改页面请求提交方式
<a>标签提交GET请求,<form method="post">提交POST\DELETE\PUT请求

4-修改Handler处理器
发现:GET与POST均能正常执行,但DELETE和PUT出现405错误

原因:在Handler处理器执行完毕,以forward方式进行跳转,Tomcat8会出现此类问题,Tomcat7版本没有问题(但支持的EE模块版本较低,不大于2.5).
既可以使用Tomcat8又可以实现跳转的解决方案:可以通过重定向解决该问题
"redirect:"指向当前链接位置
"redirect:/"指向当前项目位置
执行结果:


总结:





猜你喜欢

转载自blog.csdn.net/weixin_38964895/article/details/80746193
今日推荐