我想更改已部署的Web应用程序的上下文。目前,它由网址www.app.mysite.com/dashboard
但我想将其更改为www.app.mysite.com/application/dashboard
我通过帖子来更改根上下文here和here。但问题是我在该服务器上运行的其他应用程序可以通过
访问www.app.mysite.com/ps
www.app.mysite.com/ls
如果我更改server.xml中的上下文路径会影响我的其他应用程序的上下文吗?我不希望上述应用程序更改上下文,但我想为我的特定应用程序仪表板更改它。
有没有办法通过向web.xml或其他内容添加任何内容来更改任何特定应用程序的上下文?
答案 0 :(得分:2)
这是一种方法(一步一步):
将展开的WAR放在 webapps 之外的目录中。我的TOMCAT_HOME是/home/nikos/apache-tomcat-6.0.37
,我将我的应用放在新文件夹myapp
下的$TOMCAT_HOME/webapps-manual
文件夹中。即文件夹结构是:
$TOMCAT_HOME
|
+- ...
|
+- webapps (NOT HERE!!!)
|
+- webapps-manual
|
+- myapp
|
+- index.jsp
|
+- WEB-INF
|
+- web.xml (optional)
编辑TOMCAT_ROOT / conf / server.xml。在相应的<Context>
元素下添加以下<Host>
(可能只有一个):
<Host ...>
<Context
path="/application/dashboard"
docBase="/home/nikos/apache-tomcat-6.0.37/webapps-manual/myapp"
/>
</Host>
DONE!打开http://localhost:8080/application/dashboard/index.jsp
,查看$TOMCAT_HOME/webapps-manual/myapp/index.jsp
生成的内容。
请参阅相关文档here(请参阅属性path
和docBase
)。
答案 1 :(得分:0)
我怀疑这是否可能在tomcat中。最好的方法是使用apache http服务器,否则,使用servlet创建两个带有上下文根应用程序(虚拟应用程序)的应用程序,将所有请求路由到仪表板。
如果您能够以更好的方式在tomcat中执行此操作,请告诉我