http的四种请求方式
- get请求(获取资源)
- post请求(添加资源)
- put请求(更新资源)
- delete请求(删除资源)
想要使用rest这种风格必须在xml文件配置:
<!-- 配置HiddenHttpMethodFilter过滤器实现PUT,DELETE请求 -->
<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>
<!-- 如果配置了mvc-controller会导致其它页面没法正常访问,还需要添加一个标签 -->
<mvc:annotation-driven />
<!--如果不配置这个图片的超链接会找不到 -->
<mvc:default-servlet-handler/>
在这里我只把put和delete详细说明一下,get和put其实和以前使用的一模一样。
delete的使用
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function deleteUser(name){
if(confirm("确认删除吗?")){
document.getElementById("hid_deleteName").value=name;
document.getElementById("deleteForm").action = "userdelete/"+name;
document.getElementById("deleteForm").submit();
}
}
</script>
</head>
<body>
<a href="studentadd">添加</a>
<table border="1" width="600px">
<tr>
<td>姓名</td>
<td>爱好</td>
<td>性别</td>
<td>班级</td>
<td>操作</td>
</tr>
<c:forEach items="${list}" var="li">
<tr>
<td>${li.stuName}</td>
<td>${li.stuAiHao}</td>
<td>${li.stuSex}</td>
<td>${li.slazz.claName}</td>
<td align="center">
<a href="edit/${li.stuName}">编辑</a>
//调用deleteUser方法
<a href="javascript:deleteUser('${li.stuName}')">删除</a>
</td>
</tr>
</c:forEach>
</table>
//delete请求
<form:form id="deleteForm" action="userdelete" method="delete">
//设置一个隐藏域,通过js将值赋给这个隐藏域,通过隐藏域进行提交
<input type="hidden" id="hid_deleteName" />
</form:form>
</body>
</html>
@RequestMapping(value = "/userdelete/{name}",method = RequestMethod.DELETE)
public String del(@PathVariable("name")String name){
service.del(name);
return "redirect:/index";
}
put的使用
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
//获取项目名
<from:form action="${pageContext.request.contextPath}/edit" method="put" commandName="student">
<table>
<tr>
<td>姓名:<from:input path="stuName" readonly="true" /></td>
</tr>
<tr>
<td>爱好:<from:checkboxes items="${map}" path="stuAiHao"/>
</tr>
<tr>
<td>性别:<from:radiobuttons items="${list3}" path="stuSex"/></td>
</tr>
<tr>
<td>班级:<from:select items="${list4}" path="slazz"></from:select></td>
</tr>
</table>
<input type="submit" value="确定"/>
</from:form>
</body>
</html>
@RequestMapping(value = "/userdelete/{name}",method = RequestMethod.DELETE)
public String del(@PathVariable("name")String name){
service.del(name);
return "redirect:/index";
}