必威体育Betway必威体育官网
当前位置:首页 > IT技术

在jsp页面中插入图片,但却无法显示

时间:2019-08-20 08:11:04来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

图片不显示

今天在搭建ssm框架式进行测试,发现请求的jsp文件的图片无法显示。查看页面源代码为:

在这里插入图片描述

jsp页面的代码为:

<body>
	<table width="100%" border="0" cellpadding="0" cellspacing="0">
	  <tr>
	    <td align="center"><img src="${pagecontext.request.contextpath }/images/welcome.gif" width="145" height="46" //></td>
	  </tr>
	</table>
</body>

通过localhost:8080/yycgmain/images/welcome.gif是404。

问题的原因就是SpringMVC对于静态资源的拦截,在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:springmvc/springmvc.xml</param-value>
  	</init-param>
  </servlet>
  <servlet-mAPPing>
  	<servlet-name>springMVC</servlet-name>
  	<!-- 表示前端控制器拦截的请求类型,这里表示拦截所有但是不包括.jsp的请求,可以不使用action后缀来访问 -->
  	<url-pattern>/</url-pattern>
  </servlet-mapping>
  

这里表示拦截了除.jsp结尾的所有请求,当然相应的css/js/img等资源的请求也被拦截了。

解决方法:

方法1:在springmvc.xml中添加<mvc:resources>,列出需要加载的静态资源所在的位置,这样请求来时默认servlet来处理这些静态资源,而不是通过前端控制器。

<!-- 加载静态资源 -->
<mvc:resources location="/images/" mapping="/images/**"/>
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/styles/" mapping="/styles/**"/>

其中的location标识项目目录webapp下的静态资源的实例路径。mapping表示映射的虚拟路径,即请求中使用的路径。此项目中的静态资源文件夹如下图所示:

在这里插入图片描述

方法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>

注意:此servlet的配置要放在前端控制器的配置之前,否则会失效

附录:

1.pageContext.request.contextPath表示的究竟是什么:

该项目的结构如下:

在这里插入图片描述

根据页面源代码可知,${pageContext.request.contextPath}=yycgmain,即当前项目的名称。在tomcat的webapps下,有着名为yycgmain的文件夹,即此项目的工程目录:

在这里插入图片描述

因此,jsp页面中常用的src="${pageContext.request.contextPath }/images/welcome.gif表示访问tomcat下webapps中项目文件名下的静态资源

相关阅读

Java小项目中WEB-INF下jsp页面如何访问

一:一般为啥要把jsp页面放在WEB-INF呐?     这样主要是为了网站的安全的角度来说的,WEB-INF是安全目录Tomcat 默认的访问路径是W

【Android】当关闭通知权限后无法显示Toast的解决方案

##前言既然能看到这篇博文,就说明你一定看过这个【Android】当关闭通知消息权限后无法显示系统Toast的解决方案 。然后,我很开心的

图片无法显示时,js实现 暂无图片效果

<script type="text/javascript"> window.onload=swapimg; function swapimg() { var img=document.getElement

电脑通过浏览器打开百度文库无法显示内容或图片的解决

很多用户会在网上搜索一些文档,很多文档来源于百度文库,如果发现在电脑中通过浏览器打开百度文库后,发现里面的内容或图片无法显示,那

wegame无法显示网页怎么办?

wegame延续了TGP的一切风格包括各种毛病,最近很多人反应wegame无法显示网页,网页白屏下面由我带给大家wegame无法显示网页白屏的解

分享到:

栏目导航

推荐阅读

热门阅读