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