未分类
2020-12-13 14:10:01
1822677238@qq.com
手机扫码查看
2020java框架教程之spring的RESTful
REST
REST:即Representational State Transfer,(资源)表现层状态转化。
是目前最流行的一种互联网软件架构。
它结构清晰、符合标准、易于理解,扩展方便,所以正得到越来越多网站的采用。
具体说,就是HTTP协议里面,四个表示操作方式的动词:
GET、POST、PUT、DELETE
它们分别对应四种基本操作:
GET 用来获取资源
POST 用来新建资源
PUT 用来更新资源
DELETE 用来删除资源
URL示例:
/target/1 HTTP GET: 得到 id=1 的order
/target/1 HTTP DELETE: 删除id=1的order
/target/1 HTTP PUT :更新id=1的order
/target/1 HTTP POST:新增order
HiddenHttpMethodFliter:浏览器form表单只支持 GET 和 POST 请求,不支持DELETE、PUT 请求,
spring添加一个过滤器,可以将这些请求转换为标准的 http方法,支持GET、POST、PUT和DELETE请求。
创建RESTful应用程序
1、配置过滤器
<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>

实现delete提交
jsp:
<a href="javascript:void(0)" onclick="deleteById()">删除</a>
<a href="javascript:void(0)" onclick="updateById()">修改</a>
<form action="1" method="post" id="deleteForm">
<input type="text" name="_method" value="DELETE">
<button>删除</button>
</form>
<form action="1" method="post" id="updateForm">
<input type="text" name="_method" value="PUT">
<button>修改</button>
</form>
<script>
function deleteById(){
document.getElementById('deleteForm').submit();
}
function updateById(){
document.getElementById('updateForm').submit();
}
</script>
controller:
@RequestMapping(value = "admin/list",method = RequestMethod.GET)
public String list(){
return "admin/list";
}
@RequestMapping(value = "admin/{id}",method = RequestMethod.DELETE)
public String delete(){
System.out.println("执行删除,已删除");
return "redirect:/admin/list";
}
@RequestMapping(value = "admin/{id}",method = RequestMethod.PUT)
public String update(){
System.out.println("执行修改,已修改");
return "redirect:/admin/list";
}





发表回复