一尘不染

在Tomcat中支持不带Cookie的会话

tomcat

我当前正在运行具有以下属性的应用程序:

  • 基于Java的Spring和Acegi
  • 在Tomcat 5上运行

我需要能够支持 没有 cookie的用户会话。有人可以指出我正确的方向。

谢谢。


阅读 441

收藏
2020-06-16

共1个答案

一尘不染

这个问题的完整答案是您所有回答的结合,因此,我将总结一下:

  1. 无需在context.xml文件中设置cookies =“ false”。tomcat的理想功能是使用基于URL的会话标识,如果用户不支持cookie,则默认情况下将使用该标识。

  2. 当用户未启用Cookie时,tomcat将通过请求网址中的“ JSESSIONID”参数来识别会话。几个示例URL如下所示, http://www.myurl.com;jsessionid=123456AFGT3 http://www.myurl.com;jsessionid=123456AFGT3?param1=value&param2=value2 请注意会话ID如何不属于url查询字符串(这是j2ee标准)

  3. 为了确保将jsessionid参数附加到所有请求URL中,不能使用纯URL引用。例如,在JSTL中,您必须使用。然后,如果需要,servlet引擎将自动将jsessionid附加到URL。这是一个例子:

<%-这很糟糕:-%> 链接

<%-这很好:-%> ”>链接

2020-06-16