Jos*_*mit 5 tomcat java tomcat6
我正在使用 ExtJS 框架,该框架有大量用于所有应用程序的文件js。css我打算在多个网络应用程序(不同的war文件)之间共享这些。
出于这个原因,我想直接从 Web 服务器提供 ExtJS 服务,在我的例子中js,它可以用于提供静态文件,如这个有用的链接中所示。cssTomcat6
因此我将我的文件放在/var/lib/tomcat6/webapps/ROOT/extjs/. 直接位于该目录下的静态文件可以正确提供服务,例如可以/extjs/ext.js正确提供位于 的文件/var/lib/tomcat6/webapps/ROOT/extjs/ext.js。
但是,较低级别目录中的文件(例如/extjs/welcome/css/welcome.css,应在 处提供文件)/var/lib/tomcat6/webapps/ROOT/extjs/welcome/css/welcome.css返回404.
TL/DR
Tomcat 仅在顶级目录中提供静态文件。404对于层次结构较深处的文件,将返回A。
配置文件内容:
已修复 - 解决方案:
问题是我放置了这个条款:
<Context docBase="/path/to/extjs-static-files" path="/extjs"/>
Run Code Online (Sandbox Code Playgroud)
在 Tomcat 的server.xml <Engine>条款中。一旦我将其放入<Host>标签中,它就开始工作。阅读这篇文档对于确定我做错了什么非常有帮助。
我正在运行一个 RESTful Web 服务,该服务提供存储在 Tomcat 外部目录中的一些静态内容。该目录由 web.xml 中的 servlet 参数指定。您可以执行类似的操作,只需指定所需文件的绝对路径 - 将它们放在 Tomcat 中的某个位置或您喜欢的任何位置。如果您愿意,我可以发布一些示例代码。当然,引用 javascript 和 CSS 的所有其他文件都需要更改,因为这些文件将位于与使用它们的 Web 应用程序不同的 URL 目录中。例如,src="restAppContextName/serve/youJavaScript.js",其中serve是REST Web服务的@Path,后面的内容是@PathParam。对于浏览器来说,/serve 将被视为一个目录,因此从一个 js 文件到另一个 js 文件的相对引用应该可以工作。
| 归档时间: |
|
| 查看次数: |
19216 次 |
| 最近记录: |