更改cookie JSESSIONID名称


问题内容

我有一个必须在单个物理框中运行多个tomcat服务器的要求。从浏览器访问这些文件时,当用户在应用程序之间切换时,将导致注销用户先前访问的应用程序。这是因为JSESSIONID Cookie冲突。

一种可能的解决方案是在不同的上下文中运行每个应用程序。不幸的是,我的应用程序无法在上下文路径设置中工作,因为前面没有使用request.getContextPath()访问任何资源。

这使我可以更改cookie JSESSIONID的名称来解决冲突。有没有办法做到这一点?如果是,怎么办?

希望我清楚地说出我的问题。

注意:我所有的应用程序都在同一台计算机的不同端口上运行。


问题答案:

使用Servlet API 3.0,一切都变得更加简单。

现在,您可以在web.xml中对其进行配置:

<session-config>
    <cookie-config>
        <name>MY_JSESSIONID_YAHOOOOOO</name>
    </cookie-config>
</session-config>

而已!