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.实现用户信息修改


 

posted on 2013-05-18 16:50  乐山乐水 若愚若怯  阅读(12211)  评论(7编辑  收藏  举报

导航