`
tonysmith
  • 浏览: 175690 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

HttpSession

  理解javax.servlet.http.HttpSession
  HttpSession是Java平台对session机制的实现规范,因为它仅仅是个接口,具体到每个web应用服务器的提供商,除了对规范支持之外,仍然会有一些规范里没有规定的细微差异。这里我们以BEA的Weblogic Server8.1作为例子来演示。
  首先,Weblogic Server提供了一系列的参数来控制它的HttpSession的实现,包括使用cookie的开关选项,使用URL重写的开关选项,session持久化的设置,session失效时间的设置,以及针对cookie的各种设置,比如设置cookie的名字、路径、域, cookie的生存时间等。
  一般情况下,session都是存储在内存里,当服务器进程被停止或者重启的时候,内存里的session也会被清空,如果设置了session的持久化特性,服务器就会把session保存到硬盘上,当服务器进程重新启动或这些信息将能够被再次使用, Weblogic Server支持的持久性方式包括文件、数据库、客户端cookie保存和复制。
  复制严格说来不算持久化保存,因为session实际上还是保存在内存里,不过同样的信息被复制到各个cluster内的服务器进程中,这样即使某个服务器进程停止工作也仍然可以从其他进程中取得session。
  cookie生存时间的设置则会影响浏览器生成的cookie是否是一个会话cookie。默认是使用会话cookie。有兴趣的可以用它来试验我们在第四节里提到的那个误解。
  cookie的路径对于web应用程序来说是一个非常重要的选项,Weblogic Server对这个选项的默认处理方式使得它与其他服务器有明显的区别。后面我们会专题讨论。
  HttpSession类它提供了setAttribute()和getAttribute()方法存储和检索对象。HttpSession提供了一个会话ID关键字,一个参与会话行为的客户端在同一会话的请求中存储和返回它。servlet引擎查找适当的会话对象,并使之对当前请求可用。HttpServletRequest 接口提供了以下方法来获取HttpSession实例。
  public HttpSession getSession() :该方法取得请求所在的会话。
  public HttpSession getSession(Boolean create):返回当前请求的会话。如果当前请求不属于任何会话,而且create参数为true,则创建一个会话,否则返回null。此后所有来自同一个的请求都属于这个会话,通过它的getSession返回的是当前会话。
  方法
  介绍
  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 setMaxInactiveInterval(int seconds)
  允许客户客户请求的最长时间
  ServletContext getServletContext()
  返回当前会话的上下文环境,ServletContext对象可以使Servlet与web容器进行通信
  public String getId()
  返回会话期间的识别号

分享到:
评论

相关推荐

    httpSession

    在Web开发中,httpSession是服务器用于跟踪用户状态的一种机制。由于HTTP协议本身是无状态的,即服务器无法识别连续发送请求的同一客户端,因此引入了session来解决这个问题。 在Web应用程序中,当用户打开浏览器...

    HttpSession的使用

    **HttpSession详解** 在Web开发中,`HttpSession` 是一个至关重要的概念,它属于Java Servlet API的一部分,用于在客户端浏览器和服务器之间存储状态信息。当你需要在用户的不同请求之间保持某些数据时,例如购物车...

    spring websocket获取httpsession

    在Spring 4版本中,我们经常需要结合WebSocket与HttpSession来处理需要用户上下文信息的场景。本篇将详细讲解如何在Spring WebSocket中获取HttpSession。 首先,我们需要理解WebSocket与HttpSession的基本概念。...

    WebSocket区分不同客户端两种方法(HttpSession和@PathParam)

    HttpSession httpSession = (HttpSession) config.getUserProperties().get(HttpSession.class.getName()); } } ``` 通过这种方式,可以在WebSocket连接建立时获取到当前用户的`HttpSession`,从而获取用户的相关...

    httpsession实现验证码登录小实例

    在本文中,我们将深入探讨如何使用Java编程语言和HttpSession接口来实现一个简单的验证码登录系统。验证码(CAPTCHA)是一种防止恶意机器人或自动化程序非法访问网站的安全机制,它要求用户输入图片上显示的一组随机...

    servlet-api.jar 适用于import javax.servlet.http.HttpSession;异常

    servlet-api.jar 适用于import javax.servlet.http.HttpSession;异常 直接下载后直接导入 即可,

    利用HttpSession实现Ajax请求重定向.docx

    HttpSession 实现 Ajax 请求重定向 标题:利用 HttpSession实现Ajax请求重定向 描述:如何在 Ajax 请求正常执行的情况下,实现网页重定向 标签:Ajax 重定向 HttpSession post 在本文中,我们将探讨如何使用 ...

    servletapi.rar_HttpSession jar_Java jar包_javaee.jar_servletAPI

    1. **HttpSession**: HttpSession接口是Java Servlet API的一部分,它允许开发者在客户端的浏览器会话之间存储和检索数据。在Web应用中,当用户打开一个网站并进行一系列操作时,HttpSession可以帮助保持用户的登录...

    Web_4_状态管理Cookie和HttpSession1

    状态管理的两种常见模式是Cookie和HttpSession。Cookie是一种客户端状态管理技术,它将状态信息存储在用户的浏览器中。服务器通过在HTTP响应头中添加`Set-Cookie`字段,向浏览器发送Cookie,浏览器则会在后续的请求...

    HttpSession/session,jsp,servlet——综合练习题一

    在IT行业中,尤其是在Web开发领域,`HttpSession`、`jsp`和`servlet`是三个非常重要的概念。这里我们将深入探讨这些技术,并结合一个名为"web26_session5示例1"的压缩包文件,来解析它们在实际应用中的综合运用。 ...

    在WebSphereApplicationServerV7集群环境中管理HTTPsession.pdf

    在WebSphereApplicationServerV7集群环境中管理HTTPsession.pdf

    ServletHttpSession DEMO

    下面我们将深入探讨ServletHttpSession的相关知识点。 **1. HTTP协议的无状态性** HTTP协议本身是无状态的,这意味着每次客户端向服务器发送请求,服务器处理完后就不再保留任何关于这个请求的信息。为了在多个请求...

    HTTPSession-开源

    HTTPSession库提供了方便的方法来操作Cookie,如添加、删除、获取和更新Cookie值。这使得开发者能够轻松处理登录状态、个性化设置等需要持久化信息的场景。 2. **HTTP身份验证**: HTTP协议提供了多种身份验证机制...

    Servlet实现猜数字大小游戏

    描述中的"利用session完成设计"意味着我们需要使用HttpSession接口来存储用户的状态信息。在游戏过程中,服务器需要记住用户的猜测次数,而session正是为此目的而设计的。当用户发送一个请求时,我们可以在session中...

    java后台请求http并保持Session

    HttpSession session = request.getSession(); session.setAttribute("userInfo", user); // 在后台请求中使用Session Map, String> cookies = new HashMap(); cookies.put("JSESSIONID", sessionId); // 设置...

    httpservletrequest的jar包

    httpservletrequest、httpsession的jar包,导入资源包。

    java使用HttpSession实现QQ访问记录

    在Java Web开发中,`HttpSession` 是一个关键的组件,用于存储客户端会话状态的信息。本示例展示了如何利用`HttpSession`来追踪QQ访问记录。以下将详细讲解实现这个功能所需的知识点: 1. **HttpSession接口**:`...

    EOS运算逻辑中获取session和request

    在普元Primeton EOS运算逻辑中获取HttpSession和Httprequest以及application 在普元Primeton EOS运算逻辑中获取HttpSession和Httprequest以及application

    java使用websocket,并且获取HttpSession 源码分析(推荐)

    Java 使用 WebSocket 并获取 HttpSession 源码分析 WebSocket 是一种实时通信技术,允许服务器主动推送数据到客户端,避免了传统的轮询机制。在 Java 中,我们可以使用 WebSocket 实现实时通信,获取 HttpSession ...

Global site tag (gtag.js) - Google Analytics