我在Tomcat 8.0.20上运行以下配置:
C:\tomcat
conf
server.xml
context.xml
webapps
app
app2
......
C:\external
app3
web
app4
web
app5
web
在context.xml中,我有<Context crossContext="true"> .... </Context>
在server.xml中:
..........
<Host name="host.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context
cachingAllowed="false"
docBase="C:\external\app3\web"
path=""
crossContext="true"
reloadable="true" />
<Context
cachingAllowed="false"
crossContext="true"
docBase="C:\external\app4\web"
path="/app4"
reloadable="true" />
<Context
cachingAllowed="false"
crossContext="true"
docBase="C:\external\app5\web"
path="/app5"
reloadable="true" />
</Host>
从/app
获取/app2
,/app5
或/app4
的上下文按预期方式工作:
request.getServletContext().getContext("/app")
不为空。
但是,请求/app3
的上下文(带有上下文路径/
)。
知道为什么getContext("/")
为空?