1

我想更改已部署的 Web 应用程序的上下文。目前通过 url 访问www.app.mysite.com/dashboard

但我想把它改成www.app.mysite.com/application/dashboard

我通过帖子在这里这里更改了根上下文。但问题是我在该服务器上运行了其他应用程序,这些应用程序由

www.app.mysite.com/ps
www.app.mysite.com/ls

如果我更改 server.xml 中的上下文路径,它会影响我的其他应用程序的上下文吗?我不希望为上述应用程序更改上下文,但我想为我的特定应用程序仪表板更改它。

有没有办法通过向 web.xml 或其他内容添加任何内容来更改任何特定应用程序的上下文?

4

2 回答 2

2

这是一种方法(逐步):

  1. 将扩展的 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)
    
  2. 编辑 TOMCAT_ROOT/conf/server.xml。<Context>在适当的元素下添加以下<Host>内容(可能只有一个):

    <Host ...>
        <Context
            path="/application/dashboard"
            docBase="/home/nikos/apache-tomcat-6.0.37/webapps-manual/myapp"
        />
    </Host>
    
  3. 完毕!打开http://localhost:8080/application/dashboard/index.jsp并查看由$TOMCAT_HOME/webapps-manual/myapp/index.jsp.

请参阅此处的相关文档(请参阅属性pathdocBase)。

于 2013-09-20T22:38:02.463 回答
0

我怀疑这在tomcat中是否可行。最好是使用 apache http 服务器,或者创建两个应用程序,一个是上下文根应用程序(虚拟应用程序),一个 servlet 将所有请求路由到仪表板。

让我知道您是否能够以更好的方式在 tomcat 中执行此操作

于 2013-09-20T16:02:58.783 回答