HttpSession使用和源码分析

南楼画角 提交于 2019-12-19 12:40:46

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地址重写。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!