1. 会话技术
   就是用户在使用浏览器浏览界面的时候,去访问多个页面后一次性关闭浏览器,这个过程叫会话,学习会话技术就是在客户端与服务器进行交互的时候为了能更好的保存数据。在java中会话技术只有Cookie和Session
2. Cookie技术
   Cookie是客户端技术,程序把每个用户的数据以cookie的形式保存到各自浏览器中。当用户使用浏览器再次访问服务器中的web资源的时候,就会带着各自的数据过去。这样,web资源处理的就是用户各自的数据了。
3. Cookie的分类
   Cookie默认时,是指没有设置有效时间,只要一关闭浏览器,Cookie也就会被销毁;在设置有效的时间的Cookie,Cookie的内容不是保存在浏览器的内存中,将Cookie的内容保存(持久化)到硬盘上。这个时候,关闭浏览器,再次打开浏览器会加载硬盘上的文件,从而Cookie中的数据就不会丢失。
4. Cookie的方法
  构造方法:                Cookie(String name, String value)
  获得Cookie的名称的方法:  getName()
  获得Cookie的值的方法:    getValue()
  设置Cookie的有效域名:    getDomain(String pattern)
  设置Cookie的有效路径:    getPath(String uri)
  设置Cookie的有效时长:    setMaxAge(int time)
5. 使用Cookie的注意事项
    1. 一个Cookie只用标识一种信息,至少含有一个标识该信息的名称和值。
    2. 一个web站点可以给一个浏览器发送多个Cookie。一个web浏览器可以存储多个web站点的Cookie。
    3. 浏览器一般只允许存放300个Cookie,每个站点最多可以存放20个Cookie,每个Cookie的大小限制为4KB(老版本浏览器)。-----浏览器存放的Cookie的大小和个数是有限制的。
    4. 如果创建了一个Cookie,并发送到浏览器,默认情况下它是一个会话级别的Cookie。用户退出浏览器就被删除。如果希望将这个Cookie存到磁盘上,需要设置有效时长调用setMaxAge(int maxAge)方法,以秒为单位的。
    5. 需要手动删除持久性Cookie,可以将Cookie的有效时长设置为0.必须注意:删除Cookie时候,path必须一致,否则无法删除。
6. Session技术
  Session是服务器端技术,服务器在运行时为每一个用户的浏览器创建一个独享的Session对象。由于Session为用户浏览器独享,所有用户在访问服务器的时候,可以把各自的数据放在各自的Session中,当用户再次访问服务器中的web资源的时候,其他web资源再从用户各自的Session中取出数据为用户服务,当用户使用浏览器访问其他程序时,其他程序可以从用户的Session中取出该用户的数据。
7. Session的范围  
  Session的作为域范围,就是一次会话的范围。
  Session的请求范围(ServletRequest):一次请求。
    创建:当用户向服务器发送一次请求,服务器创建一个request对象。
    销毁:当服务器对这次请求作出了销毁响应,直到服务器销毁request对象。
  Session会话范围(HttpSession):一次会话(多次请求)。
    创建:服务器端第一次调用getSession()方法的时候。
    销毁:三种情况。
    *  Session过期,默认的过期时间30分钟(web.xml中配置)。
    *  非正常关闭服务器。(正常关闭服务器—session会被序列化)。
    *  手动调用session.invalidate();
  Session的应用范围(ServletContext):整个应用。
    创建:服务器启动的时候创建,为每个web项目创建一个单独ServletContext对象。
    销毁:服务器关闭的时候,或者项目从服务器中移除的时候。
8. Session的方法
   存入数据:     setAttribute(String name, Object value)
   获取数据:     getAttribute(String name)
   移除数据:     removeAttbute(String name)
9. Cookie和Session的区别
    Cookie具有局限性,因为Cookie保存的数据大小和数量有限制,且只能保存在浏览器中,不安全;而Session没有限制大小和数量,数据保存在数据库中,相对安全。

基于javaWeb阶段下的Cookie和Session总结的更多相关文章

  1. 基于javaWeb阶段下的Servlet总结

    1. Servlet概述   Servlet是用Java语言编写的服务端的程序,采用request--response模式提供Web服务,并且支持标准ServletAPI,Servlet就一个运行在w ...

  2. QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题

    原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...

  3. JavaWeb系列之八(Cookie&Session)

     1.jsp的入门     jsp就是一个servlet,终于会被编译成servlet,jsp:java server pages,java服务器端页面,包括html+java+jsp的指令    ...

  4. JavaWeb之Servlet:Cookie 和 Session

    会话 现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束. 这个过程也可以用我们的B/S模式来描述: 打开浏览器—>输入地址->发出请求->服 ...

  5. JavaWeb(二)cookie与session的应用

    前言 前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用. 一.使用cookie记住用户名 1.1.思路介绍 1.2.实现代码 1)LoginServlet package ...

  6. 基于JavaSE阶段下的集合类汇总

    一.数组与集合的区别 数组和集合都是用来存储对象的容器,但是,数组只能储存基本数据类型的对象,且长度不可变:而集合是储存引用数据类型的对象,且长度可变,所以,在不知对象数量的具体数值时一般用集合来存储 ...

  7. Javaweb学习笔记5—Cookie&Session

    今天来讲javaweb的第五阶段学习. Cookie和Session同样是web开发常用到的地方. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的 ...

  8. Cookie与Session详解

    来源:<PHP核心技术与最佳实践> 列旭松 陈文 著 Cookie与Session详解读书笔记,从概念.操作.应用.注意事项以及区别等几方面详细阐述两者的基础知识,它们都是针对HTTP协议 ...

  9. Django中的cookie与session

    cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空间中. 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来 ...

随机推荐

  1. [linux] vim在源代码中自动添加作者信息(转载)

    原文出处: http://www.vimer.cn/2009/10/用vim在源代码中添加你的个人信息.html vim ~/.vimrc "进行版权声明的设置 "添加或更新头 m ...

  2. nagios监控安装esxi的服务器(宿主机)

    首先,该博文大部分内容来自网络,少部分是自己监控过程中遇到的问题.如果有侵权,请联系告知!!! 现在互联网公司,有能力的都是自己研发监控系统,要么就是zabbix或者小米的监控,还都二次开发等等,可能 ...

  3. javascript event对象操作

    js代码: $(".leads_detail").click(function(e){ e = e || event; var t = e.target || e.srcEleme ...

  4. text-align与vertical-align属性的区别

    1.text-align属性设置元素在水平方向(x轴)的位置 text-align:left://文本居左 text-align:center://文本居中 text-align:right: //文 ...

  5. 欢迎来怼——第四次Scrum会议

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华小组照片 二.开会信息 时间:2017/10/16 17:15~17:40,总计25min.地点:东北师范 ...

  6. 安装VS的过程

    软件工程学习到第三周,我们需要下载一个新的软件,用来进行软件测试.刚开始知道的时候觉得没甚么,不就是下个软件吗!有什么大不了的,分分钟搞定的事.可是想象很美好,现实很骨感.这是一个巨大的工作量呀,不仅 ...

  7. Java中的抽象类abstract

    abstract定义抽象类 abstract定义抽象方法,只需要声明,不需要实现 包含抽象方法的类是抽象类 抽象类中可以包含抽象方法,也可以包含普通方法 抽象类不能直接创建,可以定义父类引用变量指向子 ...

  8. 软工实践-Alpha 冲刺 (10/10)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 完成所有界面的链接,整理与测试 展示GitHub当日代码/ ...

  9. 代码查重工具sim

    在瞎搜东西的时候,发现了一个大牛的博客 看起来很厉害的样子...做了一个LaTeX的语法检查并给出适当的提示,上wiki上一查发现他竟然是CVS第一个版本的发明者和开发者...Dick grune这是 ...

  10. yum 安装php环境

    centos下安装php环境 | 浏览:3831 | 更新:2014-11-04 17:01 1 2 3 分步阅读 在网上看了很多,很多都不能用,所以就把能用的实践下,过程记录下,方便自己和网友以后查 ...