HttpSession

一、什么是HttpSession?

        HttpSession是由JavaWeb提供的,用来会话跟踪的类。javax.servlet.http.HttpSession接口表示一个会话,我们可以把一个会话内需要共享的数据保存到HttSession对象中!session是服务器端对象,保存在服务器端。会话范围在用户从首次访问服务器开始,到该用户关闭浏览器结束!

        session就好比客户在服务器端的账户,它们被服务器保存到一个Map中,这个Map被称之为session缓存!

二、HttpSession的原理是什么?
(来源:CSDN 原文:https://blog.csdn.net/Dzy_water/article/details/79749246?utm_source=copy)

        当用户第一次访问Servlet时,服务器端会给用户创建一个独立的Session 并且生成一个SessionID,这个SessionID在响应浏览器的时候会被装进cookie中,从而被保存到浏览器中 当用户再一次访问Servlet时,请求中会携带着cookie中的SessionID去访问 服务器会根据这个SessionID去查看是否有对应的Session对象 有就拿出来使用;没有就创建一个Session(相当于用户第一次访问) 

三、HttpSession有哪些方法?

获得session对象:

HttpSession request.getSesssion():如果当前会话已经有了session对象那么直接返回,如果当前会话还不存在会话,那么创建session并返回;

HttpSession request.getSession(boolean):当参数为true时,与requeset.getSession()相同。如果参数为false,那么如果当前会话中存在session则返回,不存在返回null;

方法介绍:(官网:http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html

1、public void setAttribute(String name,Object value)

将value对象以name名称绑定到会话

2、public object getAttribute(String name)

取得name的属性值,如果属性不存在则返回null

3、public void removeAttribute(String name)

从会话中删除name属性,如果不存在不会执行,也不会抛处错误.

4、public Enumeration getAttributeNames()

返回和会话有关的枚举值

5、public void invalidate()

使会话失效,同时删除属性对象

6、public Boolean isNew()

用于检测当前客户是否为新的会话

7、public long getCreationTime()

返回会话创建时间

8、public long getLastAccessedTime()

返回在会话时间内web容器接收到客户最后发出的请求的时间

9、public int getMaxInactiveInterval()

返回在会话期间内客户请求的最长时间为秒

10、public void setMaxInactiveInterval(int seconds)

允许客户客户请求的最长时间

11、ServletContext getServletContext()

返回当前会话的上下文环境,ServletContext对象可以使Servlet与web容器进行通信

12、public String getId()

返回会话期间的识别号

四、HttpSession怎么使用?

模拟购物车:

https://www.cnblogs.com/daoxiaobai/p/6275524.html

https://blog.csdn.net/Dzy_water/article/details/79749246

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值