【问题标题】:Show image on Spring MVC project in .jsp view (html)在 .jsp 视图 (html) 中显示 Spring MVC 项目的图像
【发布时间】:2013-06-20 23:08:43
【问题描述】:

我已经尝试了很长时间,现在尝试在我的网站上使用我在 Spring 中创建的图像。 当我在 stackoverflow 上谷歌/搜索时,它说如果我想在 .jsp 中使用它:

<img src="<c:url value='resources/face.jpg'/>"/>

我需要在 web.xml 文件中实现这个:

    <!--<servlet-mapping>-->
    <!--<servlet-name>default</servlet-name>-->
    <!--<url-pattern>*.jpg</url-pattern>-->
<!--</servlet-mapping>-->

    <servlet>
    <servlet-name>restservices</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value></param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

我在 rest-services-config.xml 中粘贴了这个:

        <!-- the mvc resources tag does the magic -->
 <mvc:resources mapping="/resources/**" location="/resources/" />

 <mvc:resources mapping="/images/**" location="/images/" />

仍然无法让它工作! 我究竟做错了什么? 控制台给了我这个:method.annotation.RequestMappingHandlerMapping - Did not find handler method for [/]

我在 \project\src\main\resources 中的资源文件夹中有图像

当我尝试打开图片时,控制台给了我这个信息(不会在网站上显示):

servlet.resource.ResourceHttpRequestHandler - No matching resource found - returning 404

感谢正手!

【问题讨论】:

  • 你使用什么版本的 Spring WebMVC?
  • 您的问题@benskiiii 的状态如何?你没有接受答案。您是否仍有疑问 - 您还有疑问吗?请问这种情况可以问吗?
  • 我还没有尝试过你的答案,因为该项目将在今天或周一部署,我没有时间处理它。我会在今天或星期一测试您的答案后回复您。兄弟,benshii

标签: java html jsp spring-mvc jpeg


【解决方案1】:

您还没有将 spring servelt 映射到任何 url,因此没有用于 root 的处理程序方法:/。 您需要添加如下内容:

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

目前,您注释掉的映射仅引用 .jpgs。

【讨论】:

  • 当我在 web.xml 中添加它时得到 404...现在甚至无法加载网站,出现很多错误
  • @benskiiii 你有两个申请吗?您是否尝试过取消对现有 web.xml 的注释,因为它看起来不错
  • 什么意思?对不起,我不赞成这个哈哈
【解决方案2】:

如果您的DispatcherServletservlet-namerestservices,您的servlet-mapping 应该如下所示:

<servlet-mapping>
    <servlet-name>restservices</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

DispatcherServletcontextConfigLocation 参数应指向您的 rest-services-config.xml,例如/WEB-INF/spring/appServlet/rest-services-config.xml

正如您正确指出的那样,您的 rest-services-config.xml 应该包含

<resources mapping="/resources/**" location="/resources/" />

如果图像位于resources/face.jpg 下的 WAR 文件/文件夹中,则使用此图像时应显示该图像

<img src="${pageContext.servletContext.contextPath}/resources/face.jpg"/>

标签。

HTH

【讨论】:

  • 我有这样的,但还是不行。同样的错误,顺便说一句,它不应该是 吗?我真的需要解决这个问题
  • mvc 是我文件中的默认命名空间。是否有可能创建一个包含错误的最小自包含示例?您可以在此处将您的配置与 Web MVC Showcase 进行比较:github.com/SpringSource/spring-mvc-showcase
  • 嗯,不确定。但我发现我的项目使用 jsps 或其他东西,需要一个控制器才能工作,servlet。所以我需要创建一个控制器或其他东西来让它工作?
  • 如果您正在创建一个新项目,您可以从 mvc 展示中复制一个。这是正确配置的。然后你可以玩弄它以了解发生了什么。例如。设置断点并检查变量。在我链接到的页面上,还有其他解释 Spring Web MVC 的资源。然后,您可以再次从头开始创建自己的项目,或者您可以从展示项目中删除不需要的东西。如果您在创建错误的项目中发送一个自包含的 zip 文件,我只能继续为您提供帮助。
  • 好的,我可以把那个寄到哪里?再次感谢您的宝贵时间,非常感谢。我试着检查陈列柜,是的,我明白了。我真的不明白我的项目有什么问题,我无法在其中实现一些图片,它只需几个步骤即可完成,但它仍然给了我错误。
猜你喜欢
  • 2013-12-20
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 1970-01-01
相关资源
最近更新 更多