动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.分享socket客户端-服务器入门代码.
.Ant指南.
.WML——XML标记语言开发实例详细.
.基于Eclipse开发轻量级Spring插件.
.Java网络服务器编程(NIO版).
.用java实现简单的email正则表达式.
..NET2005提供的Code Snippets看代.
.Java 语法介绍(五):条件控制.
.EJB应用从WebLogic到JBoss的迁移.
.VRML与JAVA在网络课件中交互运用.
.从重构的角度学习bridge设计模式.
.search 方法.
.mysql与JDBC中文问题的解决方法.
.使用poi操作Excel的几点注意事项.
.找出正被调用的方法名.
.Java的移位运算符.
.用AWT组件实现登录对话框.
.使用的DES对称加密.
.J2EE探险者:用于无状态网络的J2E.
.call 方法.

servlet会话介绍

发表日期:2008-1-5 |



  HTTP协议是一种无状态的协议,而对于现在的web应用而言,我们往往需要记录从特定客户端的一系列请求间的联系。
  现在已经有很多会话跟踪的技术,但是对于程序员而言都不是很方便直接使用。servlet规范定义了一个简单的
  HttpSession接口以方便servlet容器进行会话跟踪而不需要开发者注重实现的细节。
  一般而言,有两种最常用的会话跟踪机制,一种就是URL重写。在客户端不接受cookie的情况下可以使用URL重写进行会话跟踪。
  URL重写包括向URL路径添加一些容器可以解释的数据。规范要求会话ID必须编码在URL路径中,参数名称必须是jsessionid,
  例如: http://www.myserver.com/catalog/index.Html;jsessionid=1234
  另一种就是现在最常用的cookie了,规范要求所有的servlet都必须支持cookie。容器向客户端发送一个cookie,客户端在后续的处于同一个会话的请求中向服务器返回该cookie。会话跟踪cookie的名字必须是JSESSIONID。
  新出现的一种会话功能是SSL会话,SSL(Secure Sockets Layer,安全套接字层)是HTTPS协议使用的一种加密技术,内建了会话跟踪功能,servlet容器可以非常轻易的使用这些数据建立会话跟踪。(但是HTTPS不是规范要求servlet必须支持的协议) 因为HTTP是一种基于请求响应的协议,因此会话只有在客户端加入它以后才被新建立。当会话跟踪信息被成功的返回给服务器以指示会话给建立时客户端才算加入了一个会话。假如客户端没有加入会话,那么下一次请求不会被认为是会话的一部分。如何客户端还不知道会话或者客户端选择不加入一个会话,那么会话被认为是新的。开发者必须自己设计自己的应用中的会话处理状态,在什么地方没有加入会话,什么地方不能加入会话以及什么地方不需要加入会话。
  规范要求HttpSession在应用或者servlet上下文级别有效,诸如cookie这样的建立会话的底层机制可以在上下文中共享,但是对于那些外露的对象,以及更重要的是对象的那些属性是不能在上下文中共享的。
  对于会话的属性的绑定而言,任何对象都可以绑定到某个命名属性。被绑定的属性对象对于其它处于相同ServletContext并且处于同一个会话处理中的其它servlet也是可见的。
  某些对象在被加入会话或者被从会话中移除时要求得到通知,这样的信息可以通过让该对象实现HttpSessionBindingListener接口得到。
  该接口定义了两个方法用以标记被绑定到会话或者从会话中被移除。 valueBound方法在对象通过getAttribute之前就被调用,而valueUnbound方法在对象已经不能通过getAttribute得到后才被调用。
  由于HTTP是无状态协议,因此客户端不再活动时没有什么明显的信号,这也就意味着只有一种机制可以用于表明客户端不再活动:超时。
  会话的缺省的时限由servlet容器定义并且可以通过HttpSession的getMaxInactiveInterval得到,开发者也可以通过使用setMaxInactiveInterval
  方法进行设置,这些方法返回的单位是秒,假如时限被设置为-1,那么意味着永远不会超时。
  通过调用HttpSession的getLastAccessedTime方法,我们可以得到在当前请求之前的访问时间。当会话中的一个请求被servlet上下文处理时会话就被认为被访问了。
  另外需要注重的就是一些很重要的会话的语义问题。
  多线程问题:多个请求线程可能会同时访问同一个会话,开发者有责任以适当的方式同步访问会话中的资源。
  分布式环境:对于被标记为可分布的应用而言,同一会话中的所有请求只能被单一的VM处理。同时,放入HttpSession中的所有对象都必须实现Serializable接口,否则容器可能会抛出IllegalArgumentException(在jboss_tomcat下没有抛出这个异常,但是假如在关闭服务器时还有未完成的会话,那么服务器在试图存储会话时会出现串行化异常,在重新启动的时候会试图回复会话,也会出现异常)。
  这个限制意味着开发者不会碰到非可分布容器中的那些并发问题。另外容器提供者可以通过将一个会话对象以及它的内容从分布式系统的一个活动节点移动到系统的其它不同节点的能力来保证可伸缩性。
  客户端的语义:基于cookie或者SSL证书通常是被web浏览器控制并且不联系到特定浏览器窗口的事实,从客户端应用的所有窗口发送到容器的请求都可能是同一个会话。为了达到最大的可移植性,开发者不能总假设特定客户端的所有窗口的请求都处于同一个会话中。
上一篇:servlet中实时地创建图象 人气:407
下一篇:JavaMail常见问题之servlet 的 JavaMail 人气:487
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-4 LPLY CMS 网站管理系统 v5.0
2008-9-4 缤纷互动视频交友 v3.01.902
2008-9-4 ADN视频收藏专家 v3.0 bulid 080
2008-9-4 天空网络电影系统SKYUC v2.5.6 简
2008-9-4 Web Wiz Rich Text Editor(文本编
2008-9-4 幻影动漫网视频系统(Ppdong) v1.
2008-9-4 乐维电脑在线DIY配置系统
2008-9-4 老樊文章管理系统SQL版
2008-9-4 ASP.NET 2.53 缩略图水印组件源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵