多语言展示
当前在线:1667今日阅读:26今日分享:39

JSP教程:[8]session对象

为了便于Web开发,在JSP内部设置了一些默认的对象,这些对象不需要预先声明就可以在脚本和表达式中使用。内置对象也称隐含对象。常用的内置对象有:request,response ,out,session,application,pageContext,config,page和exception.这里,我们介绍session对象。
工具/原料
1

Eclipse

2

Tomcat

一、基本概念
1

session(会话)对象是类javax.servlet.Httpsession的一个对象。session是从客户端连接服务器开始,到与服务器断开为止。

2

session对象用于保存每个与服务器建立连接的客户端的信息,session的ID保存于客户端的Cookie中,这个session ID标识唯一和用户,与其他用户的session ID不同。

3

session对象的ID:当一个客户端访问服务器的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,并发给客户端。客户端将其存储于Cookie.a其标志了一个唯一的ID;采用getID()方法返回session对象在服务器端的编号。服务器端通过此ID,唯一地识别一个用户,并提供特殊的服务。

4

session对象的有效期:存在以下几个情况时,session对象和其存储的数据会消失,情况有:当用户关闭当前正在使用的浏览器时;关闭网页服务器。用户未向服务器提出请求超预设时,Tomcat服务器预设为30分钟;运行程序结束session.出现以上四种情况时,session对象会消失。

二、访问session对象的数据
1

首先,建立个session变量:方式为:session.setAttribute('变量名称',变量内容);在JSP语句中的代码参考:<%   session.setAttribute('id','编号');  //设置字符串  session.setAttribute('date',new Date(86400*10));//设置日期  session.setAttribute('level',new Integer(3));//设置整数%>

2

其次,返回session中的变量:在设置了变量数据之后,怎样读取呢,使用下面的语法格式即可读取:session.getAttribute('变量名称');//变量名称,即你之前设置的;返回的数据类型为对象(Object),之后你需要转换成其他的数据类型。

3

返回session中的所有变量:如果你需要获取全部的数据,但又不知道名称怎么办?你可以使用以下的方法:session.getAttributeNames();//返回的数据类型是一个枚举类集合,通过循环读取,你就可以得到所胡的名称与值了;

4

之后,清除session中的变量:如果 session中的某个变量不需要使用了,怎么办呢,当然是要清除掉了,方法是:session.removeAttribute('变量名称');

5

最后,结束session会话:对于已经建立好的session,我们可以使用以下方法来结束session对话,方法是:session.invalidate();

三、session对象使用的小例子
1

使用session对象的isNew()的方法,我们可以做一个小巧简单的网站访问人数。isNew()方法,是确定这个session是否新建立的,如果是的,则返回boolean类型的true,否则返回false;

2

第一次运行时,你会发现此值为1;另一个浏览器窗口时没有变化;你可以再打开个新浏览器或者关闭当前浏览器,再打开此页面时,网站人数又增加了。通过尝试,你就会了解一些关session的生命周期。

注意事项

如果你感觉不错,请点个赞吧!

推荐信息