您的位置:首页 > 编程语言 > Java开发

spring mvc 页面访问图片或者js等静态文件路径出错问题

2017-05-24 15:42 666 查看
这是web工程的结构,图片放在images文件夹下,js文件放在resource文件夹下



然后就是进行spring mvc的配置,我上一篇文章就有讲到怎么去配置,但只是最简单的配置一下。

点击链接spring mvc的配置

访问页面成功后,下面就是对图片或者js等静态资源文件的访问,在success.jsp页面加入以下代码,如下(图片和js文件都是以自己的为准,这里只是以我的为例)

<body>
This is my success JSP page. <br>
<img src="/images/1.png">
</body>
<script src="/resource/jquery.panorama.js"></script>


当我们再次访问该页面时,发现图片显示错误和js引入错误

原因:web.xml配置文件配置了

<servlet-mapping>
<servlet-name>springTest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
"/"拦截了所有请求会导致静态资源无法访问

发生这种问题一共有两种方法解决

方法一:

在web.xml中引入spring mvc 之前加入如下代码即可(根据自己项目需求配置即可)

<!--     配置类型文件 -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
方法二:

在引入的springmvc.xml文件中加入

<mvc:resources location="/images/" mapping="/images/**"/>
<mvc:resources location="/resource/" mapping="/resource/**"/>
<mvc:annotation-driven/>
<mvc:default-servlet-handler/>


其中 location 中的值代表的是所放的资源文件的位置,mapping的值是代表所访问的路径,如(<img src="/images/1.png">)

配置完所有文件后,资源文件就可以引用了,重新启动tomcat,访问页面图片正常显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc
相关文章推荐