声明:本文摘自http://blog.youkuaiyun.com/jueblog/article/details/10581233并整理
众所周知,在JSP页面上可直接通过session.setAttribute(name,object)设置session。
可如果想在servlet使用session 的话,就和在JSP有点区别了。
在servlet中通过
HttpSession session=request.getSession(boolean create);
得到一个session对象(准确来说,得到的应该是一个HttpSession 对象),然后,就可以像在JSP页面中直接使用它了。
参数Boolean create说明:
如果当前请求不属于任何会话,而且create参数为true,则创建一个会话,否则返回null。
当然如果为false的时候,那就和不带参数的HttpSession session=request.getSession();等价了。
其实,jsp中的session和servlet中的HttpSession其实根本没有区别,
JSP页面在编译时会通过Jsp container将session对象变换为javax.servlet.http.HttpSession对象。
HttpSession的方法
捎带介绍下HttpSession的方法吧。
public void setAttribute(String name,Object value)
// 将value对象以name名称绑定到会话
public object getAttribute(String name)
// 取得name的属性值,如果属性不存在则返回null
public void removeAttribute(String name)
// 从会话中删除name属性,如果不存在不会执行,也不会抛处错误.
public Enumeration getAttributeNames()
// 返回和会话有关的枚举值
public void invalidate()
// 使会话失效,同时删除属性对象
public Boolean isNew()
// 用于检测当前客户是否为新的会话
public long getCreationTime()
// 返回会话创建时间
public long getLastAccessedTime()
// 返回在会话时间内web容器接收到客户最后发出的请求的时间
public int getMaxInactiveInterval()
// 返回在会话期间内客户请求的最长时间.秒
public void setMasInactiveInterval(int seconds)
// 允许客户客户请求的最长时间
ServletContext getServletContext()
//返回当前会话的上下文环境,ServletContext对象可以使Servlet与web容器进行通信
public String getId()
// 返回会话期间的识别号