JSP session使用方法



<%@page contentType="text/html;charset=GB2312"%>

<html>

  <head>  </head>

  <body>

  <%String s = session.getId(); //获取session ID号  %>

    <p>你的session对象ID是:</p>

<%=s %>  <%!

    int Num = 0; //定义前面要加!号

    synchronized void countPeople() { //同步方法

      Num++;

    }

  %>

  <%

    if (session.isNew()) { //推断是否为新用户

      countPeople();

      String str = String.valueOf(Num);

      session.setAttribute("count", str); //将str 加入到session对象中

    }

  %>

    <p>      你是第

<%=(String)session.getAttribute("count")%>      个訪问本站的人

    </p>

    <!--将session对象的count值取出-->

  </body>

</html>

Session对象:是用来分别保存每个用户信息的对象,以便于跟踪用户的操作状态.Session的信息保存在服务端,Session的ID保存在客户机的Cookie中.其实,在很多server上,假设浏览器支持Cookies的话就直接使用Cookies.可是假设不支持或废除了Cookies的话就自己主动转化为URL-rewriting , Session自己主动为每个流程提供了方便地存储信息的方法.不同的用户相应的Session对象通常是不同的.比如当用户登录站点时,系统就会为他建立一个与其它不相的Session对象,以便于差别其它用户.这个Session对象记录该用户的个人信息,而当该用户退出站点时,该Session对象就会随之消失.

主要方法:

1. getAttribute( String name )

获取指定名字name相联系的信息.

2. getAttributeNames()

返回Session对象中存储的每个属性对象,其结果为一个类举的实例.

3. getCreationTime()

返回Session被创建的时间.最小单位为千分之中的一个秒.

4. getId()

此方法返回惟一的标识,这些标识为每一个Session而产生.当仅仅有一个单一的值与一个Session联合时,或当日志信息与先前的Session有关时,它被当做键名用.

5. GetLastAccessedTime()

返回当前Session对象最后被客户发送的时间,最单位为千分之中的一个秒.

6. GetMaxInactiveInterval()

返回总时间(秒),负值表示Session永远不会超时.该时间为该Session对象的生存时间.

7. removeAttribute( String name )

删除与提定名字name的相联系的信息.

8. setAttribute( String name , java.lang.Object value )

设置指定名字name的属性值value,并将之存储在Session对象中.