我遇到一个奇怪的问题作为标题。这是我的静态资源配置。
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/files/**" location="#{'file:' + filePathDefinition.getFileServerDirectory()}" />
其中第二行位置值将呈现为file:/mnt/upload
。
/mnt/upload
中的文件:
drwxr-xr-x 6 kuen-honglin wheel 192 Apr 10 16:59 .
drwxrwxr-x 5 kuen-honglin wheel 160 Apr 9 15:28 ..
-rw-r--r-- 1 kuen-honglin wheel 634119 Apr 10 15:18 2.png
-rw-r--r--@ 1 kuen-honglin wheel 5 Apr 9 15:28 a.txt
-rw-r--r--@ 1 kuen-honglin staff 7732 Apr 9 15:29 temp.pdf
drwxr-xr-x 6 kuen-honglin wheel 192 Apr 10 11:22 twfcc
当我访问http://localhost:8080/gs_web/files/a.txt
或http://localhost:8080/gs_web/files/temp.pdf
时,它运行正常。但如果我访问http://localhost:8080/gs_web/files/2.png
,我会收到404错误。
另一项测试:
我将doc文件放在webapp/resources
文件夹中,它有效。
有没有人对这个问题有所了解?
答案 0 :(得分:0)
我发现我做了一件蠢事。当我打开弹簧调试日志时,它显示它已发送给jawr处理程序。我的下巴配置如下:
sr = sc.addServlet("BinaryServlet", "net.jawr.web.servlet.JawrServlet");
sr.setInitParameter("configLocation", "/jawr.properties");
sr.setInitParameter("type", JawrConstant.BINARY_TYPE);
sr.addMapping("*.jpg", "*.png", "*.gif", "*.woff", "*.woff2", "*.ttf", "*.svg", "*.eot");
sr.setLoadOnStartup(0);
因此所有图像文件都被分派到jawr处理程序。
感谢你们所有的好建议:)