jsp+servlet+Tomcat+mysql实现用户注册、登录、查看、修改实例之——用户列表显示
学习javaWeb,首先要学习基础的jsp,servlet,弄通了机制然后就得心应手了。我们来实现一个简单的实例来学习。
我们的任务有:1.数据库及表创建
上节实现了用户登录,本节来实现用户列表显示
四、用户列表显示
要实现用户列表显示功能,我们需要完成以下几个任务:
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.数据库及表创建
posted on 2013-05-18 16:50 乐山乐水 若愚若怯 阅读(12254) 评论(7) 编辑 收藏 举报