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 />