当前位置:首页 > 开发 > Web前端 > 前端 > 正文

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

发表于: 2014-02-21   作者:知了ing   来源:转载   浏览:
摘要: 通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。 下面通过cookie保存并读取用户登录信息的例子加深一下理解。 (1)创建index.jsp文件。在改
通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。
下面通过cookie保存并读取用户登录信息的例子加深一下理解。
(1)创建index.jsp文件。在改文件中,首先获取cookie对象的集合,如果集合不为空,就通过for循环遍历cookie集合,从中找出设置的cookie(这里设置为lee),并从该cookie中提取出用户名和注册时间,再根据获取的结果显示不同的提示信息。
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@page import="java.net.URLDecoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>通过cookie保存并读取用户登陆信息</title>
</head>
<body>
<%
Cookie[] cookies=request.getCookies();//从request中获得cookie对象的集合
String user="";//登录用户
String date="";//注册时间
if(cookies!=null){
    for(int i=0;i<cookies.length;i++){
        if(cookies[i].getName().equals("lee")){
            user=URLDecoder.decode(cookies[i].getValue().split("#")[0]);//获取用户名
            date=cookies[i].getValue().split("#")[1];//获取注册时间
                                                                           
        }
    }
                                                                   
}
if("".equals(user)&&"".equals(date)){ //如果没有注册
%>
游客你好,欢迎你初次光临!
<form action="deal.jsp"method="post">
请输入姓名:<input name="user"type="text"value="">
<input type="submit"value="确定">
</form>
<%
}else{ //已经注册
    %>
    欢迎[<b><%=user %><b>]再次光临<br>
    你注册的时间是:<%=date %>
<%
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@page import="java.net.URLEncoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>写入cookie</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");//设置请求的编译为utf-8
String user=URLEncoder.encode(request.getParameter("user"),"utf-8");//获取用户名
Cookie cookie=new Cookie("lee",user+"#"+new java.util.Date().toLocaleString());//创建并实例化cookie对象
cookie.setMaxAge(60*60*24*30);//设置cookie有效期为30天
response.addCookie(cookie);
%>
<script type="text/javascript">window.location.href=\'#\'" /script>
</body>
</html>

技巧:在向cookie中保存的信息中如果包括中文,需要调用java.net.URLEncoder类的encode()方法保存到cookie中的信息进行编码;在读取内容时,需要应用到java.net.URLDecoder类的decode()方法进行解码。这样就可以成功地向cookie中写入中文

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
同时使用session和cookie来保存用户登录信息 1、数据库连接配置页面:connectvars.php <?php //&
一. 本程序要实现的功能 第一次登录页面时,若在表单中选择了“记住密码”,则下次登录网站时不用
在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚
对于经常访问的论坛,社区网站,如果每一次在自己电脑上浏览的时候就得输入用户名和密码,这样就非
想要下一次进入自己的网站时保留用户信息以便简化登录手续,所以研究了Cookie。 Cookie是储存在用户
一、将DataTable的内容写入到XML文件中 /// <summary> /// 将DataTable的内容写入到XML文件中
Oracle用户登录信息的统计 1.创建存储Oracle用户登录信息的表: create table stats$user_log ( use
User表: User.java package user.domain; import java.io.Serializable; import java.util.Date; p
一.基础知识 我们在使用Android手机时,可能会经常用到其中的设置界面,如下所示: 而且对于我们自
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 本文要用Servlet+Jsp+MySql
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号