版权声明:转载请注明出处~ 摸摸博主狗头 https://blog.csdn.net/cris_zz/article/details/79968008
基于 RESTful 风格的删除
源码点我
处理静态资源
若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获
WEB 容器的所有请求,包括静态资源的请求, SpringMVC 会将他
们当成一个普通请求处理,因找不到对应处理器将导致错误可以在 SpringMVC 的配置文件中配置
的方式解决静态资源的问题- 将在 SpringMVC 上下文中定义一个
DefaultServletHttpRequestHandler,它会对进入 DispatcherServlet 的
请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由 WEB
应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由
DispatcherServlet 继续处理 - 一般 WEB 应用服务器默认的 Servlet 的名称都是 default。若所使用的
WEB 服务器的默认 Servlet 名称不是 default,则需要通过 defaultservlet-name
属性显式指定
- 将在 SpringMVC 上下文中定义一个
- 代码如下:
1.导入 jquery
2.在 springMVC 的核心配置文件中配置
<!-- 可以在 SpringMVC 的配置文件中配置 <mvc:default-servlethandler/> 的方式解决静态资源的问题:
– <mvc:default-servlet-handler/> 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler,它会对进入
DispatcherServlet 的 请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由 WEB 应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由
DispatcherServlet 继续处理 – 一般 WEB 应用服务器默认的 Servlet 的名称都是 default。若所使用的 WEB
服务器的默认 Servlet 名称不是 default,则需要通过 defaultservlet-name 属性显式指定 -->
<mvc:default-servlet-handler />
<mvc:annotation-driven></mvc:annotation-driven>
3 后台删除代码
- empController
/**
*
* @MethodName: delete
* @Description: TODO (将前台传来的经过转换后的delete请求中的id参数放入目标方法的入参中,并根据id删除员工)
* @param id
* @return
* @Return Type: String
* @Author: zc-cris
*/
@RequestMapping(value="emp/{id}",method=RequestMethod.DELETE)
public String delete(@PathVariable("id") Integer id) {
empDao.delete(id);
return "redirect:/list";
}
- empDao
/**
*
* @MethodName: delete
* @Description: TODO (根据id删除员工)
* @param id
* @Return Type: void
* @Author: zc-cris
*/
public void delete(Integer id) {
this.emps.remove(Integer.toString(id));
}
4.前台jsp页面处理(重点)
<script type="text/javascript" src="sripts/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(function() {
$(".delete").click(function() {
var href = $(this).attr("href");
//将超连接的url地址属性作为 form 表单的action属性值
$("form").attr("action", href).submit();
return false;
});
})
</script>
...
...
<td><a class="delete" href="emp/${emp.id }">删除</a></td>
5.java完成后如图: