需要四個頁面:提交資料的login.jsp頁面,處理資料的checklogin.jsp頁面以及顯示結果的welcome.jsp頁面和error.jsp頁面
基礎知識:
login.jsp中的表單通過<form action=”checklogin.jsp”method=”POST”>…</form>語句,將使用者資料提交給checklogin.jsp中;
checklogin.jsp通過語句Stringusername=request.getParameter(“username”)將使用者資料擷取;
checklogin.jsp通過<jsp:forward page=”welcome.jsp”></jsp:forward>跳轉到結果頁面welcom.jsp中,在servlet中還可以通過response.senRedirect(“welcome.jsp”)來實現。
保持使用者登入資訊:session.setAttribute(“username”,username);或者request.getSession().setAttribute(“username”,username);
擷取UserBean對象:
<jsp:useBeanid=”user” class=”login.UserBean” scope=”page”>
<jsp:setPropertyname=”user” property=”*”/>
</jsp:useBean>
即以JavaBean方式操作UserBean,建立該類的一個對象id=”user”,將使用者提交的表單資料對應填入該對象,並使之有效範圍為page即一次請求。
具體實現流程:
1>
使用者在login.jsp頁面中提交一個表單,包含username和password資料,然後由checklogin.jsp來處理: <form action=”checklogin.jsp” method=”POST”>…</form>
2>
頁面中提交的username和password資料被直接封裝到UserBean的一個執行個體(對象)中,對應的代碼為:
<%@pageimport=”login.UserBean”%>
<jsp:useBeanid=”user” class=”login.UserBean” scope=”page”>
<jsp:setPropertyname=”user” property=”*”/>
</jsp:useBean>
3> 在checklogin.jsp頁面中調用user.cheklogin()方法訪問資料庫驗證資料;
4> 執行轉寄,從而將訪問資料庫的代碼從JSP頁面中分離。