jsp编程中session的⽤法实例分析
本⽂实例讲述了jsp编程中session的⽤法。分享给⼤家供⼤家参考,具体如下:
el表达式获取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>
<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>
判断⽤户是否执⾏刷新操作,避免刷新时也进⾏相关操作,区分是否⾸次进⼊本页⾯,session.isNew()。
在线⼈数统计的例⼦
<%@ page contentType="text/html; charset=GB2312" %>
<HTML>
<HEAD>
<TITLE>application计数器</TITLE>
</HEAD>
<BODY>
<BR>
<%
Integer number=(Attribute("Count");
//检查Count属性是否可取得
if(number==null)
{
number=new Integer(1);
application.setAttribute("Count",number);
}
if(session.isNew()==true) //判断⽤户是否执⾏刷新操作
{
//将取得的值增加1
number=new Integer(number.intValue()+1);
application.setAttribute("Count",number);
}
%>
<P><P>您是第
<%int a=((Attribute("Count",PageContext.APPLICATION_SCOPE)).intValue(); %>
<%=a%>
个访问本站的客户。
</BODY>
</HTML>
希望本⽂所述对⼤家jsp程序设计有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论