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

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

项目名称:TestApp

当我在Tomcat 7中使用它时,我运行它:

localhost:8080 / TestApp /www.maypage.com/testApp/

好的,一切正常,但我需要在没有项目名称的情况下运行它,就像那样:

localhost:8080和托管www.maypage.com

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

我正在罚款jsp / servlet托管,它有配置选项。 你知道这样的托管吗?

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

在tomcat 7中设置默认应用程序

从以上链接复制的内容:

第一种方法:

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

第二种方法:

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

注意:

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

第三种方法:

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