您的位置:首页 > 编程语言 > Java开发

Java对Cookie的操作

2012-01-16 08:25 531 查看

Java对Cookie的操作

原文地址




public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

{


LazyValidatorForm userForm = (LazyValidatorForm) form;


log.info("UserAction:验证用户登录");


//得到用户名和密码


String username = (String) userForm.get("username");


String password = (String) userForm.get("password");


Map<String,Object> userMap = new HashMap<String,Object>();


userMap.put("userName", username);


userMap.put("userPassword", password);


//设置Cookie


int cookieDate = Integer.parseInt(userForm.get("cookieDate").toString());


if(cookieDate != 0)






{


Cookie cookie1 = new Cookie("username",username);


Cookie cookie2 = new Cookie("password",password);


if(cookieDate == 1)






{


//一天


cookie1.setMaxAge(60 * 60 * 24);


cookie2.setMaxAge(60 * 60 * 24);


}


if(cookieDate == 2)






{


//一个月


cookie1.setMaxAge(60 * 60 * 24 * 31);


cookie2.setMaxAge(60 * 60 * 24 * 31);


}


if(cookieDate == 3)






{


//一年


cookie1.setMaxAge(60 * 60 * 24 * 365);


cookie2.setMaxAge(60 * 60 * 24 * 365);


}


//把捕获来的cookies添加到响应里


response.addCookie(cookie1);


response.addCookie(cookie2);


}


User user = null;


//验证用户名和密码


if(userManager.createCriteria(Restrictions.allEq(userMap)).list().size() > 0)






{


log.info("UserAction:登录成功");


user = (User) userManager.createCriteria(Restrictions.allEq(userMap)).list().get(0);


request.getSession().setAttribute("user", user);


return mapping.findForward("success");


}


else






{


this.saveMessage(request, "login.error", "用户名或密码错误");


log.info("UserAction:登录失败");


request.setAttribute("error","username or password is wrong");


return mapping.getInputForward();


}




}
登录前的跳转:




/** *//**


* 登录前的跳转


* @param mapping


* @param form


* @param request


* @param response


* @return


*/




public ActionForward forwardlogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

{


log.info("UserAction:登录前的跳转,Cookie处理");


//取出cookies


Cookie[] cookies = request.getCookies();


String username = null;


String password = null;


if(cookies.length != 0)






{


for(int i = 0; i < cookies.length; i ++)






{


//根据key取出值


if(cookies[i].getName().equals("username"))






{


username = cookies[i].getValue();


}


if(cookies[i].getName().equals("password"))






{


password = cookies[i].getValue();


}


}


}


request.setAttribute("username", username);


request.setAttribute("password", password);


return mapping.findForward("login");


}

前台:


<form action="${ctx}/user.do?method=login" method="post" onsubmit="return check();">


<table cellpadding=0 cellspacing=0 border=0 width=98%


bgcolor=#0099cc align=center>


<tr>


<td>


<table cellpadding=6 cellspacing=1 border=0 width=100%>




<tr>


<td bgcolor=#99ccff valign=middle colspan=2 align=center>


<!-- 判断用户名或密码是否错误 -->


<logic:empty name="error" scope="request">


<font color="green"><b>请输入您的用户名、密码登陆</b></font>


</logic:empty>


<logic:notEmpty name="error" scope="request">


<bean:message key="login.error"/>


</logic:notEmpty>


</td>


</tr>


<tr>


<td bgcolor=#f2f8ff valign=middle>


请输入您的用户名


</td>


<td bgcolor=#f2f8ff valign=middle>


<INPUT value="${requestScope.username}" name="username" type=text id="username" onblur="return check();">


 


<a href="${ctx}/main/common/reg.jsp">没有注册?</a>


</td>


<!-- 用户名错误提示信息 -->


<td id="username_info" style="color:red;position: absolute;left:550px;top:235px;"></td>


</tr>


<tr>


<td bgcolor=#f2f8ff valign=middle>


请输入您的密码


</td>


<td bgcolor=#f2f8ff valign=middle>


<INPUT value="${requestScope.password}" name="password" type=password id="password" onblur="return check();">


 


<a href="lostpass.jsp">忘记密码?</a>


</td>


<!-- 密码错误提示信息 -->


<td id="password_info" style="color:red;position: absolute;left:550px;top:270px;"></td>


</tr>


<tr>


<td bgcolor=#f2f8ff valign=top width=30%>


<b>Cookie 选项</b>


<BR>


请选择您的Cookie保存时间<br>


下次访问可以方便输入<br><br />


<a href="#" onclick="clearCookie();" style="color:green;">清空Cookies</a>


<div id="cookie_info" style="color:maroon;position: absolute;left:100px;top:360px;"></div>


</td>


<td bgcolor=#f2f8ff valign=middle>


<input type="radio" id="cookieDate" name="cookieDate" value="0" checked>


不保存,关闭浏览器就失效


<br>


<input type="radio" id="cookieDate" name="cookieDate" value="1">


保存一天


<br>


<input type="radio" id="cookieDate" name="cookieDate" value="2">


保存一月


<br>


<input type="radio" id="cookieDate" name="cookieDate" value="3">


保存一年


<br>


</td>


</tr>


<input type=hidden name=comeURL


value="#" />


<tr>


<td bgcolor=#99ccff valign=middle colspan=2 align=center>


<input type=submit name="submit" value="登 陆">


</td>


</tr>


</table>


</td>


</tr>


</table>


</form>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: