这是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,访问页面图片正常显示