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);
}
}