Jsp中图片加载不出来问题解决!!!
<div class="img_div">
<img class="product_img" alt="" src="static/img/pr.jpg" style="width: 228px;height: 300px"/></div>
1.首先我们看一下web.xml文件中
<!-- 配置DispatcherServlet 前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
/拦截了包括静态资源在内的所有资源
2.但是我们的静态资源不需要被拦截
就有了Spring整合MVC时spring-mvc.xml当中的这行代码
<!-- 静态资源过滤--><mvc:default-servlet-handler/>
这时候我们的静态资源会被过滤掉
!!!
但有时代码中有些错误,或者其他情况下,还是会出现静态资源被拦截的问题
这个时候的解决方案有
方法1:在springmvc.xml中添加mvc:resources,列出需要加载的静态资源所在的位置,这样请求来时默认servlet来处理这些静态资源,而不是通过前端控制器。
<!-- 加载静态资源 -->
<mvc:resources location="/static/images/" mapping="/static/images/**"/>
<mvc:resources location="/static/js/" mapping="/static/js/**"/>
<mvc:resources location="/static/styles/" mapping="/static/styles/**"/>
方法2(建议):在web.xml中使用默认的servlet,专门用来处理静态资源请求:比较实在
<!-- 使用默认servlet处理静态资源请求 -->
<!--后缀名为css/gif/jps/png/js的静态资源不拦截-->
<servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.css</url-pattern><url-pattern>*.js</url-pattern><url-pattern>*.png</url-pattern><url-pattern>*.gif</url-pattern><url-pattern>*.jpg</url-pattern>
</servlet-mapping>
这就基本解决了!!!