一尘不染

在Tomcat上部署war文件并在没有项目名称的情况下运行

jsp

我刚刚创建了我的Web项目(JSP / Servlet)的war文件。

项目名称:TestApp

当我在Tomcat 7中使用它时,我会像这样运行它:

本地主机:8080 / TestApp /**www.maypage.com/testApp/**

好的,一切正常,但是我需要在没有项目名称的情况下运行它,如下所示:

本地主机:8080 和托管 **www.maypage.com**

我怎样才能做到这一点?谢谢。

而且我正在优化具有该配置选项的jsp / servlet托管。你知道那样主持吗?


阅读 843

收藏
2020-06-08

共1个答案

一尘不染

为了不使用应用程序名称访问应用程序,您需要将其部署为根应用程序。有多种方法可以实现它,相关的答案对它的描述很好。

从以上链接复制的内容:

第一种方法:

首先[从bin目录(sh shutdown.sh)关闭您的tomcat,然后必须删除tomcat webapps文件夹的所有内容(rm -fr
*),然后将WAR文件重命名为ROOT.war,最后从[从bin目录(sh startup.sh)]

第二种方法:

将您的war文件以其原始名称保留在CATALINA_BASE / webapps中-
在server.xml文件的Host元素中关闭autoDeploy和deployOnStartup。在server.xml中显式定义所有应用程序上下文,同时指定path和docBase。您必须这样做,因为您已禁用了所有Tomcat自动部署机制,并且Tomcat将不再部署您的应用程序,除非它在server.xml中找到了它们的上下文。

注意:

最后一种方法还意味着,为了对任何应用程序进行任何更改,您都必须停止并重新启动Tomcat。

第三种方法:

将您的war文件放置在CATALINA_BASE / webapps之外(它必须在外部以防止重复部署)。-在CATALINA_BASE / conf
//中放置一个名为ROOT.xml的上下文文件。此上下文文件中的单个元素必须具有docBase属性,该属性指向您的war文件的位置。不应设置path元素-
它是从.xml文件的名称派生的,在本例中为ROOT.xml。有关详细信息,请参见上面的上下文容器。

2020-06-08