我有一个 tomcat 服务器,在上面部署了 10 个 Web 应用程序。我有一个过滤器,它从一个应用程序(比如“A”)读取传入请求,读取某个 cookie 值,并根据 cookie 的值从数据库中获取另一个上下文名称(比如“B”)。然后,该过滤器将具有上下文 A(eg ) 的请求重写为http://1.1.1.1/A/XYZServlet
具有上下文 B (eg ) 的新请求http://1.1.1.1/B/XYZServlet
。
这样做时,执行新请求时所有会话变量都将丢失。当我的过滤器将旧请求(上下文 A)重定向到新请求(上下文 B)时,如何确保保留会话和所有会话变量(与上下文 A 相关)?由于某些架构原因,在 server.xml 中设置 emptySessionPath = "true" 不是解决方案。