在Tomcat中支持没有Cookie的会话
我当前正在运行具有以下属性的应用程序:
- 基于Java的Spring和Acegi
- 在雄猫5上运行
我需要能够在没有 Cookie 的情况下支持用户会话。有人可以给我指出正确的方向吗?
谢谢。
我当前正在运行具有以下属性的应用程序:
我需要能够在没有 Cookie 的情况下支持用户会话。有人可以给我指出正确的方向吗?
谢谢。
这个问题的完整答案是你所有回答的组合,所以我将总结一下:
无需在上下文中设置 cookies=“false.xml 文件。理想的功能是tomcat使用其基于url的会话标识,如果用户不支持cookie,则默认情况下将使用该标识。
当用户没有启用cookie时,tomcat将通过请求URL中的“JSESSIONID”参数来识别会话。几个示例 url 如下所示 请注意会话 ID 不是 url 查询字符串的一部分(这是一个 j2ee 标准)http://www.myurl.com;jsessionid=123456AFGT3
http://www.myurl.com;jsessionid=123456AFGT3?param1=value¶m2=value2
为了确保将 jsessionid 参数附加到所有请求 URL,不能有纯 url 引用。例如,在 JSTL 中,您必须使用 < c:url>。然后,servlet 引擎将在必要时自动将 jsessionid 附加到 url。下面是一个示例:
<%--这很糟糕:--%> <一个href=“page.html”>link< / a>
<%--这很好:--%> <一个href=“< c:url value='page.html'/>”>link< / a>
请参阅 http://tomcat.apache.org/tomcat-5.5-doc/config/context.html。
在文件 META-INF/context 中.xml,
<?xml version='1.0' encoding='UTF-8'?>
<Context path='/myApplicationContext' cookies='false'>
<!-- other settings -->
</Context>