1、隐藏域

      隐藏域其实不是Servlet/JSP的会话管理机制的内容,但它能实现简单的页面状态记录的效果。
2、Cookie
   Cookie类
   setMaxAge() 设置有效期,单位秒。如果不设置有效期,则关闭浏览器后失效。
   request.getCookies()取得Cookie,返回Cookie类型数组。
  cookie.getName();cookie.getValue()   取得cookie的key和value值。
  cookie.setHttpOnly()  不被客户端脚本读取。
  cookie.isHttpOnly() 是否被标识为仅用于HTTP。
3、URL中记录信息,如分页,查询条件等。
4、HttpSession 会话管理 
  HttpSession非线程安全,需要注意共享存取问题。
  request.getSession() 取得session对象。
  session.setAttribute()和 session.getAttribute()
  session.invalidate()   使session失效
 Session原理
      每个Session对象都有一个唯一ID,称为SessionId。getId()可以取得。这个Id默认会通过Cookie存储在浏览器中,当再次请求时,浏览器会同数据一起发回服务器,这样,服务器就可以区分不同
浏览器(客户端)在服务器存储的数据了。浏览器存储SessionId的Cookie默认是关闭浏览器就失效,所以已登录的网站当浏览器全关再打开时,会丢掉登录状态。在这里,看似Session数据也没有了,其实
服务器端的数据还在,只是SessionId没有了,所以,Session数据是要定期清理的(设置失效)。
      可以执行HttpSession的setMaxInactiveInterval() 设定浏览器多久没有请求的话,自动失效。单位是秒。也可以在web.xml中设置,但单位是分钟。
      当浏览器被禁用Cookie时,如果仍要使用Session记录状态,就必须借助URL来记录SessionId了。

我的Java之旅 第七课 JAVA WEB 会话管理的更多相关文章

  1. 我的Java之旅 第六课 JAVA WEB 请求与响应

    一.有关URL编码    1.在URL的规范中定义了一些保留字符,如::  /  ?  & =  @  % 等,在URI中有它的作用.如果要在URI中包含这些字符,必须转码,即%字符后跟十六进 ...

  2. 我的Java之旅 第五课 JAVA 语言语法 集合

    JAVA集合只能存放引用类型的的数据,不能存放基本数据类型,int 可以用 Integer代替. 一.集合接口  1.  Iterable<E> 实现这个接口允许对象成为 "fo ...

  3. 我的Java之旅 第四课 JAVA 语言语法 基础

    1  整型           int num = 1_000_000; //从java 7开始支持的语法 ,只是让人更易读,java编绎器会去除   2  字符串        一定不能使用==运算 ...

  4. JAVA之旅(七)——final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展

    JAVA之旅(七)--final关键字 , 抽象类abstract,模板方法模式,接口interface,implements,特点,扩展 OK,我们继续学习JAVA,美滋滋的 一.final 我们来 ...

  5. 20165203《Java程序设计》第七周Java学习总结

    20165203<Java程序设计>第七周Java学习总结 教材学习内容总结 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系统,简称MySQL,是世 ...

  6. 《快乐编程大本营》java语言训练班-第4课:java流程控制

    <快乐编程大本营>java语言训练班-第4课:java流程控制 第1节. 顺序执行语句 第2节. 条件分支语句:if条件语句 第3节. 条件分支语句:switch 条件语句 第4节. 条件 ...

  7. 我的Java之旅 第三课 从Applet到JSP

    一.Applet   Applet是一种特殊的Java程序,它本身不能单独运行(因为本身没有main()),需要嵌入在一个HTML文件中,借助浏览器或者appletviewer来解释执行.   App ...

  8. Java入门系列(七)Java 集合框架(JCF, Java Collections Framework)

    Java 集合概述 List.Set.Map可以看做集合的三大类 java集合就像一个容器,可以将多个对象的引用丢进该容器中. Collection和Map是java集合的根接口. List List ...

  9. 我的Java之旅 第八课 Servlet 进阶API、过滤器与监听器

    1.Servlet.ServletConfig与GenericServlet     首次请求的顺序      => 生成HttpServletRequest与HttpServletRespon ...

随机推荐

  1. Ngon 是啥

    https://www.gamefromscratch.com/post/2011/07/11/So-whats-an-ngon-anyways.aspx 在 blender 里面 Add 一个 Cy ...

  2. 小游戏——金庸奇侠传(JAVA,对面向对象的进一步了解)

    金庸群侠传 游戏运行界面:   游戏实现源码: package game.logic; //人类 public class Person { public String name; //名字 Pers ...

  3. Qt之实现360安全卫士主界面代码开源

    匆匆一年又过去了,总结去年一年的节奏就是忙爆了:生活忙.工作忙,值得庆幸的是没有瞎忙:今天打开博客园查看我的博客,才发现几乎差不多一年时间没写博客了:博客文章就是记忆,就是曾经努力过的见证,感谢博客园 ...

  4. laravel5.5 __construct函数 无法使用session() 解决方法和实例

    从网上查询资料得知,在laravel中使用__construct方法的时候,session还没开启,此时就需要用到中间件来解决. $this->middleware(function ($req ...

  5. [P2402] 奶牛隐藏

    二分答案+最大流. 对答案建图,若长度≤答案,连边即可.(先要预处理点对间的最短路) 当然得拆点,(否则,就此题而言,就会出现流量x-y不走x-y的最短路边的情况,而是走了一条路径 ,答案约束的仅仅是 ...

  6. Jenkins配置AD域认证

    Jenkins配置AD域认证 #检测域控地址ping youad.com指向的IP #如果不是实际域控ip地址,则修改hosts vi /etc/hosts #192.168.100.100替换为实际 ...

  7. MyBatis源码解析【8】简单demo理解接口式编程

    前言 这个分类比较连续,如果这里看不懂,或者第一次看,请回顾之前的博客 http://www.cnblogs.com/linkstar/category/1027239.html 上一次我们经过源码的 ...

  8. LoadRuner12.53教程(三)

    教训1:建立一个Vuser Script jiào教   xùn训   1   :   jiàn建   lì立   yī一   gè个   V   u   s   e   r   S   c   r ...

  9. CSS hack兼容表

    IE6 IE7 IE8 Firefox Opera Safari !important Y Y Y Y Y _ Y * Y Y *+ Y \9 Y Y Y \0 Y nth-of-type(1) Y ...

  10. js中的DOM操作汇总

    一.DOM创建 DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性.DOM节点有一个nodeType属性用来表示当前元素的类型,它是一个整数: Element,元素 Attrib ...