我有一个Spring 项目,我有一些资源,比如应用程序正在调用的图像和图片。当我请求资源时,我得到了一个404未找到的错误。例如,我有一个swf文件,他应该加载一个页面,但是它总是在firebug中给出404消息。
这个文件位于WEB目录之外,位于一个名为swf的目录中。这是以前的工作,但由于某种原因,它停止了。有人能帮助我的配置细节和位置的资源调用的地方应该由应用程序定位。我知道Spring容器请求可以位于WEB目录中的文件以及所有其他必须位于外部的文件(我需要对此进行更正)。
文件结构:
-app
-src
-test
-db
-war
-images
-swf
-WEB-INF
-classes
-css
-js
-jsp
-lib
-photos
-tld发布于 2013-01-14 01:19:35
你的文件结构有点问题。WEB文件夹下有JS和CSS。这些文件将无法从网络访问。静态内容不能放在WEB文件夹下。
整理你的文件,像这样:-
-app
-src
-test
-db
-war
- resources
-images
-css
-js
-swf
-WEB-INF
-classes
-jsp
-lib将这一行添加到spring-servlet.xml中:-
<mvc:resources location="/resources/" mapping="/resources/**" />这样,所有静态内容的基本URL就变成了/<context-root>/resources/,ex:/myapp/resources/images/test.jpg。
此外,您的应用程序服务器可能没有配置为服务SWF文件。因此,如果图像文件工作正常,但SWF文件不工作,您可能需要在web.xml中添加以下mime类型:
<mime-mapping>
<extension>swf</extension>
<mime-type>application/x-shockwave-flash</mime-type>
</mime-mapping> 编辑
这个问题的解决方案是编写一个小servlet来服务SWF文件。
https://stackoverflow.com/questions/14310012
复制相似问题