JSP之Session的使⽤⽅法
TTP协议是⽆状态的,即信息⽆法通过HTTP协议本⾝进传递。为了跟踪⽤户的操作状态,ASP应⽤SESSION对象。JSP使⽤⼀个叫HttpSession的对象实现同样的功能。HTTPSession 是⼀个建⽴在cookies 和URL-rewriting上的⾼质量的界⾯。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。事实上,在许多服务器上,如果浏览器⽀持的话它们就使⽤cookies,但是如果不⽀持或废除了的话就⾃动转化为URL-rewriting,session⾃动为每个流程提供了⽅便地存储信息的⽅法。
Session⼀般在服务器上设置了⼀个30分钟的过期时间,当客户停⽌活动后⾃动失效。Session 中保存和检索的信息不能是基本数据类型如 int, double等,⽽必须是java的相应的对象,如Integer, Double.
Httpsession具有如下API:
getId 此⽅法返回唯⼀的标识,这些标识为每个session⽽产⽣。当只有⼀个单⼀的值与⼀个session联合时,或当⽇志信息与先前的sessions有关时,它被当作键名⽤。
GetCreationTime 返回session被创建的时间。最⼩单位为千分之⼀秒。为得到⼀个对打印输出很有⽤的值,可将此值传给Date constructor 或者GregorianCalendar的⽅法setTimeInMillis.
GetLastAccessedTime 返回session最后被客户发送的时间。最⼩单位为千分之⼀秒。
GetMaxInactiveInterval 返回总时间(秒),负值表⽰session永远不会超时。
getAttribute 取⼀个session相联系的信息。(在jsp1.0中为 getValue)
Integer item = (Integer) Attrobute(\"item\") //检索出session的值并转化为整型
setAttribute 提供⼀个关键词和⼀个值。会替换掉任何以前的值。(在jsp1.0中为putValue)
session.setAttribute(\"ItemValue\", itemName); // ItemValue 必须不是must简单类型
在应⽤中使⽤最多的是getAttribute和setAttribute.现以⼀个简单的例⼦来说明session的应⽤, test1.jsp(信息写⼊
session),test2.jsp(从session读出信息)。
test1.jsp
<HTML>
<HEAD>html实现用户注册登录代码
<TITLE> Document </TITLE>
</HEAD>
<BODY BGCOLOR=\"#FFFFFF\">
session.setAttribute(\"str\",new String(“this is test”));
</BODY>
</HTML>
test2.jsp
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY BGCOLOR=\"#FFFFFF\">
<%
String ls_str=null;
ls_str=(Attribute(\"str\");
out.println(“从session⾥取出的值为:”+ls_str);
%>
</BODY>
</HTML>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论