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

java - 利用cookie实现记住用户名方便之后登陆

2016-07-24 08:38 483 查看
前情:

cookie中不能有中文,所以如果要保存中文时则用

URLEncoder.encode先编码,取cookie值时再用URLDecoder.decode解码

第一步:

//获得cookie
//【ServletActionContext.getRequest()】这是struts2中的写法,servlet直接request即可
public String getCookie(){
Cookie cookies[] = ServletActionContext.getRequest().getCookies();
for(int i=0;cookies!=null && i<cookies.length;i++){
Cookie cookie = cookies[i];
if(cookie.getName().equals("username")){
return URLDecoder.decode(cookie.getValue());
}
}
return "";
}


2.在登陆成功后【用户名和密码正确】加上一下代码:

//如果用户的用户名cookie为空,则发送cookie
if(getCookie()==""||!getCookie().equals(user.getUsername())){
Cookie cookie = new Cookie("username",URLEncoder.encode(user.getUsername()));
//设置时间为1年
cookie.setMaxAge(365*24*3600);
cookie.setPath("/");
//把cookie给浏览器
ServletActionContext.getResponse().addCookie(cookie);
}


记住密码也是同样的道理,是不是很简单~

jsp页面:

<script type="text/javascript">
$(function(){
$.ajax({
type:"get",                 url:"${pageContext.request.contextPath}/user_loginUI.do?",
async:false,
dataType:"json",
cache:false,
success:function(data){
//给用户名输入框的val赋值                                     $("#text").val(data.user.username);
//alert(data.user.username);
}
});
});
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java cookie servlet struts