jsp+servlet+Tomcat+mysql實現用戶注冊、登錄、查看、修改實例之——用戶列表顯示


學習javaWeb,首先要學習基礎的jsp,servlet,弄通了機制然后就得心應手了。我們來實現一個簡單的實例來學習。


我們的任務有:1.數據庫及表創建

       2.實現用戶注冊

       3.實現用戶登錄

       4.實現用戶列表顯示

       5.實現用戶刪除

       6.實現用戶信息查看

       7.實現用戶信息修改


 上節實現了用戶登錄,本節來實現用戶列表顯示

四、用戶列表顯示

要實現用戶列表顯示功能,我們需要完成以下幾個任務:

      1.寫列表顯示jsp頁面

      2.寫顯示servlet

      3.查詢方法

1.顯示頁面

一個簡單的顯示界面如下圖所示:

(說明:用戶點擊用戶名會跳到個人詳細信息頁面;點擊刪除會刪除一條數據;

   點擊修改會跳到修改信息頁面;點擊全選按鈕會全部選擇;反選會反選數據;

   如果選中了幾條數據還可以點擊批量刪除來刪除多條數據)

userlist.jsp中的部分代碼如下:

 1 <%ArrayList<UserVo> list = (ArrayList<UserVo>)(request.getAttribute("list")); %>
 2 <html>
 3   <head>
 4     <style type = "text/css">
 5         td{
 6         
 7             width:60px;
 8         }
 9     </style>
10     <script type="text/javascript">
11         
12         function chickAll(){
13         // 全選方法
14             var chickobj = document.getElementsByName("num");
15             for(var i = 0 ; i<chickobj.length ; i++){
16             
17                 chickobj[i].checked = "checked";
18             }
19             
20         }
21         function Nochick(){
22         // 反選方法   
23             var chickobj = document.getElementsByName("num");
24             for(var i = 0 ; i<chickobj.length ; i++){
25             
26                 chickobj[i].checked = !chickobj[i].checked ;
27             }
28             
29         }
30     </script>
31   </head>
32   
33   <body>
34     <div id = "main">
35     <form name="form1" action ="servlet/ServletDeleteUserList" method = "post">
36         <table border ="1" align = "center" style="border-collapse:collapse;">
37             <tr align="center">
38                 <td colspan="7">
39                     用戶信息列表
40                 </td>
41             </tr>
42             <tr align="center">
43                 <td></td>
44                 <td>用戶名</td>
45                 <td>密碼</td>
46                 <td>省份</td>
47                 <td>城市</td>
48                 <td colspan="2">操作</td>
49             </tr>
50             
51             <%for(int i = 0 ; i<list.size();i++) {
52             
53                 UserVo user = list.get(i);%>
54                 <tr align="center" >
55                 <td><input type = "checkbox"  value ='<%=user.getUserId() %>' name="num"/></td>
56                 <td><a href="servlet/ServletViewUser?userId=<%=user.getUserId() %>"><%=user.getUserName()%></a></td>
57                 <td><%=user.getUserPassword() %></td>
58                 <td><%=user.getUserProvince() %></td>
59                 <td><%=user.getUserCity() %></td>
60                 <td><a href="servlet/ServletUserDelete?userId=<%=user.getUserId() %>">刪除</a></td>
61                 <td><a href="servlet/ServletToUserUpdate?userId=<%=user.getUserId() %>">修改</a></td>
62             </tr>
63             <% 
64             }
65             %>
66         </table>
67     <table align = "center" > 
68          <tr>
69         <td><input type="button" value ="全選" name="checkall" id = "checkall" onclick="chickAll()"/></td>
70         <td><input type ="button" value ="反選" name="nocheck" id= "nocheck" onclick="Nochick()"/></td>
71         <td><input type ="submit" value ="批量刪除"  /></td>
72         </tr>
73     </table>
74     </form>
75     </div>
76   </body>
77 </html>

2.顯示Servlet

顯示用戶數據的servlet沒有單另寫出,寫在了ServletUserLogin.java的登錄成功語句中了,相關代碼為:

1 ……
2 ArrayList<UserVo> list = userDao.selectNotDeleteList();
3             request.setAttribute("list", list);
4             request.getRequestDispatcher("/userlist.jsp").forward(request,
5                     response);
6 ……

當然單另寫出也是不錯的選擇。

3.查詢方法

在數據操作類中需要有一個查詢所有正常用戶的方法selectNotDeleteList(),代碼如下:

 1 public ArrayList<UserVo> selectNotDeleteList() {
 2         // 查詢所有正常用戶
 3         Dbmanage dbmanage = new Dbmanage();
 4         Connection conn = null;
 5         Statement sta = null;
 6         ResultSet rs = null;
 7         UserVo user = null;
 8         ArrayList<UserVo> list = new ArrayList<UserVo>();
 9         try {
10             conn = dbmanage.initDB();
11             sta = conn.createStatement();
12 
13             String sql = "SELECT * FROM userTable WHERE user_display = 1";
14 
15             rs = sta.executeQuery(sql);
16             while (rs.next()) {
17 
18                 user = new UserVo();
19 
20                 user.setUserId(rs.getInt("user_id"));
21                 user.setUserName(rs.getString("user_name"));
22                 user.setUserPassword(rs.getString("user_password"));
23                 user.setUserProvince(rs.getString("user_province"));
24                 user.setUserCity(rs.getString("user_city"));
25                 user.setUserSex(rs.getString("user_sex"));
26                 user.setUserHobby(rs.getString("user_hobby"));
27                 user.setUserDescribe(rs.getString("user_describe"));
28 
29                 list.add(user);
30             }
31 
32         } catch (SQLException e) {
33 
34             e.printStackTrace();
35         } finally {
36             // 執行完關閉數據庫
37             dbmanage.closeDB(rs, sta, conn);
38         }
39         return list;
40     }

從數據庫中檢索到了符合條件的數據,然后把它們放到實例化user對象中,然后在放到鏈表中返回,然后發送到前台遍歷。


鏈接導航   1.數據庫及表創建

       2.實現用戶注冊

       3.實現用戶登錄

       4.實現用戶列表顯示

       5.實現用戶刪除

       6.實現用戶信息查看

       7.實現用戶信息修改


 


免責聲明!

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



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