SpringMVC框架

7.7 RESTRUL_CRUD_删除操作&处理静态资源

7.7.1 删除实验代码

  • 页面链接

<td><a href="/empDelete/${emp.id }">Delete</a></td>

  • 控制器方法

@RequestMapping(value="/empDelete/{id}" ,method=RequestMethod.DELETE)

public String empDelete(@PathVariable("id") Integer id){

employeeDao.delete(id);

return "redirect:/empList";

}

7.7.2 HiddenHttpMethodFilter过滤器

发起请求,无法执行,因为delete请求必须通过post请求转换为delete请求,借助:HiddenHttpMethodFilter过滤器

7.7.3 需要使用jQuery来转换请求方式

  • 加入jQuery库文件

/scripts/jquery-1.9.1.min.js

  • jQuery库文件不起作用

警告: No mapping found for HTTP request with URI [/SpringMVC_03_RESTFul_CRUD/scripts/jquery-1.9.1.min.js] in DispatcherServlet with name 'springDispatcherServlet'

  • 解决办法,SpringMVC 处理静态资源
    • 为什么会有这样的问题:

优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀,若将 DispatcherServlet 请求映射配置为 /, 则 Spring MVC 将捕获 WEB 容器的所有请求, 包括静态资源的请求, SpringMVC 会将他们当成一个普通请求处理, 因找不到对应处理器将导致错误。

②解决: 在 SpringMVC 的配置文件中配置 <mvc:default-servlet-handler/>

  • 配置后,原来的请求又不好使了

需要配置<mvc:annotation-driven />