当前位置: 代码迷 >> Web前端 >> 【转载】【Servlet】在servlet中施用session
  详细解决方案

【转载】【Servlet】在servlet中施用session

热度:116   发布时间:2013-09-05 16:02:07.0
【转载】【Servlet】在servlet中使用session

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

?

  相关解决方案