首页 > 其他分享 >Cookie

Cookie

时间:2023-01-08 23:22:48浏览次数:36  
标签:Session resp session cookie Cookie out

Cookie&&Session

一. Cookie

1. 新建web项目
  • 添加maven包
  • 创建类
  • 重写doget,dopost方法
  • 设置字符编码
2. java代码
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//解决浏览器输出乱码
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");

        PrintWriter out = resp.getWriter();
//        从服务器获取Cookie
        Cookie[] cookies = req.getCookies();
        if (cookies != null) {
            out.write("上次访问时间为:");
            for (Cookie cookie : cookies) {
                System.out.println(cookie.getName());
                if (cookie.getName().equals("lastLoginTime")){
                    long lastLoginTime = Long.parseLong(cookie.getValue());
                    Date date = new Date(lastLoginTime);
                    //输出为中文
                    out.write(date.toLocaleString());
                }
            }

        } else {
            out.write("这是你第一次访问本站");
        }
//        返回服务器一个cookie
        Cookie cookie = new Cookie("lastLoginTime",System.currentTimeMillis() + "");

//        自定义有效期为一天
        cookie.setMaxAge(24*60*60);

        resp.addCookie(cookie);
        

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }

二. Session(*)

1. 字面解释:会话控制,存储特定用户会话所需的属性及配置信息
当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web页时,如果该用户还没有会话,则Web服务器将自动创建一个 Session对象。当会话过期或被放弃后,服务器将终止该会话
2. 代码
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");
//        得到session
        HttpSession session = req.getSession();
//        存入一些数据
        session.setAttribute("yorha","111");
//        获取Session的id
        String id = session.getId();

//        判断是否为新建的
        if (session.isNew()){
            resp.getWriter().write("是");
        }else {
            resp.getWriter().write("不是呢,是新建的:"+id);
        }
3. 效果图

解释:浏览器在打开时就会创建一个session

点一下红圈,清空缓存

重新加载网页

此时得到的就是新建的session

标签:Session,resp,session,cookie,Cookie,out
From: https://www.cnblogs.com/yorha/p/17035711.html

相关文章

  • 获取京东cookie
    注意:用浏览器请使用隐身窗口,如果多个账号,一定不要点退出登录。直接关闭网页,清除浏览器cookie数据(隐身窗口无需这一步),重新进入网页登录下一个账号。退出会导致刚刚获取......
  • 使用XSS漏洞获取cookies
    使用XSS漏洞获取cookies一、前期准备火狐为受害者,已经登陆到DVWAchrome为攻击者,没有登陆权限/可以登录,但权限不如火狐高在火狐输入xss语句获取cookie,使用chrome登录其......
  • cookie、session,、token,还在傻傻分不清?
    摘要:session和token本质上是没有区别的,都是对用户身份的认证机制,只是他们实现的校验机制不一样而已。本文分享自华为云社区《Session/Cookie/Token还傻傻分不清?》,作者......
  • 如何用 30s 给面试官讲清楚什么是 Session-Cookie 认证
    引言由于HTTP协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客户端和服务端之间会话的连续性,也称为认证,最常见的应用......
  • golang web开发获取get、post、cookie参数
    在成熟的语言java、python、php要获取这些参数应该来讲都非常简单,过较新的语言golang用获取这些个参数还是费了不少劲,特此记录一下。golang版本:1.3.1在贴代码之前如果能......
  • django中间件补充、django操作cookie与session
    django中间件补充、django操作cookie与session目录django中间件补充、django操作cookie与session基于django中间件实现功能的插拔式设计cookie与session简介django操作coo......
  • java实现登录微博(通过cookie)
    1.获取cookie1.打开微博登录页面,浏览器F12进行抓包,登录。2.在微博首页地址栏找到url3.在浏览器调试页面找到Referer与地址栏相同的url2.代码1.加入依赖<de......
  • 分析cookie session token区别
    github找个springMVC的例子,运行起来以供测试。​​https://github.com/Cenyol/SpringMVC​​修改部分代码//首页@RequestMapping(value="/",method=RequestMethod......
  • Django框架:12、Django中间件(了解)、功能插拔式设计、cookie和session
    Django框架目录Django框架一、Django中间件1、自定义中间件2、需要了解的三个方法二、功能的插拔式设计三、cookie与session1、django操作cookie2、django操作session......
  • SpringBoot - Request域,Session域,Application域,Cookie域 获取与添加数据
    1.向Request域添加与获取数据的方式   SpringMvc-@ModelAttribute注解方式1HttpServletRequest添加与获取数据@RequestMapping(value="meta")publicv......