cookie

本文详细介绍了Cookie的概念、创建、设置、读取及删除方法,并通过示例代码展示了如何在Web开发中使用Cookie来存储用户信息,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie类在javax.servlet.http包里面

由服务器创建并发送到客户端,在客户端保存,一般是一些登录网站的用户名和密码等,文本文件

//创建cookie
Cookie mycookie= new Cookie("color","red");
//设置cookie保存时间,单位秒
mycookie.setMaxAge(120);
//将cookie写向客户端
HttpServletResponse.addCookie(mycookie);

//参数设置为0,表示删除cookie
mycookie.setMaxAge(0);

2. 向客户端写cookie

package com.tsinghua;

//Cookie类在javax.servlet.http包里面 

import javax.servlet.http.*;

import java.io.*;

public class CookieTest1 extends HttpServlet{

 public void doGet(HttpServletRequest req,HttpServletResponse res{
   try{
       res.setCharacterEncoding("gbk");
       PrintWriter pw=res.getWriter();
       //创建cookie
       Cookie mycookie= new Cookie("color","red");
       //设置cookie保存时间,单位秒
       mycookie.setMaxAge(120);
       //将cookie写向客户端
       res.addCookie(mycookie);
       pw.println("已经向客户端添加cookies");
   }catch(Exception e){
       e.printStackTrace();
   }
 }
 public void  doPost(HttpServletRequest req,HttpServletResponse re{
     this.doGet(req,res);
 }
}

 

3.从客户端读取cookie

 

package com.tsinghua;

//Cookie类在javax.servlet.http包里面

import javax.servlet.http.*;

import java.io.*;

public class CookieTest2 extends HttpServlet{

     public void doGet(HttpServletRequest req,HttpServletResponse res{
           try{
                //向客户端写东西时解决中文乱码
                res.setCharacterEncoding("gbk");
               //从HttpServletResponse对象中得到PrintWriter这支笔,用于向客户端写东西
               PrintWriter pw=res.getWriter();
               //HttpServletRequest中得到客户端保存的所有cookie,返回值为Cookie[]类型
               Cookie[] allCookies=req.getCookies();
              //如果数组对象allCookies不为空,则遍历它
               if(allCookies!=null){
                      for(int i=0;i<allCookies.length;i++){
                      //循环次取出cookie
                      Cookie temp=allCookies[i];
                     //调用getName()获得cookie的名字
                      if(temp.getName().equals("color")){
                      //调用getValue()方法得到cookie值
                      String val=temp.getValue();
                      pw.println("color" + val);
                      break;
       }
      
    }
         if(allCookies.length==0){
                 pw.println("cookie 已经过期");
         }
    }else{
          //即allCookies为null
          pw.println("不存在cookie");
   }
   }catch(Exception e){
          e.printStackTrace();
   }
 }
 
 public void doPost(HttpServletRequest req,HttpServletResponse res) {
     this.doGet(req,res);
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值