一、
package edu.aeon.cookie; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CookieServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("start"); Cookie c1=new Cookie("username", "aeon"); Cookie c2=new Cookie("password", "aeonpw"); //指定cookie绑定路径、这里的路径必须带上项目名称 c1.setPath(request.getContextPath()+"/c1/cookie"); c2.setPath(request.getContextPath()+"/c2/cookie"); //设置cookie的有效期为1个小时 c1.setMaxAge(60*60);//单位秒 //设置cookie的有效期为10天 c1.setMaxAge(60*60*24*10); response.addCookie(c1); response.addCookie(c2); System.out.println("end"); } }
如果不设置cookie的有效期,则cookie会默认在会话结束时过期,此种状态的cookie只存在浏览器的缓存当中,当浏览器关闭时候cookie会自动销毁。
如果设置了cookie的有效期,则cookie会被写入到硬盘中,在cookie有效期内,哪怕你是电脑关机重启,仍然是存在的。
当cookie绑定了路径(这个所绑定的路径必须带上项目名称request.getContextPath()+“/a/b/c”)则这个cookie只会在发生与其绑定路径相应的请求中才会携带cookie数据。