0

我已经尝试了很长时间,现在尝试在我的网站上使用我在 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

感谢正手!

4

2 回答 2

0

如果servlet-nameDispatcherServletrestservices你的servlet-mapping应该是这样的:

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

你的contextConfigLocation参数DispatcherServlet应该指向你的rest-services-config.xmleg /WEB-INF/spring/appServlet/rest-services-config.xml

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

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

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

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

标签。

高温高压

于 2013-06-28T22:03:36.253 回答
0

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

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

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

于 2013-06-24T13:24:16.900 回答