1. 程式人生 > >cookie製作儲存密碼的登陸頁面

cookie製作儲存密碼的登陸頁面

第一步:寫一個jsp頁面,製作登陸頁面的表格。如果coolie中已經儲存了使用者名稱和密碼資訊,可以不用輸入,直接再登陸頁面直接顯示出來。

<h1>登陸頁面</h1>
	<hr>
	<%
		String username = "";
		String password = "";
		Cookie[] cookies = request.getCookies();
		for (Cookie c : cookies) {
			if (c.getName().equals("username")) {
				username = URLDecoder.decode(c.getValue(), "utf-8");
			}
			if (c.getName().equals("password")) {
				password = URLDecoder.decode(c.getValue(), "utf-8");
			}
		}
	%>
	<form action="doLogin.jsp" method="post">
		<table>
			<tr>
				<td>使用者名稱:</td>
				<td><input type="text" name="username" value="<%=username%>"></td>
			</tr>
			<tr>
				<td>密碼:</td>
				<td><input type="password" name="password"
					value="<%=password%>"></td>
			</tr>
			<tr>
				<td><input type="checkbox" name="remember" checked="checked"
					value="true">是否記住賬號密碼</td>
			</tr>
			<tr>
				<td><input type="submit" value="提交"></td>
			</tr>
		</table>
	</form>

第二步:寫一個處理提交表單資訊的jsp頁面,得到表單中的資訊,如果勾選框勾中的話,將使用者名稱和密碼資訊存放在新建立的cookie物件中,如果沒有勾中的,將cookie中原來儲存的資訊也清除。

<h1>表單處理頁面</h1>
	<hr>
	<%request.setCharacterEncoding("utf-8"); %>
	<%
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String isRemember = request.getParameter("remember");
		if (isRemember != null) {
			Cookie usernameCookie = new Cookie("username", URLEncoder.encode(username, "utf-8"));
			Cookie passwordCookic = new Cookie("password", URLEncoder.encode(password, "utf-8"));
			usernameCookie.setMaxAge(24 * 60 * 60);
			passwordCookic.setMaxAge(24 * 60 * 60);
			response.addCookie(usernameCookie);
			response.addCookie(passwordCookic);
		} else {
			Cookie[] cookies = request.getCookies();
			for (Cookie c : cookies) {
				if (c.getName().equals("username") || c.getName().equals("password")) {
					c.setMaxAge(0);
				}
				response.addCookie(c);
			}
		}
	%>
	使用者名稱:<%=username %>
	<br>
	密碼:<%=password %>
	<br>
	<a href="test.jsp">點我測試cookie是否儲存資訊</a>

第三步:寫一個測試jsp頁面,看cookie物件是否建立,如果儲存了資訊的話,可以從這裡頁面中顯示出來。

<h1>測試cookie是否儲存頁面</h1>
	<hr>
	
	<%
		String username = "";
		String password = "";
		Cookie[] cookies = request.getCookies();
		for (Cookie c : cookies) {
			if (c.getName().equals("username")) {
				username = URLDecoder.decode(c.getValue(), "utf-8");
			}
			if (c.getName().equals("password")) {
				password = URLDecoder.decode(c.getValue(), "utf-8");
			}
		}
	%>
	使用者名稱:<%=username%><br> 密碼:<%=password%>