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

gre*_*rep 4 java jsp tomcat servlets tomcat7

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

项目名称:TestApp

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

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

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

localhost:8080和托管www.maypage.com

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

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

Jun*_*san 5

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

在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.