0

我已经在 Apache Tomcat 中部署了一个应用程序。假设项目名称为 abc(或从 abc.war 部署)。

我使用 url 访问它:=>http://localhost:8080/abc/

但我想为网络应用重定向或拥有别名。喜欢

http://localhost:8080/abc/ http://localhost:8080/abc1/ http://localhost:8080/abc2/ http://localhost:8080/abc3/

以上所有参考相同的网络应用程序。我该怎么做,我不想多次复制粘贴文件夹并重命名它。

~谢谢

4

2 回答 2

0

最好的解决方案是不使用warfile。将所有内容复制到指定目录(即\user\abc),然后您可以通过两种方式配置所有上下文。

  • 每个要映射的上下文都有一个 xml,方法是将其放入您的: %CATALINA_HOME%\conf\Catalina\localhost. 请记住,xml 文件的名称将是您的 webapp 的映射,但您可以使用pathxml 中的属性重新定义它。在您的情况下,您必须生成abc.xml, abc1.xmlabc2.xml并且它们的内容应该类似于:

    abc.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <Context docBase="\user\abc" path="abc" reloadable="false"/>
    

    abc1.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context docBase="\user\abc" path="abc1" reloadable="false"/>
    
  • 您可以%CATALINA_HOME%\conf\server.xml通过在标签内插入<Host ...>上下文定义来直接编辑,如下所示:

    <Host ...>
        <Context docBase="\user\abc" path="abc" reloadable="false"/>
        <Context docBase="\user\abc" path="abc1" reloadable="false"/>
    </Host>
    

如果您需要为上下文提供数据库数据源信息,只需将标签 Resource 添加到上下文定义本身(在 xml 文件或 server.xml 中),这里有一个示例:

<Context docBase="\user\abc" path="abc" reloadable="false">
    <Resource auth="Container" description="DataSource"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        maxActive="4"
        maxIdle="2"
        maxWait="5000"
        name="jdbc/myJNDIname"
        password="mypass"
        type="javax.sql.DataSource"
        url="jdbc:oracle:thin:@host:port:SID"
        username="myuser"/>
</Context>

如果您需要最后一部分,显然只需将它用于您想要复制的每个上下文。

希望能帮助到你。

于 2013-05-31T17:30:53.373 回答
0

最简单的方法是创建应用程序的软链接目录,像这样

ln -s $PWD/abc $PWD/abc1
ln -s $PWD/abc $PWD/abc2
ln -s $PWD/abc $PWD/abc3
于 2020-01-05T11:43:59.633 回答