0

我正在使用 Spring MVC 3.0。

我必须加载与目录平行的文件夹“images”中存在的图像WEB-INF

我在WEB-INF/jsp文件夹中有jsp文件。

文件夹结构为:

-app
--images
--WEB-INF
---jsp
---classes
...

在 web.xml 中,url 映射DispatcherServlet类似于

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

现在在 JSP 中,如果我按以下方式加载 jsp:

<img src="<%=request.getContextPath()%>/images/calogo.jpg" />

我猜它现在正在DispatcherServlet拦截它。

4

2 回答 2

1

是的你是对的。您的调度员正在拦截您显示图像的请求。

据我说,当您尝试访问 jsp 文件中的图像时,它会给您 404 错误。

您需要在 servlet.xml 文件中包含以下代码行。

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

然后一切都会奏效。

希望这对您有所帮助。

干杯。

于 2012-05-24T10:10:15.953 回答
0

如果您映射/DispatcherServlet,请确保在 Spring 的配置中启用默认 servlet 处理程序:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

<!-- add this to make Spring properly handle resources (e.g., images) -->
<mvc:default-servlet-handler />

另外,不要使用<%...语法使用 JSTL:

<img src="<c:url value="/images/calogo.jpg" />" />

(或者更好 - 根本不使用 JSP,使用例如ThymeLeaf

于 2012-05-24T09:27:02.143 回答