session的引入:

鉴于http是无状态的协议,当完成客户端和服务器的传递信息后,就断开之间的联系,这样就造成了怎么样在几个页面之间传递信息

比如客户端信息,或者假如是写一个购物程序,就要记得购物车里面的信息,jsp提供了四种方法来跟踪客户的状态

1:建立匿名的表格字段

2:使用url传递

3:使用持久化的cookies

4:使用session 的会话机制

相对于安全级别来说第四种最高了,session是指在一段时间内客户端和服务器之间的一连串的相关的交互过程。

在一个session中客户可能会访问不同的服务器资源,也可能会多次访问同一个页面。

sevlet容器为httPSession分配一个唯一的标识,成为sessionid,容器会把sessionid放在客户端的cookies中,每次客户端发出http请求的时候,servlet可以把httdivquest对象中读取sessionid。然后更具sessionid找到对应的session对象,从而取得客户端状态信息。

session的方法:

getid()取得session的id号。

setattribuate(string name,object obj)保存一对name、value对象

getattribute(String name)获取name的属性

isnew()判断session时候是新建的。

废除sesion对象的方法"

1:setmaxinactival()通过设置最大不活动时间

2:关闭客户端浏览器

3:调用session的invalidate()方法

如果客户端不支持cookies时,那么session的id号就不能保存,那么在java API中提出了一种跟踪session的方法,容器可以重写客户请求的url,把sessionid添加倒url中response.encodeurl("**.jsp");

session的高级主题:session的持久化当一个session开始时,容器会为之创建一个session对象,但是如果又10000个人同时登录呢,这时就要把信息从内存中转移到文件系统中或者数据库中,当需要访问的时候再调用倒内存中,提高内存的利用率,也便于恢复数据(故障会丢失信息)。

从内存到文件系统活着数据库,采用了java语言的对象序列化技术,把对象从文件活着数据库中提取到内存中使用了java语言提供的对象反序列化技术。

java session机制_如何学习Session的机制使用相关推荐

  1. Session详解,学习Session,这篇文章就够了(包含底层分析和使用)

    说明:下面介绍session,我们使用到了游览器抓包,http的知识,如果不了解,请先简单了解下.http介绍,http请求,http响应.因为cookie和session是一对"好兄弟&q ...

  2. java 字符串驻留_实例讲解字符串驻留机制

    字符串驻留是一种仅保存一份相同且不可变字符串的方法.字符串驻留机制,其实就是系统维护interned字典,记录已被驻留的字符串对象. 下面我们通过实际例子探讨字符串驻留机制: Code Snip: s ...

  3. python内存管理机制_[转] Python内存管理机制

    一.引用计数 1.变量与对象 变量赋值的时候才创建,它可以指向(引用)任何类型的对象 python里每一个东西都是对象,它们的核心就是一个结构体:PyObject 变量必须先赋值,再引用. 比如,你定 ...

  4. java session 持久化_自定义实现session持久化

    自定义实现session持久化 使用场景 对于有登录校验的网站,tomcat 重启之后,刷新页面又得重新登录,影响用户体验. 原因: tomcat 的session 在内存中,tomcat重启之后,内 ...

  5. java编程学习方法_在线学习Java编程的最佳方法

    java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...

  6. java双缓存机制_详解JVM类加载机制及类缓存问题的处理方法

    前言 大家应该都知道,当一个Java项目启动的时候,JVM会找到main方法,根据对象之间的调用来对class文件和所引用的jar包中的class文件进行加载(其步骤分为加载.验证.准备.解析.初始化 ...

  7. jmeter的java测试框架_性能测试学习之路 (四)jmeter 脚本开发实战(JDBC JMS 接口脚本 轻量级接口自动化测试框架)...

    1.业务级脚本开发 登录脚本->思路:在线程组下新建两个HTTP请求,一个是完成访问登录页,一个是完成登录的数据提交. 步骤如下: 1) 访问登录页 2) 提交登录数据的HTTP PS:对于业务 ...

  8. 学JAVA的为什么_为什么学习Java的人越来越多

    学习Java的发展前景广阔且发展方向多样性,不仅可以成为高级技术开发人才,还可以向管理岗发展,成为项目经理.通过分析企业对求职者的招聘技能,我们可以发现基础知识占据较大比重.为什么转行学习java开发 ...

  9. 软件工程学完java后干_软件工程学习后的一些体会--------两周

    软件工程这门课在印象中就是一门理论课,因为以前没有接触过,想象中的场景是:老师打开ppt,然后照本宣科的开始念经.在第一节课上,作为见面礼,老师开场赠送的一波营养丰富的鸡汤确实很是鲜美,听后信誓旦旦的 ...

最新文章

  1. LibreOffice使用笔记
  2. matlab中矩阵的累加,累加和与累乘积在matlab中-read.ppt
  3. 【EXLIBRIS】随笔记 006
  4. PHP生成静态HTML的源代码及用法
  5. MII/MDIO接口详解(转)
  6. 别克gl8服务器返回数据为空,老司机教学:别克GL8商务车总线控制系统故障解决...
  7. 【转】ABP源码分析十九:Auditing
  8. nginx和tomcat搭配使用,让nginx可以访问tomcat下面的静态资源
  9. Python更换清华的源
  10. 疑似OPPO Find X2外观专利曝光:月亮形相机模组亮了
  11. 10进制小数转化为任意进制小数
  12. Mysql 的utf8和utf8mb4
  13. 【CentOS】又是一篇Shell
  14. 11.Linux 高性能服务器编程 --- 定时器
  15. python help帮助文档
  16. 数学建模常用模型和算法介绍
  17. FLV视频合并-JAVA代码
  18. java自行车 one_小白装车宝典——JAVA ONE七步装车法
  19. SpringBoot整合RabbitMQ之Spring事件驱动模型
  20. ff14服务器延迟滑步,ff14 5.0黑魔怎么玩_最终幻想14 5.0黑魔输出手法

热门文章

  1. 1788:Pell数列
  2. pg_upgrade 升级数据库方式二 链接
  3. 【算法导论】第5章,概率分析和随机算法
  4. 空间换时间--程序策略
  5. rsync + inotify 数据实时同步
  6. aix下oracle 12.1.0.2 asmca不能打开的故障
  7. codevs——1044 拦截导弹(序列DP)
  8. mysql 主从的几个参数
  9. 获取DataGridView上选中的一行并转换为一个DataRow类型
  10. 利用select 函数 实现sleep功能 达到纳米级