首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> J2EE >> J2ee核心 >> 正文

Session机制使用的详细讲解

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语言提供的对象反序列化技术。

【责编:Youping】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航