1. 什么是Session?
我们所说的Session其实是HttpSession接口的实现类。只不过HttpSession接口的实现类是由Tomcat服务器帮我们实现的,不用我们自己实现。下面我们一直所说的Session其实就是HttpSession。
2. 什么时间考虑使用Session?
当有需求:2个Servelt来自同一个网站,且为同一个用户提供服务。
3. 怎么使用Session?
使用Session其实很简单,我们只需要下面的代码即可:
HttpSession session = request.getSession();
类型 x=session.getAttribute(key);//先去查询是否有session
session.setAttribute(key,value);//如果没有session,在根据逻辑,决定是否需要设置session
4. Session的详解:
- Session相当于一个map,这个map中可以放很多的key和value。我们也可以获得所有的key和value。获得的方式如下:
Enumeration keys=session.getAttributeNames(); //java规定,其返回是一个枚举类型
while(keys.hasMoreElements()){
类型 Y= goodsname.nextElement(); //Y就是key
// X就是value
类型 X= session.getAttribute(Y);//这里是从map拿到的,所以value一定不会为null
out.print(": "+Y+ " "+X);
}
- Session创建好后,会被放在服务器上,其默认存活的时间是30分钟,超过这个时间,Session就会被服务器给“杀死”。当然我们也可以手动在web.xml文件中,手动设置Session的存活时间。
<Session-config>
<Session-timeout>X</Session-timeout>这里X的单位是分钟
</Session-config>
- 一个用户,一个SessionID,响应包会将这个SessionID放到Cookie中,返回给浏览器。
5. HttpSession与Cookie的比较
6. Session有什么缺点?
版权归原作者 白胡子永远 所有, 如有侵权,请联系我们删除。