目录
1. 什么是?
定制化开发我们所说的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中,返回给浏览器。