会话技术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解码解析。

posted @ 2022-08-11 10:36  魔光领域  阅读(123)  评论(0编辑  收藏  举报