当你使用HttpSession时,可以做哪些操作

首先HTTP是无状态的,也就意味着它并不会记住你是谁你在干什么你之前干过什么等等。所以为了让客户端跟服务器之间的HTTP通信拥有记忆能力,Cookie和Session就应运而生。

Cookie保存在客户端:Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。

Session保存在服务器端:当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当会话过期或被放弃后,服务器将终止该会话。

package javax.servlet.http;
import java.util.Enumeration;
import javax.servlet.ServletContext;

public interface HttpSession {
    //返回创建此会话的时间,以格林威治标准时间1970年1月1日午夜以来的毫秒数为单位。
    public long getCreationTime();
    //返回包含分配给此会话的唯一标识符的字符串。标识符由servlet容器分配,并且取决于实现。
    public String getId();
    //返回客户端最后一次发送与此会话关联的请求,作为自格林威治标准时间1970年1月1日午夜以来的毫秒数,并以容器收到请求的时间为标记。应用程序采取的操作(例如获取或设置与会话关联的值)不会影响访问时间。
    public long getLastAccessedTime();
    //返回此会话所属的ServletContext。
    public ServletContext getServletContext();
    //指定servlet容器使此会话失效之前的客户端请求之间的时间(以秒为单位)。否定时间表示会话永远不会超时。
    public void setMaxInactiveInterval(int interval);
    //返回servlet容器在客户端访问之间保持此会话打开的最长时间间隔(以秒为单位)。在此间隔之后,servlet容器将使会话无效。可以使用该setMaxInactiveInterval方法设置最大时间间隔。否定时间表示会话永远不会超时。
    public int getMaxInactiveInterval();
    //已过时。 从版本2.1开始,此方法已弃用,无法替换。它将在Java Servlet API的未来版本中删除。
    public HttpSessionContext getSessionContext();
    //返回在此会话中使用指定名称绑定的对象,或者 null如果名称下没有绑定任何对象。name - 指定对象名称的字符串
    public Object getAttribute(String name);
    //从版本2.2开始,此方法将替换为getAttribute(java.lang.String)。name - 指定对象名称的字符串,返回具有指定名称的对象
    public Object getValue(String name);
    // 返回Enumeration的String含有与本次会议的所有对象的名称的对象。
    public Enumeration<String> getAttributeNames();
    //已过时。 从版本2.2开始,此方法将替换为getAttributeNames()
    public String[] getValueNames();
    //使用指定的名称将对象绑定到此会话。如果已将同名对象绑定到会话,则替换该对象。
    public void setAttribute(String name, Object value);
    //已过时。从版本2.2开始,此方法被替换为setAttribute(java.lang.String, java.lang.Object)
    public void putValue(String name, Object value);
    //从该会话中移除具有指定名称的对象。如果会话不具有绑定到指定名称的对象,则此方法不执行任何操作。
    public void removeAttribute(String name);
    //已过时。从版本2.2开始,此方法被替换为removeAttribute(java.lang.String)
    public void removeValue(String name);
    //让此会话无效,然后解开绑定到它的任何对象。
    public void invalidate();
    //如果客户端还未知晓该回话或者客户端选择不加入会话,返回true。例如服务器使用了cookie客户端禁用了cookie的会话,那么每个请求都是新的。
    public boolean isNew();

}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值