cookie简单实用的使用方法

来源:互联网 发布:扫鬼软件下载 编辑:程序博客网 时间:2024/06/12 06:22

cookie的由来:      

      在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。

        而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。即用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。要跟踪该会话,必须引入一种机制。

       Cookie就是这样的一种机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。


JSP中可通过<% java代码 %>方式,把cookie设置到其中。HTML的话需要用JS进行设置和获取。下面展示的是java代码:

设置cookie : 

Cookie mycookie=new Cookie("cookieName",username+"#"+birthday+"#"+mail);      // 新建Cookie      

cookie.setMaxAge(60*60*24*365);           // 设置生命周期,单位秒

response.addCookie(mycookie);              // 输出到客户端

 

接收cookie:

String[] info =new String[]{ "", "", ""};

Cookie[] cook=request.getCookies();

If(cook!=null){

for(int i=0; i<cook.length; i++){

if(cook[i].getName().equals("cookieName")){

info = cook[i].getValue().split("#")   

  }

}

// 最后通过info[0]、info[1]、Info[2]这种方式获取cookie中存储的值。


1 0