使用request.getSession()方法获取Session, 本方法是从当前request中获取session,如果获取不到session,则会自动创建一个session,并返回新创建的session;如果获取到,则返回获取到的session; 获取到session后可以使用getAttribute(“<属性名>”)来获取具体的session中的值,下面的代码是将Session中的所有值都遍历出来
Enumeration enumeration =request.getSession.getAttributeNames();
while(enumeration.hasMoreElements()){
String AddFileName=enumeration.nextElement().toString();//获取session中的键值
String value=(String)session.getAttribute(AddFileName);//根据键值取出session中的值
FileName+=value+"@";
System.out.println(FileName);
}
拓展知识
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。让我们说得更具体一些:当用户使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器。
session的实现原理如下如所示