【问题标题】:Webapp does not load imagesWebapp 不加载图片
【发布时间】:2015-01-01 08:56:42
【问题描述】:

我正在 Eclipse 上开发一个 webapp,这是文件系统目录结构:

myapp
   - src
   - build
   - WebContent
      - pages
      - css
      - images
      - modules
      - META-INF
      - WEB-INF

当我使用 Tomcat(从 Eclipse 运行)运行这个 webapp 时,我可以在浏览器中加载 (myapp -> WebContent -> pages) 中包含的 jsp 页面,例如使用此 URL:

http://hostname:8080/myapp/pages/somepage.jsp

但问题是加载此类 somepage.jsp 中的 css 和图像失败。 在 somepage.jsp 的代码中,我以这种方式指出了 css:

<link href="../css/new_style.css" rel="stylesheet" type="text/css"/>

还有这样的图像:

<img src="../images/someimage.png"/>

问题是我不知道为什么没有加载这些图像和 css。

【问题讨论】:

    标签: css eclipse jsp tomcat web-applications


    【解决方案1】:

    问题在于相对路径,总是一种更安全的方法来做类似的事情

    <link href="<%=request.getContextPath()%>/css/new_style.css" rel="stylesheet" type="text/css"/>
    

    或等效的 JSTL

    <link href="${pageContext.request.contextPath}/css/new_style.css" rel="stylesheet" type="text/css"/>
    

    比你从根开始,还要考虑上下文路径

    【讨论】:

    • 你的建议给出了完全相同的结果,这就是我在 jsp 页面中正确引用 css 的证明。但问题仍然存在,当我通过浏览器联系 css 时,我只是得到一个空白页面(甚至没有 404 错误)。
    • 可能有许多不同的原因,很可能是您的 Eclipse 设置中的某些原因。您最有可能使用 wtp 插件,检查您的工作空间内的 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps 并查看您的 webapp 下实际部署的内容
    • 我查看了这个路径:workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps,我找到了一个文件夹“myapp”,其中包含 myapp 中包含的所有文件夹WebContent 文件夹(包括图像和 css)。
    • 它是 tomcat 为您的内容提供服务的确切位置。要进一步调试,请按照此处stackoverflow.com/questions/7068046/… 的建议启用tomcat 上的目录列表,并尝试导航到css 或图像文件。没有更多的想法
    • 这是问题的原因:“资源解释为图像,但使用 MIME 类型 text/plain 传输”实际上这是我在检查页面时在浏览器中看到的。
    【解决方案2】:

    更好的方法是使用${pageContext.request.contextPath},因为它返回应用程序上下文的名称。

    例如,

    myapp/css/new_style.css 可以动态形成为{pageContext.request.contextPath}myapp/css/new_style.css

    看看这里就知道What does "./" (dot slash) refer to in terms of an HTML file path location?

    【讨论】:

      猜你喜欢
      • 2013-11-17
      • 2022-01-15
      • 2020-04-09
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多