HttpSession使用和源码分析

HttpSession源码

HttpSession接口位于javax.servlet.http包下,和cookie位于同一个包
源码如下:

public interface HttpSession {

	//返回session创建时间
    public long getCreationTime();

	//返回sessionId,Id由服务器自动创建,不会重复
    public String getId();

	//返回session最后一次活跃的时间
    public long getLastAccessedTime();

    public ServletContext getServletContext();
	
	//设置session超时时间
    public void setMaxInactiveInterval(int interval);

    public int getMaxInactiveInterval();

    public HttpSessionContext getSessionContext();
	
	//获取session属性
    public Object getAttribute(String name);

    public Object getValue(String name);

	//返回session中存在的属性名
    public Enumeration<String> getAttributeNames();

    public String[] getValueNames();
	
	//设置session的属性
    public void setAttribute(String name, Object value);

    public void removeValue(String name);
	
	//移除session属性
	public void removeAttribute(String name);

	//设置失效
    public void invalidate();

	//是否是新建的
    public boolean isNew();
}

HttpSession使用

  1. session使用在服务端
  2. session还是依赖于cookie,服务端给客户端发送JSESSIONID的cookie,这就是sessionId的由来,依据这个判断是否为同一用户。
  3. 不同的浏览器会生成不同的session,但是同一浏览器会使用同一个session
  4. session中禁止使用cookie,统一使用URL地址重写。
发布了56 篇原创文章 · 获赞 3 · 访问量 1175

猜你喜欢

转载自blog.csdn.net/qq_40788718/article/details/103609758
今日推荐