SpringMVC静态资源无法访问

写下这个问题,是希望与我一同为这个奇怪问题不知所措时,也许这就是问题的答案。

这几日,在用SpringMVC开发一个平台是,发现静态资源无法访问,找了很多资料,通过修改配置文件,重启Web容器,通过SpringMVC映射,都无法访问一些文件,一些我认为特殊的文件,比如CSS,JS可以访问,图片确访问不了。最好我发现是:
由于Eclipse中的Server(Tomcat)在读出资源文件时,如果在Eclipse中没有刷新,那么这写文件对这个Server而言,也是不可见的,无论如何处理我的电脑中的文件,Server总是出现文件无法访问的错误。只需在Eclipse中刷新一下就可以了,不刷新,Eclipse内置的Tomcat就无法访问文件(好奇怪的特性……)。

这个问题很简单,可是,总会纠结于技术问题本身:缺省Servet配置,SpringMVC缺省映射,资源映射等等。

在下也把自己在解决问题时静态资源无法访问的问题罗列如下: 
-(1)在web.xml中配置WEB容器直接处理静态资源 
比如:

<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/static/*</url-pattern>
</servlet-mapping>

假设静态资源在webapp目录下,可以通过Tomcat来处理/static/*目录下的所有资源。

-(2)利用SpringMVC配置缺省请求处理器处理静态资源

<mvc:default-servlet-handler/>

在SpringMVC配置文件中通过上面的配置实现缺省资源的访问。 
-(3)利用SpringMVC资源映射来映射在WEB-INF目录下的静态资源

<mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>

还可以通过SpringMVC资源映射的方式来处理静态资源的访问。 
此事,静态资源需要放置在WEB-INF目录下。

较好的参考资源: 
springMVC对静态资源访问的处理(http://my.oschina.net/hnqingping1255/blog/415575)

转载于:https://www.cnblogs.com/onone/articles/7701112.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值