學習javaWeb,首先要學習基礎的jsp,servlet,弄通了機制然后就得心應手了。我們來實現一個簡單的實例來學習。
我們的任務有:1.數據庫及表創建
上節實現了用戶刪除,本節來實現用戶信息的查看。
六、用戶信息查看
用戶信息操作是一瀏覽用戶信息詳情的操作,通過點擊用戶列表中的用戶名超鏈接,會彈出新的頁面顯示詳盡的數據。
需要實現:
示意圖如下:
點擊返回之后,重新跳回用戶信息列表頁面。
1.servlet跳轉
在信息列表生成的時候用下面的語句來生成超鏈接:
1 <td><a href="servlet/ServletViewUser?userId=<%=user.getUserId() %>"><%=user.getUserName()%></a></td>
(注:頁面詳細代碼,請參見:用戶列表顯示頁面代碼)
用超鏈接的方式提交給ServletViewUser.java 中的doGet(),並且傳遞過去userId
調用UserDao中selectOneUserInfo()方法,將查詢結果返回給userview.jsp。ServletViewUser.java的doGet()方法如下:
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 UserVo user = userDao.selectOneUserInfo(userId); 7 8 request.setAttribute("user", user); 9 request.getRequestDispatcher("/userview.jsp").forward(request, response); 10 }
2.數據庫操作層方法
UserDao中有一個selectOneUserInfo()方法,用以根據userId,查詢一條用戶信息,其代碼如下:
1 public UserVo selectOneUserInfo(int userId) { 2 // 查看單一用戶信息 3 Dbmanage dbmanage = new Dbmanage(); 4 Connection conn = null; 5 Statement sta = null; 6 ResultSet rs = null; 7 UserVo user = null; 8 9 try { 10 conn = dbmanage.initDB(); 11 sta = conn.createStatement(); 12 String sql = "SELECT * FROM userTable WHERE user_id = " + userId; 13 rs = sta.executeQuery(sql); 14 while (rs.next()) { 15 user = new UserVo(); 16 user.setUserId(rs.getInt("user_id")); 17 user.setUserName(rs.getString("user_name")); 18 user.setUserPassword(rs.getString("user_password")); 19 user.setUserProvince(rs.getString("user_province")); 20 user.setUserCity(rs.getString("user_city")); 21 user.setUserSex(rs.getString("user_sex")); 22 user.setUserHobby(rs.getString("user_hobby")); 23 user.setUserDescribe(rs.getString("user_describe")); 24 } 25 26 } catch (SQLException e) { 27 28 e.printStackTrace(); 29 } finally { 30 // 執行完關閉數據庫 31 dbmanage.closeDB(rs, sta, conn); 32 } 33 return user; 34 35 }
該方法返回user對象給ServletViewUser.java,由其將信息轉發給userview.jsp。
3.userview.jsp頁面
userview.jsp頁面用於顯示詳細的個人信息,頁面代碼如下:
1 <form name="myform" action = "servlet/ServletUserReturn" method="post"> 2 <table border = "1" align = "center" style="border-collapse:collapse;"> 3 <tr> 4 <td colspan="2">用戶查看</td> 5 </tr> 6 <tr> 7 <td>用戶名</td> 8 <td><%=user.getUserName() %></td> 9 </tr> 10 <tr> 11 <td>密 碼</td> 12 <td><%=user.getUserPassword() %></td> 13 </tr> 14 <tr> 15 <td>地 址</td> 16 <td><%=user.getUserProvince() %>省 <%=user.getUserCity() %>市</td> 17 </tr> 18 <tr> 19 <td>性 別</td> 20 <td><%=user.getUserSex() %></td> 21 22 </tr> 23 <tr> 24 <td>愛 好</td> 25 <td><%=user.getUserHobby() %></td> 26 </tr> 27 <tr> 28 <td style="height:100px;">個<br/>人<br/>描<br/>述</td> 29 <td><%=user.getUserDescribe() %></td> 30 </tr> 31 <tr> 32 <td colspan="2"><input type = "submit" value = "返回" /></td> 33 </tr> 34 </table> 35 </form>
4.servlet跳回信息列表
當點擊返回的時候,會跳到ServletUserReturn.java ,重新跳轉到userlist.jsp頁面中。
1 public void doPost(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 4 UserDao userDao = new UserDao(); 5 6 ArrayList<UserVo> list = userDao.selectNotDeleteList(); 7 request.setAttribute("list", list); 8 request.getRequestDispatcher("/userlist.jsp").forward(request, response); 9 }
到這里,用戶信息的查看和返回就實現了。
鏈接導航 1.數據庫及表創建