JavaWeb笔记(七)---- Session and Cookie

本人个人学习笔记 未经授权不允许转发

JavaWeb笔记(七)---- Session and Cookie

目录

1. Session
2. HttpServletResponse - 随机验证码
3. HttpServletRequest - 重定向
4. HttpServletRequest - 请求转发

Web服务器接收到客户端的http请求, 针对这个请求,分别创建一个代表请求的HttpServletRequest和一个代表响应的HttpServletResponse

  • 如果要获取客户端请求过来的一些参数:找HttpServletRequest
  • 如果要给客户端一些信息:找HttpServletResponse

1. 会话

会话: 用户打开浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程叫会话
有状态会话:
客户端    服务端

2. Cookie

  • 客户端技术 (响应,请求)
  1. 从请求中拿到cookie信息
  2. 服务器响应给客户端cookie
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        req.setCharacterEncoding("UTF-8");
        PrintWriter out = resp.getWriter();
        Cookie[] cookies = req.getCookies(); //从客户端获取cookie
        if (cookies != null){
            out.write("你上一次访问的时间");
            for (int i=0;i<cookies.length;i++){
                if (cookies[i].getName().equals("LastVisitTime")){ //查找cookie的名字
                    Long LVT = Long.parseLong(cookies[i].getValue()); //获取cookie的值
                    Date day = new Date(LVT);
                    out.write(day.toLocaleString());
                    System.out.println(day.toLocaleString());
                }
            }

        }
        else {
            out.write("这是你第一次访问");
        }
        Cookie cookie = new Cookie("LastVisitTime",System.currentTimeMillis()+"");
        cookie.setMaxAge(24*60*60);/设置cookie有效期 24h*60m*60s
        resp.addCookie(cookie);

    }

一个网站的Cookie存在上限:

  • 一个cookie只能保存一个信息
  • 一个web站点可给一个浏览器发送多个cookie,最多存放20个
  • cookie大小有限制4kb
  • 300个cookie为浏览器上限

删除cookie

  1. 不设置有效期,关闭浏览器,自动失效
  2. 设置有效期为0

3. Session

  • 服务端技术 (响应,请求)

什么是Session:

  • 服务器会给每个用户(浏览器)创建一个Session对象
  • 一个Session独占一个浏览器,只要浏览器没有关闭这个Session就存在
  • 用户登录后,整个网站它都可以访问 —> 用户登录信息 保存购物车信息

Session和Cookie区别

  • Cookie是把用户数据写给用户的浏览器,浏览器保存 (可以保存多个)
  • Session是把用户数据写到用户独占的Session中,服务器端保存 (保存重要信息,减少服务器端资源浪费)
  • Session对象由服务创建

使用场景

  • 保存用户登录信息
  • 购物车信息
  • 在整个网站中经常会使用的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值