我刚刚创建了我的web项目的war文件(JSP / Servlets)。
项目名称:TestApp
当我在Tomcat 7中表达它时,我运行它:
localhost:8080 / TestApp / 或 www.maypage.com/testApp /
好吧,一切正常,但我需要在没有项目名称的情况下运行它,就像那样:localhost:8080 以及托管 www.maypage.com
我该怎么做? 谢谢。
我正在对jsp / servlet托管进行罚款,它具有该配置选项。你知道这样的托管吗?
答案 0 :(得分:5)
要在不使用应用程序名称的情况下访问应用程序,您需要将其部署为根应用程序。有多种方法可以实现它,相关的答案很好地描述了它。
Setting default application in 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中的上下文。
注意:
这最后一个方法也意味着要进行任何更改 任何应用程序,您都必须停止并重新启动Tomcat。
第三种方法:
将您的war文件放在CATALINA_BASE / webapps之外(必须是 在外面防止双重部署)。 - 放置一个名为的上下文文件 CATALINA_BASE / conf //中的ROOT.xml。这个上下文中的单个元素 file必须有一个docBase属性指向你的位置 战争档案。不应该设置路径元素 - 它是从。派生的 .xml文件的名称,在本例中为ROOT.xml。请参阅上下文 容器上面有详细信息。