7.1 RESTful SpringMVC CRUD(二)

版权声明:转载请注明出处~ 摸摸博主狗头 https://blog.csdn.net/cris_zz/article/details/79968008

基于 RESTful 风格的删除

源码点我
处理静态资源
  • 若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获
    WEB 容器的所有请求,包括静态资源的请求, SpringMVC 会将他
    们当成一个普通请求处理,因找不到对应处理器将导致错误

  • 可以在 SpringMVC 的配置文件中配置
    的方式解决静态资源的问题

    1. 将在 SpringMVC 上下文中定义一个
      DefaultServletHttpRequestHandler,它会对进入 DispatcherServlet 的
      请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由 WEB
      应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由
      DispatcherServlet 继续处理
    2. 一般 WEB 应用服务器默认的 Servlet 的名称都是 default。若所使用的
      WEB 服务器的默认 Servlet 名称不是 default,则需要通过 defaultservlet-name
      属性显式指定
  • 代码如下:
    1.导入 jquery

mark

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完成后如图:

mark

猜你喜欢

转载自blog.csdn.net/cris_zz/article/details/79968008