当前位置:首页 > 全部子站 > IT > 思科认证

JSP内置对象之session对象简介及调用方法

来源:长理培训发布时间:2017-12-13 14:30:34

 考试吧  2010/6/16    字号:T T

  application对象不同。application对象用于在多个程序之间保存信息,application对象只有一个,它可以绑定若干个相当于全局变量的参数或者Java对象,每个JSP程序所访问的都是application对象的一个同步副本,都是一样的,而且application对象的生命周期贯穿服务器的整个运行周期。但是,服务器上的session对象却可以有多个,不同的用户所面临的session对象一般来说是不同的,当用户登录网站,系统将为他生成一个独一无二的 session对象,用以记录该用户的个人信息,一旦该用户退出网站,那么该session对象将会被注销。session对象也可以绑定若干个参数或者Java对象,这些参数或者Java对象就相当于局部变量,不同session对象间的同名变量是不会相互干扰的。应用session对象的功能,可以十分简单地实现购物车等功能。

  但是我们仅能获取原session对象的一个同步副本,这一点上,session对象和application对象是一致的。 application对象和session对象并非不能被创建,但是,他们只能够由JSP引擎自动创建。application对象在服务器启动的时候被创建,在服务器关闭时被删除,session对象在新的HTTP连接产生时被创建,在HTTP连接中断或者超时的时候被删除,JSP程序员也可以调用invalidate()方法强行删除session对象,中断HTTP连接。这是application对象和session对象的不同点之一。

  session对象概要其主要关键点是

  ·   HTTP是无状态(stateless)协议;

  ·   Web Server 对每一个客户端请求都没有历史记忆;

  ·   Session用来保存客户端状态信息;

  ·   由Web Server 写入;存于客户端;

  ·   客户端的每次访问都把上次的session记录传递给Web Server;

  ·   Web Server读取客户端提交的session来获取客户端的

  状态信息;

  Session对象的获取方法

  1)使用session关键字直接引用session对象

  

  2)使用request对象的getSession()方法

  使用request对象的getSession()方法可以返回HttpSession接口的实例对象,也就是session对象,注意,这个新获得的HttpSession对象不能够被命名为session,因为session是JSP引擎自动创建的当前session对象的一个同步副本。

  

  首先使用getSession()方法获取HttpSession对象--mysession,然后输出它的id,同时也输出session的 id,程序4-18的运行结果证明了这两个id是一样的,要注意的是每个用户的session对象的id是不同的(服务器就靠不同的id鉴别不同的 session对象),而且每个用户只能够有一个session对象,无论mysession还是session,都是当前session对象的一个同步副本。

  3)使用PageContext对象的getSession()方法

  使用pageContext对象的getServletContext()方法可以获得application对象的副本,同样,使用pageContext对象的getSession()方法也可以获取session对象的一个副本。

  

  程序段得到的三个结果都是相同的。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部