JSP的Cookie在登錄中的使用
一 功能需求
實(shí)現(xiàn)記憶用戶名和密碼功能。
二 代碼
1、login.jsp
%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%> % String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> html> head> base href="%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" > title>My JSP 'index.jsp' starting page/title> meta http-equiv="pragma" content="no-cache"> meta http-equiv="cache-control" content="no-cache"> meta http-equiv="expires" content="0"> meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> meta http-equiv="description" content="This is my page"> !-- link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" > --> /head> body> h1>用戶登錄/h1> hr> % request.setCharacterEncoding("utf-8"); String username=""; String password = ""; Cookie[] cookies = request.getCookies(); if(cookies!=nullcookies.length>0) { 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 name="loginForm" 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 colspan="2">input type="checkbox" name="isUseCookie" checked="checked"/>十天內(nèi)記住我的登錄狀態(tài)/td> /tr> tr> td colspan="2" align="center">input type="submit" value="登錄"/>input type="reset" value="取消"/>/td> /tr> /table> /form> /body> /html>
2、dologin.jsp
%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%> % String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> html> head> base href="%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" > title>My JSP 'dologin.jsp' starting page/title> meta http-equiv="pragma" content="no-cache"> meta http-equiv="cache-control" content="no-cache"> meta http-equiv="expires" content="0"> meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> meta http-equiv="description" content="This is my page"> !-- link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" > --> /head> body> h1>登錄成功/h1> hr> br> br> br> % request.setCharacterEncoding("utf-8"); //首先判斷用戶是否選擇了記住登錄狀態(tài) String[] isUseCookies = request.getParameterValues("isUseCookie"); if(isUseCookies!=nullisUseCookies.length>0) { //把用戶名和密碼保存在Cookie對象里面 String username = URLEncoder.encode(request.getParameter("username"),"utf-8"); //使用URLEncoder解決無法在Cookie當(dāng)中保存中文字符串問題 String password = URLEncoder.encode(request.getParameter("password"),"utf-8"); Cookie usernameCookie = new Cookie("username",username); Cookie passwordCookie = new Cookie("password",password); usernameCookie.setMaxAge(864000); passwordCookie.setMaxAge(864000);//設(shè)置最大生存期限為10天 response.addCookie(usernameCookie); response.addCookie(passwordCookie); } else { Cookie[] cookies = request.getCookies(); if(cookies!=nullcookies.length>0) { for(Cookie c:cookies) { if(c.getName().equals("username")||c.getName().equals("password")) { c.setMaxAge(0); //設(shè)置Cookie失效 response.addCookie(c); //重新保存。 } } } } %> a href="users.jsp" rel="external nofollow" target="_blank">查看用戶信息/a> /body> /html>
3、users.jsp
%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=utf-8"%> % String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> html> head> base href="%=basePath%>" rel="external nofollow" rel="external nofollow" rel="external nofollow" > title>My JSP 'users.jsp' starting page/title> meta http-equiv="pragma" content="no-cache"> meta http-equiv="cache-control" content="no-cache"> meta http-equiv="expires" content="0"> meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> meta http-equiv="description" content="This is my page"> !-- link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" > --> /head> body> h1>用戶信息/h1> hr> % request.setCharacterEncoding("utf-8"); String username=""; String password = ""; Cookie[] cookies = request.getCookies(); if(cookies!=nullcookies.length>0) { 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"); } } } %> BR> BR> BR> 用戶名:%=username %>br> 密碼:%=password %>br> /body> /html>
三 測試
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
標(biāo)簽:貸款邀約 樂山 內(nèi)江 銅川 黃石 大連 南京 廣州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP的Cookie在登錄中的使用》,本文關(guān)鍵詞 JSP,的,Cookie,在,登錄,中的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。