基於WEB的做業管理與批閱系統的畢業論文總結一:登陸模塊的設計

如下主要總結在實現系統過程當中遇到的問題和解決方法。html

1.系統的設計主要是數據庫的設計。在寫代碼的過程當中,數據庫更改了不少次,在設計某個功能的時候發現數據庫不對,而後又改數據庫,有的代碼又要改,因此形成了實踐 浪費了很多。在老師的最後一次修改意見中我才完全明白。在整個的實現中用了十二個表。首先是用戶表,也就是用戶登陸信息匹配的時候要用到的表,只有三個字段:學工號/密碼/用戶類型。在登陸的時候根據輸入的用戶名和密碼在用戶表中查詢用戶類型,若是查詢成功,說明用戶名和密碼匹配,再再servlet中判斷輸入的用戶類型和數據庫中取出的用戶類型是否匹配,若是相等,則說明用戶信息正確,登陸成功。再根據用戶類型到相應的類型表中,好比說學生表,根據用戶名查詢用戶的姓名,放到Session中。再跳轉到其它請求。java

    在管理員添加用戶信息的時候除了添加到用戶信息表中,還要在servlet中設置用戶類型,和用戶密碼和用戶名放到用戶表,即登陸表中。這樣既成功添加了用戶,又讓用戶能夠登陸。數據庫

<form class="form-horizontal" id="from" action="" method="post">
				<h2>用戶登陸</h2>
				<table>
					<tr>
						<td>學工號:</td>
						<td><input class="input-block-level" style="width:160px" type="text" name="userNumber"/></td>
					</tr>
					<tr>
						<td>密    碼:</td>
						<td><input class="input-block-level" style="width:160px" type="password" name="password"/></td>
					</tr>
					<tr>
						<td>類    型:</td>
						<td style="width:160px">
							<input type="radio" name="role" value="admin"/>管理員&nbsp;&nbsp;
							<input type="radio" name="role" value="teacher"/>教師&nbsp;&nbsp;
							<input type="radio" name="role" value="student"/>學生&nbsp;&nbsp;
						</td>
					</tr>
					
					<tr>
						<td>驗證碼:</td>
						<td>
						<input class="input-block-level" type="text" id="input1" style="width:100px" />
						<input type="button" id="checkCode" class="code" style="width:60px" onClick="createCode()" />
						 <a href="#" onClick="createCode()">點擊刷新</a>
						</td>
					</tr>
					
					<tr>
						<td colspan="2" align="center">
							<input class="btn btn-small btn-primary" type="submit" value="登陸" onclick="validate();" />&nbsp;&nbsp;&nbsp;&nbsp;
							<input class="btn btn-small btn-primary" type="reset" value="重置"/>
						</td>
					</tr>
				</table>
			</form>

java Servlet代碼:session

private void login(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{

		//獲取頁面表單中的數據
		String userNumber = request.getParameter("userNumber");
		String password = request.getParameter("password");
		String role = request.getParameter("role");
		
		//把數據傳到service中,並把數據庫的數據放在實體中
		User user = ius.login(userNumber, password);
		//System.out.println(user.getRole());
		//System.out.println(user.toString());
		
		//若是user不爲空,則說明用戶名和密碼正確,跳轉到角色驗證
		//不然用戶名和密碼不匹配,則提示從新輸入
		if (user != null) {
			HttpSession session = request.getSession();
			session.setAttribute("user", user);    //把user放在session中
			/*
			 * //驗證頁面的角色和數據庫的角色是否一致,
			 * 若是頁面的角色和數據庫的角色一致,則登陸成功,
			 * 若是不一致則提示用戶類型錯誤,須要跳轉到登陸頁面從新輸入
			 */
			if(role.equals(user.getRole())&&role.equals("admin")){    
				request.getRequestDispatcher("findAllAdmin.admin").forward(request,response);
			}else if(role.equals(user.getRole())&&role.equals("teacher")){
				request.getRequestDispatcher("teacherLogin.work").forward(request,response);
			}else if(role.equals(user.getRole())&&role.equals("student")){
				request.getRequestDispatcher("findClassesBySNumber.work").forward(request,response);
			}else {
				response.sendRedirect("login.jsp");
			}
		} else {
			response.sendRedirect("login.jsp");
		}
	}
}
相關文章
相關標籤/搜索