我是 Struts 2 的新手,我只是在寻找一种方法来提供静态资源(例如图像、javascript 文件、css 文件等)。例如,每个以开头的请求/assets
都应该尝试加载所引用的静态资源。
1)我需要在哪里存储我的图像/js文件等才能正常工作?
2) 我需要如何配置 Struts 才能加载这些文件?
该项目将作为 .WAR 在 Tomcat 7 上运行,静态资源将作为 WAR 的一部分包含在内
通常,您的 Web 服务器直接从文件系统中提供服务。也就是说,Struts2 本身并没有这样做。
如果您提供您正在使用的那个,也许我们可以帮助配置它。
例如,如果您在 Tomcat7 前使用 HTTPD (Apache) Web 服务器,则会有一个文件夹,HTTPD 会从该文件夹中提供文件。也许 /var/www/html 是某些系统的位置。然后,您只需将静态内容放在 /var/www/html/assets 中。
编辑
如果静态资源要在 war 文件中,您只需构建 war 并将这些文件放在 war 文件的根目录中,或者放在从 war 根目录开始的其他未使用的文件夹结构中。
例如,如果您想引用http://mysite.com/assets/my.png上的图像,则将 my.png 放在 war 文件根目录的 /assets 文件夹中。
从站点中的任何 HTML 页面,您可以通过以下方式引用该图像文件:
<img src="/assets/m.png" .../>
这使用同一网站上的默认路径。
(稍后回答)抱歉,因为 Java 服务器是一个中间件,所以您不应该将资源管理委托给 Apache。而且您不应该将资源放在 WAR 的根目录中。这不是标准架构。通常,Java Web 项目应该看起来像(我使用 Maven——因为它很棒——所以我也指出它):
src
-- main
-- java <= you put your java sources here
-- resources <= you put your configuration or i18n properties files here
-- webapp <= here is the "web application" code. The front-end...
-- img <= your images
-- js <= your JS
-- css <= your css
-- jsp <= your JSP
-- test
-- etc...
pom.xml
您现在需要的只是配置您的 Struts2 和 web.xml(按照教程,非常简单)。