我在Tomcat webapps/mysite
下有这个文件夹,这是我所有的JSP和其他东西所在的位置。要访问此文件夹,我转到http://blah.com/mysite,它运行正常。但是(由于样式表和图像静态连接到根/
),我必须这样做,以便当我转到http://blah.com/时,它会将内容加载到webapps/mysite
中。
我尝试过许多不同的事情,包括上下文和在server.xml
中设置绝对路径...似乎没有任何效果,每当我转到http://blah.com/时,它仍会尝试加载ROOT文件夹。这里发生了什么事?
答案 0 :(得分:8)
我使用的解决方案是在Tomcat server.xml
在<Context>
中添加<Host>
元素,如下所示,将mysite
设置为默认的网络应用。请注意空path=""
,这使其成为默认值。
<Context docBase="mysite" path="" />
来自Tomcat文档,
如果指定的上下文路径 空字符串(“”),您正在定义 这个的默认Web应用程序 主机,将处理所有请求 未分配给其他上下文
答案 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的作品虽然有效,但缺乏一步。
没有删除,它可能无法正常工作。用docker测试。
答案 3 :(得分:0)
您可以将战争从 something.war ==重命名为==&gt; ROOT.war 即可。
因此,tomcat将解压缩战争,并为其创建文件夹ROOT
这也是一个在tomcat 8上工作的技巧。