Struts 2.5.8 和 Tiles 3.0.7:无法加载 JSP 页面内的 img、css 和 js 等资源

Struts 2.5.8 and Tiles 3.0.7: Unable to load the resources like img, css and js inside the JSP pages

我最近将我的应用程序升级到 Struts 2.5.8 和 Tiles 3.0.7。我也已经升级到 Spring v4.3.4,但它没有与 tiles 集成。到目前为止,我能够正确启动我的应用程序而没有任何错误。

我看到所有 struts.xmltiles.xml 文件都已正确加载并正确呈现。但是,当我打开第一个(登录)页面时,我发现它无法加载 webapp 目录中存在的 CSS、JS 和图像等资源。我在日志文件中没有看到任何错误。

但是,当我在浏览器中按 F12 时,我在浏览器控制台中看到以下错误:

Error1: Unable to load any resource
Not allowed to load local resource: file:///C:/Users/Public/Documents/FIXED/Rosy/JComponents/SALYExplorerWebApp/SALYExplorer/src/main/webapp/static/style/content.css
localhost:8485/SALYExplorer/static/javascript/javascript.js Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/javascript/swap.js Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/javascript/SALYExplorer-layout.js Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/javascript/prototype.js Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/pictures/utils/print.gif Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/style/xtree_ext.js Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/style/xtree.css Failed to load resource: the server responded with a status of 404 ()
localhost:8485/SALYExplorer/static/pictures/proximus.jpg Failed to load resource: the server responded with a status of 404 ()
localhost/:26 Uncaught ReferenceError: set_table_display is not defined
localhost:8485/SALYExplorer/static/style/xtree.css Failed to load resource: the server responded with a status of 404 ()

F.e.
Request URL:http://localhost:8080/SALYExplorer/static/javascript/prototype.js
Request Method:GET
Status Code:404 
Remote Address:[::1]:8080
Response Headers
view source
Content-Language:en
Content-Length:990
Content-Type:text/html;charset=utf-8
Date:Fri, 30 Dec 2016 18:17:39 GMT
Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:CONFIG=IU%3DYES%7CPA%3DYES%7CCA%3DYES%7CNA%3DYES%7CCN%3DYES%7CCI%3DYES%7CDI%3DYES%7CLI%3DYES%7CTI%3DYES%7CNI%3DYES%7CSI%3DYES%7CPM%3DYES%7CSU%3DYES%7CII%3DYES%7CVS%3DYES%7CVN%3DYES%7CSW%3DYES%7COS%3DYES; XTREE=28%3D1%7C39%3D1%7C89%3D1%7C31%3D1; username=id829957; logService=RRO_TEST; language=EN; authMethod=AUTH_LAM; JSESSIONID=61F12923C6E58695243E48B753DAFAFF
Host:localhost:8080
Referer:http://localhost:8080/SALYExplorer/
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

在 Struts2 中,以 /static 开头的 url-s 用于从 classpath.

中检索资源

阅读 documentation 中有关静态内容处理的更多信息。

解决您问题的最简单方法是将保存资源的文件夹的名称从 static 更改为其他名称。