1.添加cookie属性,显示输出cookie相关内容并设置存在时间
package com.tsinghua;
import javax.servlet.http.*;
import java.io.*;
public class CookieTest1 extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res) {
try {
PrintWriter pw = res.getWriter();
res.setContentType("text/html;charset=utf8");
Cookie myCookie = new Cookie("pass","ok");
//设置cookie存在时间
myCookie.setMaxAge(30);
//将cookie添加到客户端
res.addCookie(myCookie);
pw.println("Hello,current cookie's name is "+myCookie.getName()+",value is "+myCookie.getValue());
}catch(Exception ex) {
ex.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res) {
this.doGet(req,res);
}
}
关键代码:
(1)新建Cookie
Cookie myCookie = new Cookie("String name","String value");
(2)设置Cookie存在时间(单位:s)
myCookie.setMaxAge(int time);
(3)获取Cookie的名称
myCookie.getName();
(4)获取Cookie的值
myCookie.getValue();
(5)将Cookie添加到客户端
res.addCookie(myCookie);
(6)获取所有Cookie信息
Cookie []allCookies = req.getCookies();
开启tomcat,访问浏览器效果如下:
2.检验cookie某属性是否存在,根据cookie是否存在输出相应的信息
package com.tsinghua;
import javax.servlet.http.*;
import java.io.*;
public class CookieTest2 extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res) {
try {
PrintWriter pw = res.getWriter();
res.setContentType("text/html;charset=utf8");
//获得所有cookie信息
Cookie []allCookies = req.getCookies();
if(allCookies!=null) {
for(int i=0; i<allCookies.length; i++) {
Cookie temp = allCookies[i];
if(temp.getName().equals("pass")) {
pw.println("pass="+temp.getValue());
break;
}
}
}else {
pw.println("Cookie is not exisits or out-of-date");
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res) {
this.doGet(req,res);
}
}
Reload后,访问浏览器,若Cookie仍然存在,显示的效果图如下:
若Cookie不存在(在设置cookie存在的时间30s后访问),显示的效果如图如下: