会话跟踪选项

HTTP 会话支持还涉及会话跟踪。可以使用 cookie、URL 重写或安全套接字层 (SSL) 信息来进行会话跟踪。

使用 cookie 进行会话跟踪

使用 cookie 进行会话跟踪是缺省设置。无须特殊编程就能使用 cookie 跟踪会话。

使用 URL 重写进行会话跟踪

使用 URL 重写跟踪会话的应用程序必须遵循某些编程准则。应用程序开发者需要执行以下各操作:

  • 对 servlet 进行编程以编码 URL
  • 提供 servlet 或 JavaServer Pages (JSP) 文件作为到该应用程序的入口点

使用 URL 重写也要求您在会话管理工具中启用 URL 重写。

注: 在某些情况下,客户机不能接受 cookie。因此,您不能使用 cookie 作为会话跟踪机制。应用程序可以使用 URL 重写作为一种替代方法。

对会话 servlet 进行编程以编码 URL

根据 servlet 是将 URL 返回到浏览器,还是将它们重定向,包括 servlet 代码中的 encodeURL 方法或 encodeRedirectURL 方法。以下示例演示当前 servlet 代码中要替换的内容。

重写 URL 以返回浏览器

假设您当前有此语句:

out.println(“<a href=\”/store/catalog\“>catalog<a>”);

在将 URL 发送到输出流之前,更改 servlet 以调用 encodeURL 方法:

out.println(“<a href=\”“”);
out.println(response.encodeURL (“/store/catalog”));
out.println(“\”>catalog</a>“”);

重写 URL 以重定向

假设您当前有以下语句:

response.sendRedirect (“http://myhost/store/catalog”);

在将 URL 发送到输出流之前,更改 servlet 以调用 encodeRedirectURL 方法:

response.sendRedirect (response.encodeRedirectURL (“http://myhost/store/catalog”));

encodeURL 方法和 encodeRedirectURL 方法是 HttpServletResponse 对象的一部分。这些调用在对 URL 进行编码之前将检查是否配置了 URL 重写。如果未配置,这些调用返回原始 URL。

您也可以配置会话支持来启用协议开关重写。当启用了此选项,该产品将使用会话标识来编码 URL,以在 HTTP 和 HTTPS 协议间转接。
避免故障 避免故障: 如果要对 URL 进行编码,那么必须启用 AlwaysEncodeURL 定制属性并将其值设置为 true。
可以在服务器、应用程序或 Web 模块级别配置会话管理属性,如会话管理配置。以下步骤用于在服务器级别设置会话管理的定制属性。
  1. 在管理控制台中,单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > 会话管理
  2. 其他属性下面,选择定制属性
  3. 在“定制属性”页面上,单击新建
  4. 在设置页面上的“名称”字段中输入要配置的属性,并在“值”字段中输入要设置的值。
  5. 单击应用确定
  6. 单击控制台任务栏上的保存以保存配置更改。
  7. 重新启动服务器。
gotcha

提供 servlet 或 JSP 文件作为入口点

应用程序(如初始屏幕所显示的)的入口点可能不需要使用会话。但是,如果应用程序通常在会话创建后需要会话支持(这意味着它的某些部分(如 servlet)需要会话支持),那么所有的 URL 要编码到要求会话支持的 servlet(或其他应用程序组件)的永久会话标识中。

以下示例显示了如何在 JSP 文件中嵌入 Java™ 代码:

<%
response.encodeURL (“/store/catalog”);
%>

使用 SSL 信息进行会话跟踪(不推荐)

不推荐使用的功能部件 不推荐使用的功能部件: 不推荐在 WebSphere® Application Server V7.0 中使用 SSL 标识来进行会话跟踪。可以将会话跟踪配置为使用 cookie 或 URL 重写。depfeat

无须特殊编程就能使用安全套接字层 (SSL) 信息跟踪会话。

要使用 SSL 信息,请打开会话管理属性页面中的“启用 SSL 标识跟踪”。由于 SSL 会话标识在 Web 浏览器和 HTTP Server 之间进行协商,因此发生 HTTP Server 故障时,此标识无法存活。然而,如果在 WebSphere Application Server 和浏览器之间存在外部 HTTP Server,那么应用程序服务器的失败不会影响 SSL 会话标识。

仅对 IBM® HTTP Server 和 iPlanet Web 服务器支持 SSL 跟踪。通过在 Web 服务器中配置选项,您可以控制 SSL 会话标识的生存期。例如,在 IBM HTTP Server 中,设置配置变量 SSLV3TIMEOUT 来为 SSL 会话标识提供足够生存期。太短的间隔会导致会话的过早终止。另外,一些 Web 浏览器可能自带影响 SSL 会话标识的生存期的计时器。在这些 Web 浏览器中,SSL 会话标识处于活动状态的时间不足,无法作为用于跟踪会话的有效机制。WebSphere Application Server 的内部 HTTP Server 也支持 SSL 跟踪。

当 SSL 会话标识在克隆环境中作为会话跟踪机制使用时,必须使用 cookie 或 URL 重写来维护会话亲缘关系。Cookie 或重写的 URL 包含会话亲缘关系信息,该信息使 Web 服务器可以为每个请求正确地将会话路由回同一服务器。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprs_sesd
文件名:rprs_sesd.html