Tomcat – 将项目文件夹设置为Web根目录

我在Tomcat webapps/mysite下有这个文件夹,这是我所有的JSP和其他东西所在的位置。 要访问此文件夹,请访问http://blah.com/mysite ,它运行正常。 然而(因为样式表和图像静态连接到根/ )我必须这样做,所以当我去http://blah.com/它将加载webapps/mysite内的东西。

我尝试了很多不同的东西,包括上下文和在server.xml设置绝对路径……似乎没什么用,每当我去http://blah.com/它仍然试图加载ROOT文件夹…什么的发生在这里?

我使用的解决方案是在Tomcat server.xml设置它

添加元素,如下所示,将mysite设置为默认Web应用程序。 请注意空path="" ,这使其成为默认path=""

  

从Tomcat文档中,

如果指定空字符串(“”)的上下文路径,则表示您正在为此主机定义默认Web应用程序,该应用程序将处理未分配给其他上下文的所有请求

在 这里和这里看到其他有类似问题和类似答案的人

有许多方法可以将应用程序作为根应用程序。 最简单的方法是将webapps / ROOT的内容替换为Web应用程序的内容。

有关其他解决方案,请访问以下网站: http : //wiki.apache.org/tomcat/HowTo#How_do_I_make_my_web_application_be_the_Tomcat_default_application_.3F

https://stackoverflow.com/users/1123501/george-siggouroglou的awnser工作,但缺乏一步。

  • 删除ROOT和所有项目
  • 将战争复制到webapps作为ROOT.war

没有删除,它可能无法正常工作。 用docker测试。

你可以从something.war ==到==> ROOT.war重命名你的战争。
因此,tomcat将解压缩战争并为其创建文件夹ROOT。
这也是一个在tomcat 8上工作的技巧。