基于Servlet和JSP的用户管理(四)--用户删除功能

思路分析如下:基于Servlet和JSP的用户管理(四)--用户删除功能_第1张图片

首先要实现该功能,先找到前端页面的删除按钮

删除

然后编写DelUserServlet方法

package edu.swpu.web.servlet;

import edu.swpu.service.UserService;
import edu.swpu.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/delUserServlet")
public class DelUserServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取id
        String id = request.getParameter("id");
        //2.调用service删除
        UserService service = new UserServiceImpl();
        service.deleteUser(id);
        //跳转到查询所有Servlet
        response.sendRedirect(request.getContextPath()+"/userListServlet");
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

 接下来去实现UserServlet里面的deleteUser方法

UserService:
 void deleteUser(String id);
UserServiceImpl:
  @Override
    public void deleteUser(String id) {
        dao.delete(Integer.parseInt(id));
    }

UserDao里面的方法:

  void delete(int id);

UserDaoImpl:

 public void delete(int id) {
        String sql = "delete from user where id = ?";
        template.update(sql,id);
    }

大致功能就完成了。接下来有一个需要优化的细节,当我们按下删除按钮的时候,就会立马删除数据,我们需要通过javascript来实现一个询问方法,询问是否删除。先来到前端页面,将删除按钮的跳转路径改为一个函数

 删除

再去实现这个函数:

 

最后说明一下这个地方为什么要传参:deleteUser(${user.id})而不是后面直接获取,因为JavaScript函数在页面最前面,无法在正常情况下获取后面的参数,所以使用这个方法区解决这个问题

你可能感兴趣的:(基于Servlet和JSP的用户管理(四)--用户删除功能)