此问题与上一个问题有关:Java servlet session not working properly with NGinx, how to fix?
I solved the above question when I changed "<Context>" to :
<Context sessionCookiePath="/">
...
</Context>
该更改发生在 /opt/tomcat85/conf/context.xml 中,该更改不在我的.war文件中。
现在我希望更改发生在我自己的应用程序中,所以我需要更改我的C:\ Dir_GATE_Web \ web \ META-INF中的“context.xml”[所以这只是更改影响我自己的应用程序]
在更改之前,我的C:\ Dir_GATE_Web \ web \ META-INF \ context.xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<Context path=""/>
更改后,它看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<Context path=""/>
<Context sessionCookiePath="/">
</Context>
但是在我编译之后,我收到了以下错误:
[致命错误]:3:2:根元素后面的文档中的标记必须格式正确。
C:\ Dir_GATE_Web \ nbproject \ build-impl.xml:1048:部署错误:Tomcat配置文件C:\ Dir_GATE_Web \ web \ META-INF \ context.xml似乎已损坏。请确保它是可解析且有效的。
我不熟悉context.xml文件的正确格式,正确的方法是什么?
答案 0 :(得分:1)
同一级别的Apache Tomcat Configuration - Common Attributes文档sessionCookiePath
和path
(上下文路径)。你有两个上下文,你想要一个(每个应用程序)。将其更改为
<Context path="" sessionCookiePath="/" />
答案 1 :(得分:0)
根据Elliott Frisch的建议,以下修复解决了这个问题: