Java EE第12章.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java EE第12章

12.5.4 会话对象session 在用JSP进行开发过程中,可以利用session对象来解决这个问题。session对象的生命周期是在整个会话期间都有效。 所谓的会话是从一个客户打开浏览器连接到服务的某个服务开始,到关闭浏览器离开该服务称为一个会话。 一个客户访问某个服务中的若干个页面,每次新请求都会产生一个新的request和response对象,但sesssion对象只有一个。 session对象 概要 HTTP是无状态(stateless)协议; Web Server 对每一个客户端请求都没有历史记忆; Session用来保存客户端状态信息; 由Web Server 写入; 存于客户端; Web Server读取客户端提交的session来获取客户端的状态信息; “session” 对象代表服务器与客户端所建立的会话,从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。 当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。 session对象是一个非常重要的工具,应用极广,主要用来保存各个用户个人信息。 当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,这个session对象调用相应的方法可以存储客户在访问各个页面期间提交的各种信息,如,姓名、号码等。 在服务器端,每个产生的session对象都被分配一个String 类型的id号,同时这个id号被JSP引挚发送到客户端,存放在客户的Cookie中。 通过调用HttpServletRequest的getSesson()方法可以查看当前请求的会话对象,如果getSesson()方法返回null,则说明当前会话对象不存在,通常通过指定getSesson()的参数为true使得不存在现成的会话时自动创建一个新的会话对象。因此访问当前请求会话对象的第一个步骤通常为: HttpSession sesson = request. getSesson(true); HttpSession session = request.getSesson(); HttpSession对象生存在服务器上,通过Cookie或者URL这类后台机制自动关联到请求的发送者。 可以通过调用Session对象的setAttribute()方法和getAttribute()方法来添加或者读取存储的属性值。 注意:Sesson中保存和检索的信息不能是int等基本的数据类型,而必须是Java Object对象。 session对象常用方法如下: (1)getAttribute()方法 形式:String getAttribute(String attribute1) 说明:获得指定名字的属性,如果该属性不存在,则返回null。 (2)getAttributeNames()方法 形式:Enumeration getAttributeNames() 说明:返回session对象中存储的每一个属性对象,结果集是一个Enumeration类的实例。 (3)getCreationTime()方法 形式:long getCreationTime() 说明:返回一个session创建的时间,一个长整型数,以ms为单位,从1970年1月1日开始算起。当session对象无效时,则抛出IllegalStateException。 (4)getId()方法 形式:String getId() 说明:获得一个session的编号,这编号是一个session惟一标识符。每生成一个session时,服务器便会给它一个独一无二编号。 (5)getLastAccessedTime()方法 形式:long getLastAccessedTime() 说明:获得与一个会话相关的客户发送最后一次请求的时间,以ms为单位,从1970年1月1日开始算起。 (6)getMaxInactiveInterval()方法 形式:int getMaxInactiveInterval() 说明:获得一个session对象的生存时间。该时间值可以通过setMaxInactiveInterval()方法设置。 (7)removeAttribute()方法 形式:removeAttribute(String name1) 说明:删除SESSION中指定的属性 (8)invalidate()方法 形式:invalidate() 说明:使一个会话无效,即

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档