java web專案用cookie記住使用者名稱、密碼
阿新 • • 發佈:2019-02-17
1.jsp頁面:
<% String flag = (String)session.getAttribute("flag")==null?"":(String)session.getAttribute("flag"); String name = ""; String password = ""; try{ Cookie[] cookies=request.getCookies(); if(cookies!=null){ for(int i=0;i<cookies.length;i++){ if(cookies[i].getName().equals("cookie_user")){ String value = cookies[i].getValue(); if(value!=null&&!"".equals(value)){ name=cookies[i].getValue().split("-")[0]; if(cookies[i].getValue().split("-")[1]!=null && !cookies[i].getValue().split("-")[1].equals("null")){ password=cookies[i].getValue().split("-")[1]; } } } request.setAttribute("name",name); request.setAttribute("passward",password); } } }catch(Exception e){ e.printStackTrace(); } %> <body> <div id="logo"><img src="<%=request.getContextPath() %>/frontsite/Images/Logo.jpg" width="244" height="44" alt="" /></div> <div id="loginfrm"> <form action="<%=request.getContextPath() %>/frontsite/login.do?method=login" method="post" id="forms" onsubmit="checkForm();return false;"> <div class="frm"> <ul> <li class="l1">使用者名稱:</li> <li class="l2"><input name="login_id" type="text" id="login_id" class="input" value="<%=name %>"/></li> <li class="l3">* 最大限度為20位元組</li> <li class="l1">密碼:</li> <li class="l2"><input name="login_pwd" type="password" id="login_pwd" class="input" value="<%=password %>"/></li> <li class="l3">* 最大限度為20位元組</li> <li class="l1">驗證碼: <li class="l2" style="width: 180px;"><input name="checkImg" id="checkImg" type="text" class="input" style="width: 60px;" size="10" /> <img src="<%=request.getContextPath() %>/CheckImg_FT" width="49" height="22" /></li> <li class="l4"> <label><input type="checkbox" name="flag" id="flag" value="1" <%if(flag!=null && flag.equals("1")){%> checked ; value ="1"; <%}else {%> value="0" <%;}%> />記住密碼</label> <label><span style="margin-left:10px; color: #F00;" ><html:errors /></span></label> </li> <li class="l4"><input type="image" name="imageField" id="imageField" src="<%=request.getContextPath() %>/frontsite/Images/login_bnt.jpg" /></li> </ul> </div> </form> </div> </body>
2.java 類:
String flag = request.getParameter("flag"); //set cookie if(flag!=null && flag.equals("1")){ Cookie cookie = new Cookie("cookie_user", po.getLogin_id()+"-"+form.getLogin_pwd()); cookie.setMaxAge(60*60*24*30); //cookie 儲存30天 response.addCookie(cookie); }else{ Cookie cookie = new Cookie("cookie_user",po.getLogin_id()+"-"+null); cookie.setMaxAge(60*60*24*30); //cookie 儲存30天 response.addCookie(cookie); }
http://my.oschina.net/gao0516/blog/72507