[spring mvc踩坑填坑]spring mvc文件上传路径问题

自己在做一个新闻发布系统时,用到了一个富文本编辑器,kindEditor。之前用c#的mvc做项目的时候用过,感觉很好用,所以这次也是采用了kindEditor。但是但是!!spring mvc给我的感觉是对静态资源的管理和使用太不方便了,还存在各种路径问题。

文件上传问题在本篇就不说了,主要记录一下遇到的关于路径的问题。文件上传时,会指定文件上传路径,因为之前我的静态资源文件都是放在src文件下的webapp中。所以我在上传文件时候就是将文件上传至这个目录下。可是这么想发现不对,文件上传没问题,已经上传到指定位置,但是我在访问新上传文件时候遇到了404的错误,但是之前上传的图片是可以访问的,当时感觉非常奇怪。src文件如下。

[spring mvc踩坑填坑]spring mvc文件上传路径问题_第1张图片

当时的反应是不是静态资源的缓存问题。在查阅资料发现,静态资源还真有缓存的设置

    
cache-period代表客户端浏览器保存缓存的时间。计算方法3153600=365*24*60*60s=1年。

这样配置后,SpringMVC会自动给静态资源Response添加缓存头Cache-Control和Expires值,如下图所示

[spring mvc踩坑填坑]spring mvc文件上传路径问题_第2张图片

请求状态为403,不会再次从服务器得到图片,利用了浏览器缓存,节约请求的流量和请求时间。

但这并不是我要解决的问题,因为缓存是客户端的事情,并不我服务器的问题。经过查询,发现是我上传文件地址的问题,因为javaweb的项目在每次编译的时候都会产生一个target文件夹,是maven编译目录,包含中间过程文件和最终的工件,所以每次调用的是target的资源。所以会产生本次上传的资源本次无法使用,重新启动服务器后就可以访问,因为重新编译后,就把上次的资源打包到了target中。找了一个晚上的问题..终于解决了。

[spring mvc踩坑填坑]spring mvc文件上传路径问题_第3张图片

你可能感兴趣的:(spring,mvc)