码迷,mamicode.com
首页 > Web开发 > 详细

jsp操作Cookie

时间:2015-01-24 21:21:31      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

Cookie通常用于网站记录客户的某些信息,比如客户的用户名,客户的喜好等。一旦用户下次登录,网站就可以得到客户端的信息,根据这些客户信息,网站可以为客户提供更好的服务了。Cookie与session的不同之处在于:session会随浏览器的关闭而失效,cookie会一直存在客户端的机器上,除非超出的Cookie的生存周期。

关于Cookie与session请看这个博客,讲的很详细:http://blog.csdn.net/fangaoxin/article/details/6952954

向客户端增加Cookie使用一下步奏:

1、首先创建Cookie实例,Cookie的构造函数为Cookie(String name,String value)

2、设置cookie 的生命周期

3、向客户端写Cookie,使用response的addCookie();方法。

下面是一个例子:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>取钱的表单页</title>

  </head>
 
  <body>
    <form  method= "post" action="first.jsp">
                取钱: <input type="text" name="name">
           <input type="submit" value="提交">
    </form>
  </body>
</html>

上面是一个客户端的请求,下面是服务器接到客户端的请求处理后返回给客户端的页面

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
 
  <body>
    <%
        String str = request.getParameter("name");
        //  创建一个Cookie对象
        Cookie ce = new Cookie("user","name");
        // 设置Cookie的生存时间
        ce.setMaxAge(24*3600);
        //  向客户端增加Cookie对象
        response.addCookie(ce);
     %>
  </body>
</html>

执行上面的代码服务端会向客户端机器写入一个user的Cookie,该Cookie会在客户端的硬盘上一直存在,知道超过生存周期。。

访问客户端的Cookie使用request对象,他提供了getCookies的方法,该方法会返回客户端上所有Cookie组成的数组,遍历这个数组找到想要的Cookie即可。

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
 
  <body>
    <%
       Cookie[] ceArr = request.getCookies();
       for(Cookie ce:ceArr)
       {
           if(ce.getName().equals("user"))
           {
                 out.println(ce.getValue());
           }
       }
     %>
  </body>
</html>

这样就完成了Cookie的创建,写入到客户端,客户端访问的过程了。

jsp操作Cookie

标签:

原文地址:http://www.cnblogs.com/duhuo/p/4246585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!