0

我希望这不是微不足道的——我是 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- app.xml 到客户端资产目录的相对路径)。像这样设置它会导致 Web 服务内容不再成功启动(无法找到所需的类),但现在从正确的路径提供静态内容。

我真的不知道在这里做什么。如果有 Tomcat 经验的人可以为这个问题勾勒出适当的解决方案,我将不胜感激。如果我上面描述的功能不可用,那么微小的更改是完全可行的——我只是想让一些东西工作,这样我就可以回去写代码了!

注意:我们希望将静态客户端资产与服务分开,因为这可以让我们保持两个系统解耦,还可以让我们更轻松地在客户端部署中做一些花哨的事情,例如查看源文件和重新运行单元测试当事情发生变化时。

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

4

1 回答 1

1

You should add in server.xml
<Context path="/my-app/static" docBase="/someFolder/my-app/static-web" debug="0" reloadable="true" crossContext="false"/>

Experiment with slashes. It wouldn't work if slashes is incorrect.
path - is URL where your static files will be accessible.
docBase - folder at hard disk with static files
I guess you cannot map many contextes on single path.

Another trick is to write a servlet/filter which will return static context from folder

于 2013-06-04T05:21:18.237 回答