Cookie

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

posted on 2023-01-08 23:18  lsyorha  阅读(31)  评论(0编辑  收藏  举报