基于javaWeb阶段下的Cookie和Session总结
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总结的更多相关文章
- 基于javaWeb阶段下的Servlet总结
		
1. Servlet概述 Servlet是用Java语言编写的服务端的程序,采用request--response模式提供Web服务,并且支持标准ServletAPI,Servlet就一个运行在w ...
 - QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题
		
原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...
 - JavaWeb系列之八(Cookie&Session)
		
 1.jsp的入门 jsp就是一个servlet,终于会被编译成servlet,jsp:java server pages,java服务器端页面,包括html+java+jsp的指令 ...
 - JavaWeb之Servlet:Cookie 和 Session
		
会话 现实生活中我们会用手机跟对方对话,拿起手机,拨号,然后对面接听,跟着互相通话,最后会话结束. 这个过程也可以用我们的B/S模式来描述: 打开浏览器—>输入地址->发出请求->服 ...
 - JavaWeb(二)cookie与session的应用
		
前言 前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用. 一.使用cookie记住用户名 1.1.思路介绍 1.2.实现代码 1)LoginServlet package ...
 - 基于JavaSE阶段下的集合类汇总
		
一.数组与集合的区别 数组和集合都是用来存储对象的容器,但是,数组只能储存基本数据类型的对象,且长度不可变:而集合是储存引用数据类型的对象,且长度可变,所以,在不知对象数量的具体数值时一般用集合来存储 ...
 - Javaweb学习笔记5—Cookie&Session
		
今天来讲javaweb的第五阶段学习. Cookie和Session同样是web开发常用到的地方. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的 ...
 - Cookie与Session详解
		
来源:<PHP核心技术与最佳实践> 列旭松 陈文 著 Cookie与Session详解读书笔记,从概念.操作.应用.注意事项以及区别等几方面详细阐述两者的基础知识,它们都是针对HTTP协议 ...
 - Django中的cookie与session
		
cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空间中. 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来 ...
 
随机推荐
- Python 数据图表工具的比较
			
Python 的科学栈相当成熟,各种应用场景都有相关的模块,包括机器学习和数据分析.数据可视化是发现数据和展示结果的重要一环,只不过过去以来,相对于 R 这样的工具,发展还是落后一些. 幸运的是,过去 ...
 - 定制自己的动画 View 控件(Canvas 使用)
			
定制自己的动画 View 控件(Canvas 使用) 如果要定义自己的 View 控件,则需要新建一个类继承 android.view.View.然后在 onDraw 中写自己需要实现的方式. 这里定 ...
 - 第一次c++团队合作作业期间第一篇随笔
			
分析了自己分到的任务,我的理解是这样的:首先要生成程序主框架,在主框架中进行地图的描绘.我应该是先进行地图的拼接,把建筑物和地面都拼接好.然后再在地图上显示出英雄和小兵.同时还要在主框架中分析了自己分 ...
 - Spring学习(四)—— java动态代理(JDK和cglib)
			
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他 的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托 ...
 - lintcode-129-重哈希
			
129-重哈希 哈希表容量的大小在一开始是不确定的.如果哈希表存储的元素太多(如超过容量的十分之一),我们应该将哈希表容量扩大一倍,并将所有的哈希值重新安排.假设你有如下一哈希表: size=3, c ...
 - 敏捷冲刺DAY8
			
一. 每日会议 1. 照片 2. 昨日完成工作 第一次阶段测试. 3. 今日完成工作 对前七次敏捷冲刺的工作进行完善. 4. 工作中遇到的困难 浏览器兼容性问题.页面响应性能问题.内存溢出问题-- 二 ...
 - 查看sqlserver数据库的编码格式
			
查询语句:SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage'): 查询结果: 936 简体中文GBK 950 ...
 - MAVEN pom.xml 解读
			
POM全称是Project Object Model,即项目对象模型.pom.xml是maven的项目描述文件,它类似与antx的project.xml文件.pom.xml文件以xml的 形式描述项 ...
 - Ubuntu 16.04 LTS安装sogou输入法详解
			
http://blog.csdn.net/qq_21792169/article/details/53152700 最近开始学习linux 在安装输入法中遇到的一些问题,最终成功安装,也得益于网络上的 ...
 - Java 读取Excel2007 jar包冲突的问题(org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException)
			
1.jar包冲突报错问题 2.使用的jar包,以及重复jar包 3.删除重复jar包