java HttpServlet 之 会话Cookie和Session

Cookie技术:将一些参数存入客户端硬盘中(可以持久化的存入用户硬盘中)
Session技术:将一些参数存入服务器端(默认关闭浏览器就没了,但是可以进行持久化)


Cookie:

 
        //1.创建Cookie并添加
        //创建Cookie对象 
        Date date=new Date();
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String time = format.format(date);

        //因为数据里面有空格 在tomcat高版本直接就报错 进行特殊处理
        time = URLEncoder.encode(time,"UTF-8");

        Cookie cookie=new Cookie("lastAccessTime",time);
        //设置Cookie的持久化时间(int seconds) //毫秒
        cookie.setMaxAge(5*60*1000); //设置5分钟  设置0其实就是移除了Cookie
        //设置Cookie携带路径
        cookie.setPath("/"); //访问服务器所有资源都会携带这个 默认不设置是同级的目录
        //添加进响应
        resp.addCookie(cookie);

        //2.获取打印所有Cookie
        Cookie[] cookies = req.getCookies();
        if(cookies!=null)
        for (Cookie c:cookies) {
            String name = c.getName();
            //解析特殊处理
            String value = URLDecoder.decode(c.getValue(),"UTF-8");
            resp.getWriter().write(name+":"+value);
            resp.getWriter().write("<br />");
        }
        else
        {
            resp.getWriter().write("没有Cookie <br />");
        }


Session:

        //存入
        req.getSession().setAttribute(name,val);
        //取出
        req.getSession().getAttribute(name);
Session持久化(关闭浏览器还存在):

        HttpSession session=req.getSession();
        String id = session.getId();
        Cookie cookie=new Cookie("JSESSIONID",id);
        cookie.setMaxAge(60*60*1000); // 设置个一小时
        resp.addCookie(cookie);


测试代码:百度云盘下载:https://pan.baidu.com/s/1eSAOiP0  密码:b5zr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值