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

时间:2010-10-28 15:00:10

标签: java jsp tomcat

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

我尝试过许多不同的事情,包括上下文和在server.xml中设置绝对路径...似乎没有任何效果,每当我转到http://blah.com/时,它仍会尝试加载ROOT文件夹。这里发生了什么事?

4 个答案:

答案 0 :(得分:8)

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

中设置它

<Context>中添加<Host>元素,如下所示,将mysite设置为默认的网络应用。请注意空path="",这使其成为默认值。

<Context docBase="mysite" path="" /> 

来自Tomcat文档,

  

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

查看有类似问题和类似答案的其他人hereherehere

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

https://stackoverflow.com/users/1123501/george-siggouroglou的作品虽然有效,但缺乏一步。

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

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

答案 3 :(得分:0)

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