Webapp不会加载图像

时间:2014-11-05 08:26:53

标签: css eclipse jsp tomcat web-applications

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

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

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

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。

2 个答案:

答案 0 :(得分:0)

问题在于相对路径,总是一种更安全的做法,比如

<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"/>

而不是从根开始,也考虑了上下文路径

答案 1 :(得分:0)

更好的方法是使用${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?