Cookie

Cookie

CookieUtil类

public static void addCookie(String name,String value,int days,HttpServletResponse response)
{
	Cookie cookie = new Cookie(name,value);
	cookie.setMaxAge(60*60*24*days);
	cookie.setPath("/");
	response.addCookie(cookie);
}

    public static Cookie getCookie(String name,HttpServletRequest request)
    {
    	Cookie []cookies = request.getCookies();
    	if(cookies==null) return null;
    	for(Cookie cookie:cookies)
    	{
			if(name.equals(cookie.getName()))
			{
				return cookie;
			 }
   		}
     }

public static String getCookieValue(String name,HttpServletRequest request)
{
	Cookie cookie = this.getCookie(name,request);
	if(cookie==null) return null;
	return cookie.getValue();
}

Controllor
因为cookie是明文传送,所以密码须加密,这里举例MD5单向加密

//无加密
String userName = request.getParameter("userName");
String userPass = request.getParameter("userPass");
String saveUser = request.getParameter("saveUser");
if(saveUser!=null)
{
	CookieUtil.addCookie("userName",userName,7,response)
	CookieUtil.addCookie("userPass",userPass,7,response)
}
//单向加密
String username = request.getParameter("username");
String password = request.getParameter("password");
Userinfo userinfo = UserinfoDAO.getDao().findByUsernameAndPassword(username, password);
if (userinfo != null) {
    //如果选中了记住我,则写cookie
    String remeberMe = request.getParameter("rememberMe");
    if(remeberMe!=null)
    {
      //写cookie 因为cookie是明文传送,所以密码应该加密
      CookieUtil.write("username",username,"/",60*60*24*30,response);
      CookieUtil.write("password", MD5Utils.mymd5(password),"/",60*60*24*30,response);
    }

jsp获取cookie

<input type="text" value="<%=CookieUtil.getCookieValue("userName",request)==null?"":CookieUtil.getCookieValue("userName",request)%>" >
<input type="text" value=" <%=CookieUtil.getCookieValue("userPass",request)==null?"":CookieUtil.getCookieValue("userPass",request)%>" >
<input type="checkbox" name="saveUser" value="save" checked>保存用户名密码

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值