0


帮你搞懂什么是Session

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有什么缺点?


本文转载自: https://blog.csdn.net/weixin_44362089/article/details/127226388
版权归原作者 白胡子永远 所有, 如有侵权,请联系我们删除。

“帮你搞懂什么是Session”的评论:

还没有评论