黑马程序员技术交流社区

标题: 已过三分有一 [打印本页]

作者: 王zy    时间: 2019-9-6 16:29
标题: 已过三分有一

Cookie

Session是基于Cookie
* Cookie        :将数据保存到客户端浏览器.
* Session        :将数据保存到服务器端.

会话级别的Cookie:默认的Cookie.关闭浏览器Cookie就会销毁.
持久级别的Cookie:可以设置Cookie的有效时间.那么关闭浏览器Cookie还会存在.持久性的cookie可以通过Cookie的setMaxAge(0)的形式进行销毁,但是销毁的前提是cookie的路径必须保持一致

对cookie的常用操作
public class CookieServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;

        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                //获取客户端携带过来得所有cookie
                Cookie[] cookies = request.getCookies();
                System.out.println(cookies);
                if(cookies!=null){
                        for(Cookie cookie : cookies){
                                String name = cookie.getName();
                                String value = cookie.getValue();
                                System.out.println(name+":"+value);
                        }
                }
               
                Cookie respCookie = new Cookie("lastVisit", System.currentTimeMillis()+"");
                //设置cookie有效域名
                respCookie.setDomain("www.b3a4a.com");
                //设置cookie有效路径
                respCookie.setPath("/");
                //设置cookie有效期
                respCookie.setMaxAge(60);
                //将cookie返回客户端浏览器
                response.addCookie(respCookie);
        }

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                doGet(request, response);
        }
}

销毁cookie的流程
        a)创建一个和原来cookie名字一样的cookie。
        b)设置cookie与原来cookie一致的有效路径。
        c)设置cookie的有效时间为0。
        d)回写cookie到浏览器。








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2