package cookie;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "cookieServlet", urlPatterns = "/cookieServlet")
public class CookieServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("cookieServlet service ......");
// 1. 创建Cookie对象
Cookie cookie = new Cookie("username", "admin");
// 2. 设置Cookie对象的存活时间
// setMaxAge(int expiry) 通过设置Cookie类封装的私有属性maxAge
// 来设定Cookie对象的存活时间,注意这里的expiry的取值单位是“秒”
// 其形参为int类型,实参对应取以下三种类型的int值:
// (1) 负整数
// 当取负整数时,Cookie对象仅仅保存在浏览器的内存中,
// 当浏览器关闭后,Cookie对象将被删除
// 注意:
// Cookie类的源码中有一条语句:private int maxAge = -1;
// 即maxAge的默认值为-1
// (2) 0
// 当取0时,Cookie对象会被保存在磁盘上,但是存活时间为0,
// 即Cookie对象会先保存在磁盘上,但由于存活时间为0,
// Cookie对象会被立即删除
// 注意:
// 通过这个效果,可以间接实现删除Cookie对象的功能
// (3) 正整数
// 当取正整数时,Cookie对象会被保存指定长度的时间,
// 当浏览器关闭后,在Cookie对象的存活时间内,Cookie对象不会被删除
cookie.setMaxAge(100);
// 3. 使用响应将Cookie对象发送到浏览器
resp.addCookie(cookie);
}
}
Cookie对象的存活时间
最新推荐文章于 2024-07-16 18:45:44 发布