cookie实例

通过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有效期为30response.addCookie(cookie);  
%>  
<script type="text/javascript">window.location.href=\'#\'" /script>  
</body>  
</html>  

注意:
(1)在向cookie中保存的信息中如果包括中文,需要调用java.net.URLEncoder类的encode()方法保存到cookie中的信息进行编码;
(2)在读取内容时,需要应用到java.net.URLDecoder类的decode()方法进行解码。这样就可以成功地向cookie中写入中文.
建议:多练习,方可熟悉掌握。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值