分享

通过cookie保存并读取用户登录信息

 丽和书屋 2015-03-04
1,创建A页面,在页面中,首先获取Cookie对象集合,如果集合不为空,就通过for循环遍历cookie集合,从中找出设置的cookie(这里指mrCookie)
,并从改cookie中提取出用户名和注册时间,在根据获取的结果显示不同的提示信息。
<body>
<%
Cookie [] cookies=request.getCookies();//从reques中获取cookie对象的集合
String user="";//登录用户
String date="";//注册时间
if(cookies!=null){
for(int i=0;i<cookies.length;i++){//遍历cookie对象集合
if(cookies[i].getName().equals("mrCookie")){//如果cookie对象名称为mrCookie
user=URLDecoder.decode(cookies[i].getValue().split("#")[0],"utf-8");//获取用户名
//加个utf-8,防止中文乱码。
date=cookies[i].getValue().split("#")[1];//获取注册时间
}
}
}
if("".equals(user)&&"".equals(date)){//如果没有注册
%>
游客你好,欢迎您初次登陆!
<form action="NewFile3.jsp" method="post">
请输入姓名:<input name="user" type="text" value=""/>
<input type="submit" value="确定"/>
</form>
<%
}else{//已经注册
%>
欢迎【<b><%=user%></b>】再次光临<br/>
您注册的时间是:<%=date%>
<%
}
%>
</body>


2,编写B页面,用于向cookie中写入注册信息
<body>
<%
request.setCharacterEncoding("utf-8");//设置请求编译为utf-8
/* 
如何不想url中看到有明文--js的encodeURI和java的URLDecoder.decode一起使用
如何不想url中看到有明文,比如http://localhost:8080/template_1/login.action?user=王三
可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 
UTF-8是和页面上的编码保持一致 比如:jsp页面上 pageEncoding="UTF-8" 这里就要是UTF-8*/

String user = URLEncoder.encode(request.getParameter("user"),"utf-8");//获取用户名
//创建并实例化cook对象
//toLocaleString()的作用是将时间格式化为本地时间,返回值为字符串类型
Cookie cookie=new Cookie("mrCookie",user+"#"+new java.util.Date().toLocaleString());
cookie.setMaxAge(60*60*24*30);//设置cookie有效期为30天
response.addCookie(cookie);//保存cookie
%>
<script>
window.location.href="NewFile4.jsp";
</script>
</body>

 
 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多