【发布时间】:2013-12-13 11:26:30
【问题描述】:
我是 Spring MVC 和 Spring 框架的新手,我正在努力学习它。
我使用 Spring Tool Suite 做了一个小的“hello world”项目,遇到了一个奇怪的问题。所以我开始了一个新的 Spring Project 并选择了 Spring MVC Project。我创建了一个控制器和一个视图 jsp 页面来显示一个 hello 页面。一切正常。这里没有问题。 然后我决定在我的jsp页面中包含一张图片。我将一张图片复制到“webapp/resources”文件夹中,并在我的视图页面中放置了这样的 img 标签(其路径为“webapp/WEB-INF/views/hello.jsp”)。标签看起来像这样:
当我运行应用程序并转到我的视图页面时,它不会在 STS 内部浏览器或我的常规浏览器中显示图像。我试图从我的浏览器查看页面的源代码,源代码确实有 img 标签,但由于某种原因它没有显示。
我尝试将图像与我的 jsp 文件一起直接放在“webapp/WEB-INF/views”中,并将标签更改为:
但仍然没有成功。最后,我将此归咎于我缺乏创建 jsp 的经验,并试图打开我的常规 Eclipse IDE(即与 STS 不同的一个)并创建了一个动态 Web 项目,我将标签插入到一个 jsp 文件中,并将图片复制到其中一个项目的子文件夹。我运行了这个项目,现在它可以工作了;图片已显示。
为什么会这样?为什么它在常规 Web 项目中有效,而在 Spring MVC 项目中无效?感谢您的宝贵时间,如果您能帮助我,我将不胜感激!
【问题讨论】:
-
尝试打开浏览器开发者工具,在“网络”选项卡下,您将看到对图像的请求和状态。
-
请分享失败的请求
-
状态是“404 not found” 我在这里截取了我的浏览器截图img802.imageshack.us/img802/3041/9tt5.jpg
-
我试图编辑我的 url 路径到 img 标签内的图像,如果我给出一个相对于项目文件夹的 url,它就可以工作。现在我的 img 标签看起来像这样: 我不知道为什么它不能像我以前使用的那样使用来自 jsp 文件的相对路径,但它没有现在没那么重要了。非常感谢!
-
只是一个猜测。如果您使用一些外部副本将图像复制到 eclipse 工作区,eclipse 不知道,您需要“刷新”eclipse 导航器或包资源管理器视图。然后图像将在 eclipse 中可见,并且 eclipse 可以将其发布到您的 webapp。
标签: java eclipse jsp spring-mvc spring-tool-suite