对于tomcat中的战后图像文件部署,在html中没有访问相对路径
测试项目部署在Tomcat7.0中。下面是部署项目的目录结构。 在这个图像测试项目中,我们面临着相对路径问题对于tomcat中的战后图像文件部署,在html中没有访问相对路径,html,Html,测试项目部署在Tomcat7.0中。下面是部署项目的目录结构。 在这个图像测试项目中,我们面临着相对路径问题 /webapps |--/Test |--/images |-- logo.jpg |--/META-INF |-- MANIFEST.MF |--/WEB-INF |-- /classes |-- /html
/webapps
|--/Test
|--/images
|-- logo.jpg
|--/META-INF
|-- MANIFEST.MF
|--/WEB-INF
|-- /classes
|-- /html
|--/index.html
|--/lib
|-- web.xml
下面是我的index.html页面和web.xml文件
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Welcome</title>
</head>
<body>
<img src="../../images/logo.jpg"/>
</body>
</html>
欢迎
/WEB-INF/html/index.html
当我们尝试访问时,logo.jpg未加载。
在tomcat 7中部署后,相对路径未在index.html中访问 试试看
<img src="images/logo.jpg"/>
最佳实践是从上下文开始使用绝对动态路径,而不是给出相关路径 详情如下:
<img src="<%=request.getContextPath() %>/images/logo.jpg" />
无论您的目录结构如何,它都将始终帮助您。您可以使用:
${pageContext.request.contextPath}
这将返回您当前的上下文路径,因此您可以从此处访问任何位置。我们不能在html中使用${pageContext.request.contextPath}。请提供一些其他的解决方案。因为它与java相关,所以我认为您使用了jsp而不是html。如果您使用jsp,那么它会更好。嗨,Parth,我们不能在html中使用scriplet和el-syntex。请提供一些其他解决方案。您好@AnujVerma,由于问题被标记为
java
,我相信您使用的是jsp
。我认为最好将其设置为jsp
。为什么要使用html
?我在spring的angular js项目中遇到了这个问题,我们只在project中使用html,所以我问了这个问题。虽然这可能会回答这个问题,但最好解释一下为什么代码应该工作。你改变了什么,为什么?您的路径是如何工作的?等等@Wouter,谢谢你的建议,我只是想说所有路径都是指向WEB\u INF的,因此我们不应该试图指定相对于jsp/html位置的相对路径
<img src="${pageContext.servletContext.contextPath}/images/logo.jpg" />
${pageContext.request.contextPath}