1. 程式人生 > 實用技巧 >javaweb圖書管理系統之賬號密碼驗證登入

javaweb圖書管理系統之賬號密碼驗證登入

驗證賬號與密碼是否正確功能

一.註冊功能

首先,在驗證賬號與密碼是否正確的前提下的,需要先註冊一個賬號,如果沒有賬號,就會進不去,也無法驗證。

其實,註冊功能就是一個新增的功能,仿照我的第一篇文章,往資料庫裡增加資料。

我這裡做的註冊頁面比較簡單,只是輸入一個賬號與密碼,插入資料庫,沒有確認密碼,也沒有確定哪個賬戶是管理員還是讀者。

期末考試快到了,沒時間去寫了,等我考完補上。

二.servlet層

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import
javax.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頁面

結果如下:


接下來按照步驟繼續寫功能!!