1. 程式人生 > >java web專案用cookie記住使用者名稱、密碼

java web專案用cookie記住使用者名稱、密碼

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