0

我是 Struts 2 的新手,我只是在寻找一种方法来提供静态资源(例如图像、javascript 文件、css 文件等)。例如,每个以开头的请求/assets都应该尝试加载所引用的静态资源。

1)我需要在哪里存储我的图像/js文件等才能正常工作?

2) 我需要如何配置 Struts 才能加载这些文件?

该项目将作为 .WAR 在 Tomcat 7 上运行,静态资源将作为 WAR 的一部分包含在内

4

2 回答 2

1

通常,您的 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" .../>

这使用同一网站上的默认路径。

于 2013-05-08T18:47:14.777 回答
0

(稍后回答)抱歉,因为 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(按照教程,非常简单)。

于 2014-04-09T15:23:47.830 回答