会话

  • 一个网站怎么证明用户访问过

    • 服务端给客户端一个信件,客户端下次访问服务端带上信件就可以:cookie

    • 服务器登记,下次访问匹配:session

  • 保存会话的技术

    • cookie

      • 客户端技术(响应、请求)
    • session

      • 服务器技术,利用这个技术,可以保存用户的会话信息,可以把信息或数据保存在session中
  • Cookie

    • 从请求中获得cookie信息

    • 服务器响应给客户端

 1         req.setCharacterEncoding("utf-8");
2 resp.setContentType("text/html;charset=UTF-8");
3 resp.setCharacterEncoding("utf-8");
4
5 PrintWriter out = resp.getWriter();
6
7
8 Cookie[] cookies = req.getCookies();
9
10 //判断cookie是否为空
11 if (cookies != null) {
12 out.write("你上一次访问的时间是:");
13 for (int i = 0; i < cookies.length; i++) {
14 Cookie cookie = cookies[i];
15 //获取名字
16 if(cookie.getName().equals("lastLoginTime")){
17 //获取值
18 long l = Long.parseLong(cookie.getValue());
19 Date date = new Date(l);
20 out.write(date.toLocaleString());
21 }
22
23 }
24 } else {
25 out.write("这是你第一次访问本站");
26 }
27
28 Cookie cookie=new Cookie("lastLoginTime", ""+System.currentTimeMillis());
29 //给cookie设置有效期
30 cookie.setMaxAge(24*60*60);
31
32 resp.addCookie(cookie);
    • 一般会保存在本地的用户目录下的appdata

    • 一个网站的cookie是否存在上限

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

      • 不设置有效期,关闭浏览器自动小时
      • 设置有效期为0
  • Session

    • 什么是Session

      • 服务器会给每一个用户(浏览器)创建一个Session对象

      • 一个session独占一个浏览器,浏览器不关闭,session就还在

      • 用户登录以后整个网站都可以访问

    • Session和Cookie区别

      • Cookie:把用户的数据写给用户的浏览器,浏览器保存;可以保存多个
      • Session:把用户的数据写到用户独占的Session中,服务器保存;保存重要信息;由服务器创建
    • 使用场景

      • 保存一个登录用户的信息
      • 购物车信息
      • 在整个网站中经常使用到的数据
 1      req.setCharacterEncoding("utf-8");
2 resp.setCharacterEncoding("utf-8");
3 resp.setContentType("text/html;charset=utf-8");
4
5 //得到Session
6 HttpSession session = req.getSession();
7 //给Session存数据
8 session.setAttribute("name", new Person("Cra2iTeT",1));
9 //获取Session的id
10 String id = session.getId();
11 //判断是否是新创建的
12 if (session.isNew()) {
13 resp.getWriter().write("session创建成功,ID:" + id);
14 }else {
15 resp.getWriter().write("session已经存在,ID:" + id);
16 }
1         req.setCharacterEncoding("utf-8");
2 resp.setCharacterEncoding("utf-8");
3 resp.setContentType("text/html;charset=utf-8");
4
5 //得到Session
6 HttpSession session = req.getSession();
7 //给Session存数据
8 Person person = (Person) session.getAttribute("name");
9 System.out.println(person.toString());
1         HttpSession session = req.getSession();
2 session.removeAttribute("name");
3 //手动注销
4 session.invalidate();
1 <!--  设置session的默认注销时间-->
2 <session-config>
3 <!-- 十五分钟后Session自动失效-->
4 <session-timeout>15</session-timeout>
5 </session-config>

JavaWeb入门day9-随笔(session/cookie)的更多相关文章

  1. 超全面的JavaWeb笔记day11<JSP&Session&Cookie&HttpSession>

    1.JSP 2.回话跟踪技术 3.Cookie 4.HttpSession JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态 ...

  2. JavaWeb学习篇之----Session&&Cookie

    今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一下Session和Cookie的相关知识,首先我们来看一下Cookie的相关知识: 一.Cookie 简介: Cookie是客户端技术,服务器 ...

  3. [Web][学习随笔]Session&cookie

    Session 从登录建立连接到退出就是一次会话.Session数据就会在会话期间用户存在服务器端的数据.这样,当用户在Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会 ...

  4. [转载]JavaEE学习篇之——Session&&Cookie

    原文链接: http://blog.csdn.net/jiangwei0910410003/article/details/23337043 今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一 ...

  5. 第一篇 Flask基础篇之(配置文件,路由系统,模板,请求响应,session&cookie)

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

  6. session & cookie(li)

    Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...

  7. web也是区分前端与后端的,session\cookie辨析

    <1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...

  8. 浅析session&cookie

    session&cookie没有出现的黑暗时代 大家都知道,HTTP协议是一种无状态的协议,本次请求下一次请求没有任何的关联,所有没有办法直接用http协议来记住用户的信息,试想一向,每一次点 ...

  9. http之Session&Cookie

    百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...

  10. Asp.net MVC使用Model Binding解除Session, Cookie等依赖

    上篇文章"Asp.net MVC使用Filter解除Session, Cookie等依赖"介绍了如何使用Filter来解除对于Session, Cookie的依赖.其实这个也可以通 ...

随机推荐

  1. 关于BFS

    嗨,又是躺平的一天呢 下文有很多未经版权允许而私自转载,不喜勿喷 今天我来整理亿下关于 BFS 这个"高级"的东西: 首先,我不得不提亿句 关于队列 是个啥 队列(queue)是一 ...

  2. CVE-2012-1823(PHP-CGI远程代码执行)

    基于vulhub漏洞环境: 安装vulhub漏洞环境 https://blog.csdn.net/qq_36374896/article/details/84102101 CGI模式下的参数: -c ...

  3. go语言学习入门篇1---go语言的主要特性与发展

    1.1 影响 Go 语言发展的早期编程语言 正如 "21 世纪的 C 语言" 这句话所说,Go 语言并不是凭空而造的,而是和 C++.Java 和 C# 一样属于 C 系.不仅如此 ...

  4. 航模电池平衡头接线,1S-6S原理图

    1-4S平衡头接线 S数代表几级锂电池串联,比如3S代表串联了3级,所以总电压为3*3.7V=11.4V.(每一级可能是多个电芯并联) 图源:百度贴吧 图源:5imx论坛 3S电池示例 B6充电器

  5. docker知识点扫盲

    最近给部门同事培训docker相关的东西,把我的培训内容总结下,发到博客园上,和大家一起分享.我的培训思路是这样的 首先讲解docker的安装.然后讲下docker的基本的原理,最后讲下docker的 ...

  6. idea导入gitee下载的项目文件

    前一段时间在学习javaWeb时想要把gitee中的下载的项目在本地环境中跑一遍,然后根据效果再自己做出来. 但是当导入到IDEA中,配置完tomcat后一直报404错误.404是学习javaweb阶 ...

  7. 分库分表之后分布式如何保证ID全局唯一性

    分库分表之后分布式如何保证ID全局唯一性 韩师学子--小倪 2018-07-21 23:35:38 8139 收藏 3分类专栏: Mysql版权                         分库分 ...

  8. unable to resolve class XXX

    > Task :HelloWorld_Web:compileGroovy startup failed: E:\GradleDemoManyModules\ExampleHelloWorld\H ...

  9. kafka unclean 配置代表啥,会对 spark streaming 消费有什么影响?

    unclean.leader.election.enable 为true的话,意味着非ISR集合的broker 也可以参与选举,这样有可能就会丢数据,spark streaming在消费过程中拿到的 ...

  10. JS字符串格式化

    //字符串格式化String.prototype.format = function () { var values = arguments; return this.replace(/\{(\d+) ...