配置Tomcat Web应用程序以从外部目录提供静态内容

时间:2013-06-04 01:57:03

标签: tomcat tomcat6

我希望这不是太微不足道 - 我对Tomcat管理非常陌生。

我正在为一个全新的Web应用程序构建开发部署过程。我们拥有客户端资产和客户端将在不同目录中进行通信的Web服务。这些服务来自Tomcat 6 webapp,在/ my-app / services /.

上提供

我需要更新配置,以便Tomcat webapp将从客户端目录以及Web服务提供静态客户端资产。理想情况下,这些静态资产将从/ my-app /提供,只有为动态内容保留的服务目录。

目前,tomcat配置了单个webapp,其中包含META-INF中的一个简单的context.xml。我尝试在server.xml中手动设置两个上下文,并在tomcat / conf //中设置两个上下文(分别命名为my-app#services.xml和my-app.xml,并设置my-的docBase- app.xml到客户端资产目录的相对路径)。像这样设置会导致Web服务内容不再成功启动(无法找到所需的类),但现在可以从正确的路径提供静态内容。

我真的不知道该怎么做。如果有Tomcat经验的人可以为这个问题草拟出适当的解决方案,我将非常感激。如果我上面描述的功能不可行,那么微小的改变是完全可行的 - 我只是希望得到一些有用的东西,以便我可以回去编写代码!

注意:我们希望将静态客户端资产与服务分开,因为这样可以让我们保持两个系统分离,并且还可以让我们更轻松地通过客户端部署来做一些奇特的事情,例如查看源文件和重新运行当事情发生变化时,单位会进行测试。

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

您应该添加server.xml
<Context path="/my-app/static" docBase="/someFolder/my-app/static-web" debug="0" reloadable="true" crossContext="false"/>

试用斜杠。如果斜杠不正确,它将无法工作 path - 是可以访问静态文件的URL docBase - 带有静态文件的硬盘文件夹
我猜你不能在单一路径上映射很多上下文。

另一个技巧是编写一个servlet / filter,它将从文件夹

返回静态上下文