声明:本文摘自http://blog.csdn.net/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() // 返回会话期间的识别号
?