将根上下文更改为tomcat 6中的其他文件夹

时间:2013-09-18 13:04:58

标签: tomcat tomcat6

我想更改已部署的Web应用程序的上下文。目前,它由网址www.app.mysite.com/dashboard

访问

但我想将其更改为www.app.mysite.com/application/dashboard

我通过帖子来更改根上下文herehere。但问题是我在该服务器上运行的其他应用程序可以通过

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

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

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

2 个答案:

答案 0 :(得分: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. DONE!打开http://localhost:8080/application/dashboard/index.jsp,查看$TOMCAT_HOME/webapps-manual/myapp/index.jsp生成的内容。

  4. 请参阅相关文档here(请参阅属性pathdocBase)。

答案 1 :(得分:0)

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

如果您能够以更好的方式在tomcat中执行此操作,请告诉我