会话技术Cookie存活时间和Cookie存储中文
会话技术Cookie存活时间
1.默认情况下,当浏览器关闭后,Cookie数据被销毁
2.持久化存储:
setMaxAge(int seconds)
1.正数:将Cookie数据写到硬盘的文件中。持久化存储。cookie存活时间。
2.负数:默认值
3.零:删除cookie信息
@WebServlet("/cookieD4") public class CookieD4 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //创建Cookie对象 Cookie c1 = new Cookie("msg", "setMaxAge"); //设置cookie的存活时间 c1.setMaxAge(30);//将Cookie持久化到硬盘,30秒后会自动删除Cookie文件 //c1.setMaxAge(-1); //c1.setMaxAge(0); //发送Cookie resp.addCookie(c1); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); } }
先创建cookie对象设置存活时间 访问获取cookie的类打印会把数据打印出来,
在将浏览器关闭在去访问 获取cookie的类,控制台还会打印,等待30秒在访问就访问不出来了
Cookie存储中文
在tomcat 8 之前 cookie中不能直接存储中文数据。
需要将中文数据转码---一般采用URL编码(%E3)
在tomcat 8 之后,cookie支持中文数据。但特殊字符还是不支持,建议使用URL编码存储,URL解码解析。