javaweb圖書管理系統之賬號密碼驗證登入
阿新 • • 發佈:2020-12-17
驗證賬號與密碼是否正確功能
一.註冊功能
首先,在驗證賬號與密碼是否正確的前提下的,需要先註冊一個賬號,如果沒有賬號,就會進不去,也無法驗證。
其實,註冊功能就是一個新增的功能,仿照我的第一篇文章,往資料庫裡增加資料。
我這裡做的註冊頁面比較簡單,只是輸入一個賬號與密碼,插入資料庫,沒有確認密碼,也沒有確定哪個賬戶是管理員還是讀者。
期末考試快到了,沒時間去寫了,等我考完補上。
二.servlet層
package servlet; import java.io.IOException; import javax.servlet.ServletException; importjavax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import Bean.xinxi; import dao.dao; import daoimpl.daoimpl; /** * Servlet implementation class login_servlet*/ @WebServlet("/login_servlet") public class login_servlet extends HttpServlet { private static final long serialVersionUID = 1L; dao gooddao=new daoimpl(); /** * @see HttpServlet#HttpServlet() */ public login_servlet() { super(); // TODO Auto-generated constructor stub} /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String studentid=request.getParameter("studentid"); String password=request.getParameter("password"); String method=request.getParameter("method"); String form=request.getParameter("form"); HttpSession session=request.getSession();
//將資料存放到session中 xinxi good=new xinxi(studentid,password); good.setStudentid(studentid); good.setPassword(password); if("login".equals(method)) { if(gooddao.login(good)) {//dao層方法 session.setAttribute("good", good);//session //將賬號密碼存放到session if(form.equals("讀者"))request.getRequestDispatcher("reader.jsp").forward(request, response); else if(form.equals("管理員"))request.getRequestDispatcher("genlist.jsp").forward(request, response); } else { request.setAttribute("message1", "使用者名稱或密碼錯誤!"); request.getRequestDispatcher("denglu.jsp").forward(request, response); } } } }
三.dao層
判斷賬號與密碼
public boolean login(xinxi n) { Connection conn = DBUtil.getConnection(); ResultSet rs = null; PreparedStatement pstmt=null; String sql = "select * from t_user where studentid =? and password=?";//表裡查詢賬號與密碼,如果與之對應則賬號密碼正確,反之,密碼錯誤 boolean isLogin=false; try { conn=DBUtil.getConnection(); pstmt=conn.prepareStatement(sql); pstmt.setString(1,n.getStudentid()); pstmt.setString(2,n.getPassword()); rs=pstmt.executeQuery(); while(rs.next()) { isLogin=true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return isLogin; }
三.jsp層
在頁面我們需要知道是哪個使用者在使用系統,我們需要使用session來儲存使用者名稱。
<%xinxi good=(xinxi)request.getSession().getAttribute("good"); %>//servlet中已儲存使用者名稱,只需在jsp裡面獲取
當前登入使用者:<%=good.getStudentid() %>
寫入你的jsp頁面
結果如下:
接下來按照步驟繼續寫功能!!