jsp+servlet+Tomcat+mysql实现用户注册、登录、查看、修改实例之——用户删除

作者: 乐山乐水 若愚若怯
发布时间:2015-07-13 11:12:54

学习javaWeb,首先要学习基础的jsp,servlet,弄通了机制然后就得心应手了。我们来实现一个简单的实例来学习。


我们的任务有:1.数据库及表创建

       2.实现用户注册

       3.实现用户登录

       4.实现用户列表显示

       5.实现用户删除

       6.实现用户信息查看

       7.实现用户信息修改


 上节实现的是用户列表显示,本节来实现用户删除

五、实现用户删除

用户删除操作在用户列表界面进行,可以分为:

      1.单条数据删除

      2.批量删除

1.单条用户删除

  单条用户删除是通过超链接方式,用get方式向servlet提交一个id,依照这个id对数据库中的记录进行删除操作。

  在生成每条数据的时候,添加上如下代码:

1 <td><a href="servlet/ServletUserDelete?userId=<%=user.getUserId() %>">删除</a></td>

  (注:页面详细代码,请参见:用户列表显示页面代码

  这样后台就会得到userId=<%=user.getUserId() %>,然后就可以调用数据库中的方法,ServletDeleteUser.javadoGet()如下:

 1 public void doGet(HttpServletRequest request, HttpServletResponse response)   2             throws ServletException, IOException {   3    4         int userId = Integer.parseInt(request.getParameter("userId"));   5         UserDao userDao = new UserDao();   6         userDao.deleteOneUser(userId);   7         ArrayList<UserVo> list = userDao.selectNotDeleteList();   8         request.setAttribute("list", list);   9         request.getRequestDispatcher("/userlist.jsp").forward(request, response);  10     }

  而在UserDao.java中的deleteOneUser(String userId)方法如下:

 1 public void deleteOneUser(int userId) {   2         // 删除单条记录方法   3         Dbmanage dbmanage = new Dbmanage();   4         Connection conn = null;   5         Statement sta = null;   6    7         try {   8             conn = dbmanage.initDB();   9             sta = conn.createStatement();  10             String sql = "UPDATE userTable SET user_display = 0 WHERE user_id ="  11                     + userId;  12             sta.executeUpdate(sql);  13         } catch (SQLException e) {  14   15             e.printStackTrace();  16         } finally {  17             // 执行完关闭数据库  18             dbmanage.closeDB(sta, conn);  19         }  20   21     }

  这样,单条数据删除就实现了,删除完(实际是设置显示状态为0,检索的时候不检索,并非真的删除数据

  之后重新查询并导向了userlist.jsp页面。

2.批量删除

  批量删除则是通过form表单用post方式向后台提交了要删除的数据id,然后servlet在得到数组之后,调用UserDao中方法进行批量删除。

  前台用户选中要删除数据前面的checkbox框,然后点击批量删除,多选,反选checkbox框操作不再一一赘述。

  (注:页面详细代码,请参见:用户列表显示页面代码

  在ServletDeleteUser.javadoPost()方法中即可得到checkbox框的数组,代码如下:

 1 public void doPost(HttpServletRequest request, HttpServletResponse response)   2             throws ServletException, IOException {   3    4         String UserId[] = request.getParameterValues("num");   5         UserDao userDao = new UserDao();   6         userDao.deleteUserList(UserId);   7            8         ArrayList<UserVo> list=userDao.selectNotDeleteList();   9         request.setAttribute("list", list);  10         request.getRequestDispatcher("/userlist.jsp").forward(request, response);  11     }

  而在UserDao.java中的deleteOneUserList(String [] userId)方法如下:

 1 public void deleteUserList(String[] userId) {   2         // 批量刪除记录方法   3         Dbmanage dbmanage = new Dbmanage();   4         Connection conn = null;   5         Statement sta = null;   6    7         try {   8             conn = dbmanage.initDB();   9             sta = conn.createStatement();  10             int Id = 0;  11             for (int i = 0; i < userId.length; i++) {  12   13                 // 循环遍历集合中的元素,然后逐个删除  14                 Id = Integer.parseInt(userId[i]);  15                 String sql = "UPDATE userTable SET user_display = 0 WHERE user_id ="  16                         + Id;  17                 sta.executeUpdate(sql);  18             }  19   20         } catch (SQLException e) {  21   22             e.printStackTrace();  23         } finally {  24             // 执行完关闭数据库  25             dbmanage.closeDB(sta, conn);  26         }  27   28     }

  到这里,批量删除就实现了,需要注意的是,如果不选中任何数据项,直接点击‘批量删除’,会报空指针异常,

因此需要做的还有未选中处理,这里不再说明。


 链接导航   1.数据库及表创建

       2.实现用户注册

       3.实现用户登录

       4.实现用户列表显示

       5.实现用户删除

       6.实现用户信息查看

       7.实现用户信息修改


 

来源:http://www.cnblogs.com/tzhz/archive/2013/05/18/3085807.html

推荐: