jsp+servlet+Tomcat+mysql實現用戶注冊、登錄、查看、修改實例之——用戶刪除


學習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.實現用戶信息修改


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM