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


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


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

       2.實現用戶注冊

       3.實現用戶登錄

       4.實現用戶列表顯示

       5.實現用戶刪除

       6.實現用戶信息查看

       7.實現用戶信息修改


 上節我們實現了用戶注冊,本節來接着實現用戶登錄

三、用戶登錄

要實現用戶登錄功能,我們需要完成以下幾個任務:

      1.寫登錄jsp頁面

      2.寫登錄servlet

      3.寫登錄驗證方法

1.登錄頁面

一個簡單的登錄頁面需要包含登錄信息和登錄提交按鈕,下面是一個簡單的登錄界面

(說明:如果用戶未輸入用戶信息或者輸入信息有誤,提示用戶名或密碼錯誤) 

userlogin.jsp部分代碼如下:

 1 <% String message = (String)(request.getAttribute("message")); %>
 2 <!--省略JS判斷部分代碼 ->
 3 <form id = "form1" action = "servlet/UserloginServlet" method = "post">
 4         <table border="1" style="border-collapse:collapse;">
 5             <tr align = "center">
 6                 <td colspan="2">用戶登錄</td>    
 7             </tr>
 8             <tr>
 9                 <td>用戶名:</td>
10                 <td>
11                     <input type = "text" name = "userName"/>
12                 </td>
13                 
14             </tr>
15             <tr>
16                 <td>密碼:</td>
17                 <td>
18                     <input type = "password" name = "userPassword"/>        
19                     <span style = "color:red; font-size:13px;" id = "td2"><%=message %></span>
20                 </td>
21             </tr>
22             <tr align = "center">
23                 <td colspan = "2">
24                     <input type = "submit" name="register" value ="注冊" onclick="changeR()" />
25                     <input type = "submit" name="login" value ="登錄"/>
26                 </td>    
27             </tr>
28         </table>
29     </form>

:由於剛開始刷到本頁面時,message值為null,所以會顯示null,需處理掉)

2.登錄Servlet

上面的頁面將form數據提交給了UserloginServlet.java 類,該類中的部分代碼為:

 1 public void doPost(HttpServletRequest request, HttpServletResponse response)
 2             throws ServletException, IOException {
 3 
 4         request.setCharacterEncoding("utf-8");
 5         response.setCharacterEncoding("utf-8");
 6         String userName = request.getParameter("userName");
 7         String userPassword = request.getParameter("userPassword");
 8         // 前台得到用戶輸入
 9         UserDao userDao = new UserDao();
10         UserVo user = userDao.judgeUserPassword(userName, userPassword);
11         // 調用方法判斷用戶是否存在
12         String message = "用戶名或密碼錯誤~!";
13         if (user == null) {
14             // 如果用戶不存在,重新登錄
15             request.setAttribute("message", message);
16             request.getRequestDispatcher("/userlogin.jsp").forward(request,
17                     response);
18         } else {
19             // 如果用戶存在,檢索數據,跳到用戶列表顯示頁面
20             ArrayList<UserVo> list = userDao.selectNotDeleteList();
21             request.setAttribute("list", list);
22             request.getRequestDispatcher("/userlist.jsp").forward(request,
23                     response);
24         }
25 
26     }

3.登錄驗證

從servlet中獲得了用戶輸入以后,在UserDao.java中調用judgeUserPassword(userName, userPassword)方法驗證用戶是否存在

方法具體內容如下:

 1 public UserVo judgeUserPassword(String userName, String userPassword) {
 2         // 用戶登錄驗證
 3         Dbmanage dbmanage = new Dbmanage();
 4         Connection conn = null;
 5         Statement sta = null;
 6         ResultSet rs = null;
 7         UserVo user = null;
 8         try {
 9             conn = dbmanage.initDB();
10             sta = conn.createStatement();
11             System.out.println(userName);
12             System.out.println(userPassword);
13             String sql = "SELECT * FROM userTable WHERE user_name = '"
14                     + userName + "' AND user_password= '" + userPassword + "'";
15             rs = sta.executeQuery(sql);
16             while (rs.next()) {
17                 user = new UserVo();
18                 user.setUserName(rs.getString("user_name"));
19                 user.setUserPassword(rs.getString("user_password"));
20 
21             }
22 
23         } catch (SQLException e) {
24 
25             e.printStackTrace();
26         } finally {
27             // 執行完關閉數據庫
28             dbmanage.closeDB(rs, sta, conn);
29         }
30      // 返回查詢結果
31         return user;
32     }

到這里,登錄流程已經基本實現了。


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

       2.實現用戶注冊

       3.實現用戶登錄

       4.實現用戶列表顯示

       5.實現用戶刪除

       6.實現用戶信息查看

       7.實現用戶信息修改


 


免責聲明!

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



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