三.Session对象 1.什么是Session:Session对象是一个jsp内置对象,它在第一个jsp页面被装载时自动创建,完成会话期管理。 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。飞飞Asp.技术乐园当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。 2.session对象的Id:当一个客户首次访问服务器上的一个jsp页面时,jsp引擎产生一个session对象,同时分配一个String类型的Id号,jsp引擎同时将这个Id号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。飞飞Asp技.术乐园 3.session对象常用方法: i.public String getId():获取session对象编号。 ii.public void setAttribute(String key,Object obj):将参数Object指定的对象obj添加到session对象中,并为添加的对象指定一个索引关键字。 iii.public Object getAttribute(String key):获取session对象中含有关键字的对象。 iv.public Boolean isNew():判断是否是一个新的客户。 例如:session1.jsp
<%@ page c %> <HTML> <BODY bgcolor=cyan><FONT Size=5> <BODY> <%String s=session.getId(); %> <P>您的session对象的ID是: <BR> <%=s%> <BODY> <HTML> 例如:session2.jsp <%@ page c %> <HTML> <BODY> <%! int number=0; synchronized void countPeople() { number++; } %> <% if(session.isNew()) { countPeople(); String str=String.valueOf(number); session.setAttribute("count",str); } %> <P>您是第<%=(String)session.getAttribute("count")%>个访问本站的人 。<BODY> <HTML>
|