jsp的MVC模式設計用戶登陸註冊

用戶登陸功能

通過設計用戶的登陸和註冊,來學習jsp的MVC模式,熟練掌握MVC模式各部分的內容和功能,以及練習數據的操作。

1.實驗內容

1.MVC的模式包括三個內容,Model,View和Control三個部分。
2.Model的設計是一個包含用戶信息的JavaBean,User.java;
3.View的設計是一個用戶登陸界面的jsp頁面,login.jsp;
4.Control的設計是一個處理用戶登陸的servlet類,LoginServlet類;
5.在處理登陸的時候,使用到了DBConn類,實現數據庫的連接和關閉,UserService類處理登陸判斷的具體細節;

2.實驗步驟

1.編寫User.java, 屬性包含id,username,password,以及他們的get和set函數。
2.編寫login.jsp,在頁面中包含用戶名和用戶密碼的輸入框以及提交按鈕,在action屬性中填寫跳轉的servlet類的名字;
3.編寫LoginServlet.java,繼承HttpServlet類,各部分的實現如下:
(1)獲取表單的值:

   String uname = req.getParameter("username");
   String pword = req.getParameter("password");

(2)創建用戶登錄對象

   User uuser = new User();
   uuser.setUsername(uname);
   uuser.setPassword(pword);

(3) 用過調用UserService的登陸判斷函數,實現登陸的判斷,並做出登陸成功和失敗的跳轉,提示用戶登陸的結果。若登陸成功,將用戶的JavaBean保存的session中。

  UserService uService = new UserService();
   if(uService.checklogin(uuser))//用戶名和密碼正確;
   {
    HttpSession session = req.getSession();
    session.setAttribute("user", uuser);
    ArrayList<User> aUsers = new ShowAllUsers().showUsers();
    session.setAttribute("Users", aUsers);
    resp.sendRedirect("ok.jsp");
   }
   else//登錄失敗返回;
   {
    req.setAttribute("error", "用戶名或者密碼輸入錯誤!");//顯示錯誤提示 
    req.getRequestDispatcher("login.jsp").forward(req, resp);
   }

4.在LoginServlet.java中的處理用戶登錄的業務類UserService的編寫,通過數據庫的查詢,將用戶輸入的信息和數據的信息進行匹配,然後返回登陸成功和失敗的判斷。關鍵代碼如下:
(1)查詢語句;

String sql = "select * from user where username='"+u+"' and password='"+p+"'";//sql查詢語句;

(2)查詢的操作;

 stmt = conn.createStatement();//創建查詢語句;
    rs = stmt.executeQuery(sql);//執行查詢語句,返回結果集;
    if(rs.next())//用戶可以登錄;
    {
      user.setId(rs.getInt(1));//設置用戶的id;
      return true;
    }  
    else  //用戶不能登錄;
     return false;

(3)使用數據庫都得有異常處理,要適當的做些異常處理,當出現異常時,也是登陸失敗的。
5.數據庫的連接類DBConn,實現數據庫連接和刪除的操作。
(1)數據庫連接的共有屬性,連接字段,用戶名,密碼。

  String url="jdbc:mysql://localhost:3306/stu";//MySQL數據庫的的url
  String dbun = "root";//MySQL數據庫的用戶名;
  String dbpw="310015";//MySQL數據庫的密碼;

(1)數據庫連接;

Connection conn=null;
  try {
   Class.forName("com.mysql.jdbc.Driver");
   conn=DriverManager.getConnection(url,dbun,dbpw);
  } catch (ClassNotFoundException | SQLException e) {
    
   e.printStackTrace();
   System.out.println("數據庫連接失敗1!");
  }
  return conn;//返回數據庫連接對象;

3.實驗結果

1.用戶登界面,如圖一:
在這裏插入圖片描述
圖一
(2)用戶登陸成功,如圖二;

在這裏插入圖片描述
圖二
(3)用戶登陸失敗,如圖三
在這裏插入圖片描述
圖三
(4)註冊頁面,如圖四;

在這裏插入圖片描述
圖四
(5)用戶註冊成功,如圖五;
在這裏插入圖片描述
圖五
(6)修改用戶的信息,如圖六;
在這裏插入圖片描述
(7)修改成功,如圖七;
在這裏插入圖片描述
(8)用戶的刪除操作 ,結果如圖八;
在這裏插入圖片描述

4.實驗分析

       本次的jap的實驗,通過設計MVC模式的用戶登陸的,實踐了MVC的使用方法。通過創建用戶User.java
       作爲MVC的model,在頁面中起到傳輸數據的作用;通過設計login.jsp,實現用戶界面的信息的顯示和
       提交,提交給相應的servlet;創建LoginServlet類,實現用戶的登陸判斷和返回頁面;另外做了一些
       輔助的類,簡化重複的操作,比如,數據庫的連接和刪除操作,編寫在DBConn類中,用戶信息在
       數據庫中的查詢操作和結果在UserService類。

資源下載:
https://pan.baidu.com/s/1nMaMpQW8VgrAx5OUmxUrbg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章