整合SSM中jsp页面图片加载不出来问题

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>

这就基本解决了!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值