状态Cookie:Cookie对象仅会被缓存在浏览器所在的内存中。当浏览器关闭后Cookie对象 也会被销毁。
持久化Cookie:浏览器会对Cookie做持久化处理,基于文件形式保存在系统的指定目录中。在Windows10系统中为了安全问题不会显示Cookie中的内容。
当Cookie对象创建后默认为状态Cookie。可以使用Cookie对象下的cookie.setMaxAge(60)方法设置失效时间,单位为秒。一旦设置了失效时间,那么该Cookie为持久化Cookie,浏览器会将Cookie对象持久化到磁盘中。当失效时间到达后文件删除。
public class CreatCookieServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//创建cookie对象// Cookie cookie = new Cookie("key","我想回家了");Cookie cookie = new Cookie(URLEncoder.encode("老家","utf-8"), URLEncoder.encode("安庆","utf-8"));//指定实现时间,一旦指定失效时间,那么该cookie则为持久化cookiecookie.setMaxAge(60);//将cookie写回客户端resp.addCookie(cookie);PrintWriter printWriter = resp.getWriter();printWriter.println("creat cookie success");printWriter.flush();printWriter.close();}}
