请选择 进入手机版 | 继续访问电脑版

[JSP编程] jsp session.setAttribute()和session.getAttribute()用法案例详解

[复制链接]
查看156 | 回复26 | 2021-9-12 03:19:43 | 显示全部楼层 |阅读模式
目次

Session简单先容

  在WEB开发 中,服务器可以为每个用户欣赏 器创建一个会话对象(session对象),留意 :一个欣赏 器独占一个session对象(默认环境 下)。因此,在必要 保存用户数据时,服务器程序可以把用户数据写到用户欣赏 器独占的session中,当用户使用 欣赏 器访问别的 程序时,别的 程序可以从用户的session中取出该用户的数据,为用户服务。

Session和Cookie的重要 区别

  • Cookie是把用户的数据写给用户的欣赏 器。
  • Session技术把用户的数据写到用户独占的session中。
  • Session对象由服务器创建,开发 职员 可以调用request对象的getSession方法得到session对象。

基本语法

1,对于值范例 的变量,Session中保存的是值范例 的拷贝

  1. Session["__test0"] = 1;
  2. int i = (int)Session["__test0"]+1;
  3. int j = (int)Session["__test0"];
复制代码

效果 :

  1. i=2,j=1
复制代码

2,对于引用范例 的变量,Session中保存的是引用

  1. CDACommon cda = new CDACommon();
  2. Session["__test"] = cda.GetDataSet("select top 1 * from tb_customer");
  3. DataSet ds = (DataSet)Session["__test"];
  4. DataSet ds2 = (DataSet)Session["__test"];
  5. ds.Tables[0].Rows[0][0]="9999";
复制代码

效果 :

  1. ds.Tables[0].Rows[0][0]=="9999"
  2. ds2.Tables[0].Rows[0][0]=="9999";
复制代码

3,Session周期

新的欣赏 器窗口启动后,开始一个新的Session,触发Global的Session_Start的调用,从第一个欣赏 器窗口打开的欣赏 器窗口不启动新的Session。Session过期后,实行 页面的提交也会触发Session_Start,等于是新的一个Session。

4,调用Session

对于Web Service,每个方法的调用都会启动一个Session,可以用下面的方法来使多个调用在同一个Session里  CWSSyscfg cwsCfg = new CWSSyscfg(); cwsCfg.CookieContainer = new System Net.CookieContainer(); CWSSyscfg是一个Web Service类,Web Service的给代理类设置CookieContainer属性,只要多个代理的CookieContainer属性是雷同 的值,则对这些Web Service的调用在同一个Session。可以用单例模式来实现。

5,Session数据有效 期

只要页面有提交活动,则Session的全部 项都会保持,页面在20分钟(默认设置 )内没有任何提交活动时Session会失效。Session内存储的多个数据项是团体 失效的。

6,Session的保存

在Session中假如 保存的黑白 序列化的类比如DataView,在用SQLServer保存Session的模式下,无法使用 。查看一个类是否是序列化的方法是,需看是否用[Serializable]来标记了该类.

在JSP中

Jsp的session是使用 bean的一个生存限期 ,一样平常 为page,session意思是在这个用户没有离开 网站之前不停 有效 ,假如 无法判定 用户何时离开 ,一样平常 依据体系 设定,tomcat中设定为30分钟.

JSP使用 一个叫HttpSession的对象实现同样的功能。HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。毕竟 上,在很多 服务器上,假如 欣赏 器支持的话它们就使用 cookies,但是假如 不支持或废除了的话就自动 转化为URL-rewriting,session自动 为每个流程提供了方便地存储信息的方法。

Httpsession具有如下API:

getId 此方法返回唯一的标识,这些标识为每个session而产生。当只有一个单一的值与一个session团结 时,或当日志 信息与先前的sessions有关时,它被当作键名用。

GetCreationTime 返回session被创建的时间。最小单位为千分之一秒。为得到一个对打印输出很有效 的值,可将此值传给Date constructor 或者GregorianCalendar的方法setTimeInMillis.

GetLastAccessedTime 返回session末了 被客户发送的时间。最小单位为千分之一秒。

GetMaxInactiveInterval 返回总时间(秒),负值表示session永世 不会超时。

getAttribute 取一个session相接洽 的信息。(在jsp1.0中为 getValue)

  1. Integer item = (Integer) session.getAttribute("item") //检索出session的值并转化为整型
复制代码

setAttribute 提供一个关键词和一个值。会更换 掉任何从前 的值。(在jsp1.0中为putValue)

  1. session.setAttribute("ItemValue", itemName); // ItemValue 必须不是must简单类型
复制代码

在应用中使用 最多的是getAttribute和setAttribute.现以一个简单的例子来阐明 session的应用,test1.jsp(信息写入session),test2.jsp(从session读出信息)。

test1.jsp

  1. <HTML>
  2. <HEAD>
  3. <TITLE> Document </TITLE>
  4. </HEAD>
  5. <BODY BGCOLOR="#FFFFFF">
  6. <%
  7. session.setAttribute("str",new String(“this is test”));
  8. %>
  9. </BODY>
  10. </HTML>
复制代码

test2.jsp

  1. <HTML>
  2. <HEAD>
  3. <TITLE> New Document </TITLE>
  4. </HEAD>
  5. <BODY BGCOLOR="#FFFFFF">
  6. <%
  7. String ls_str=null;
  8. ls_str=(String)session.getAttribute("str");
  9. out.println(“从session里取出的值为:”+ls_str);
  10. %>
  11. </BODY>
  12. </HTML>
复制代码

到此这篇关于jsp session.setAttribute()和session.getAttribute()用法案例详解的文章就先容 到这了,更多干系 jsp session.setAttribute()和session.getAttribute()用法内容请搜刮 脚本之家从前 的文章或继续欣赏 下面的干系 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 圣道 | 2021-9-18 04:41:04 | 显示全部楼层
内容很有深度!
回复

使用道具 举报

avatar NYB冬冬 | 2021-9-18 04:58:27 | 显示全部楼层
刚看见一个妹子,很漂亮!
回复

使用道具 举报

avatar 游戏乾坤 | 2021-9-19 01:35:27 | 显示全部楼层
感觉不错!
回复

使用道具 举报

avatar fys24680 | 2021-9-19 18:09:24 | 显示全部楼层
态度决定一切,不错!
回复

使用道具 举报

avatar 浪漫无边际缺 | 2021-9-24 20:14:33 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,他卖的服务器是永久的,我们的网站用 服务器都是在这家买的,你可以去试试。访问地址:http://fwq.mxswl.com
回复

使用道具 举报

avatar 万象争辉1 | 2021-10-1 21:36:59 | 显示全部楼层
admin楼主最近很消极啊!
回复

使用道具 举报

avatar 朱婆婆老 | 2021-10-1 21:55:03 | 显示全部楼层
回帖也有有水平的!
回复

使用道具 举报

avatar 陌上人如玉__ | 2021-10-3 04:15:14 | 显示全部楼层
东方不败外加灭绝师太啊!
回复

使用道具 举报

avatar Runlinh | 2021-10-6 20:58:06 | 显示全部楼层
好东西,赞一个!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则