A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王zy 初级黑马   /  2019-9-6 16:29  /  1170 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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到浏览器。



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马