【发布时间】:2013-05-19 03:47:35
【问题描述】:
使用 Eclipse 编写 servlet 时,我应该将静态内容(图像、CSS 等)放在哪里,以便我可以创建指向它的 HTML 链接(例如 <img src="http://localhost:8080/context/image.png>)。我试过把它放到 WebContent 目录中,但是没有用(或者我不知道如何链接到它,我试过 <img src="image.png"> 和 <img src="http://localhost:8080/context/image.png">)。
我附上了我的项目资源管理器的图像,所以你可以把它分类。
为了方便查找,以下是我在 cmets 或其他地方发布的所有内容:
- 项目的web.xml:http://pastebin.com/sTg4ugyw
- 我的 Servlet 代码:http://pastebin.com/az97bZAY
- 我的 HTML 模板之一:http:pastebin.com/6KALf0Bw
【问题讨论】:
-
这完全取决于您如何部署应用程序。此外,您不应使用绝对 URI,除非您使用某种 CDN:如果您的应用未部署在
http://localhost:8080怎么办? -
@fge 当您说取决于我如何部署它时,当我只想让它在 Eclipse 中工作时,我该如何进行?此外,主机和上下文不是硬编码的,我通过
request.getContextPath()获取它们。 @ŁukaszLech 据我了解,您链接的帖子希望从应用程序服务器外部的某个位置加载静态内容,而我想从服务器目录/WAR 内部加载它。 -
您的案例的简短答案是WebContent 内部的某个地方,但不在WEB-INF 或META-INF i>,因为这些文件夹的内容不能直接访问。
-
从我到目前为止收集的信息来看,问题似乎是,我根本无法访问文件/文件夹,因为 URL 的文件/文件夹规范部分(例如 /images/ image.png) 被解释为 GET 参数。是否有任何可能导致此行为的 tomcat 配置设置?
-
顺便说一句,回复某人时使用
@username(而不是username写实际的用户名),所以这个用户会收到通知。除非评论是针对答案或问题的作者(就像我写这个评论给你 - 问题的作者,所以在这种情况下,你会在没有@RikuXan的情况下自动收到通知)。在这里阅读:How do comment @replies work?
标签: java html eclipse tomcat servlets