JSP基础:Cookie的使用

        Cookie是浏览器提供的一种技术,这种技术是服务端可以将一些只需要保存在客户端,或者在客户端进行处理的数据,放在本身使用的计算机中,一方面因为不需要使用网络提高了处理效率,另一方面能够减少服务器的负载,但是由于Cookie是服务端保存在客户端的数据,所以其安全性是很差的。

一.Cookie定义的常用方法

        public Cookie(String name,String value)  构造方法  实例化Cookie对象,同时设置名称和内容

        public String getName() 普通方法 获取Cookie的名称

        public Stirng getValue() 普通方法  获取Cookie的值

二.向客户端添加Cookie

        由于Cookie都是服务端向客户端添加的,所以需要用到response对象的以下方法:

        public void addCookie(Cookie cookie)

      Cookie c1 = new Cookie("cookie1","第一条");
      Cookie c2 = new Cookie("cookie2","第二条");
      response.addCookie(c1);
      response.addCookie(c2);

        可以通过设置头信息完成设置cookie的操作:

        

response.setHeader("Set-Cookie","c1=cookie111");

三.取得Cookie

        可以通过request对象从客户端中取得Cookie

        public Cookie[] getCookies()

<%
    Cookie c[] = request.getCookies();
    for(int i=0;i < c.length;i++){
%>
<h3><%=c[i].getName()%> <%=c[i].getValue()%></h3>
<%
    }
%>

运行截图如下:

可以发现除了刚才设置的两个Cookie还出现了JSESSIONID,这个是服务端对每个用户设置的Cookie,作为用户的唯一标识

四.设置保存时间

        上面的cookie在重启浏览器后会出现NullPointerException,原因是之前设置的两个cookie并没有真正的保存在客户端,只是保存在客户端的浏览器上,如果想要真正的把数据保存在客户端上则需要设置保存时间。使用setMaxAge()即可。

      Cookie c1 = new Cookie("cookie1","第一条");
      Cookie c2 = new Cookie("cookie2","第二条");
      c1.setMaxAge(60);
      c2.setMaxAge(60);
      response.addCookie(c1);
      response.addCookie(c2);

其中的参数是按秒计算的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值