Java web项目访问路径问题。求解啊!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java web项目访问路径问题。求解啊!相关的知识,希望对你有一定的参考价值。
myeclipse项目下建了个images文件夹,和src同级,在webroot下有个view文件夹,里面有个top.jsp页面。如下图:
1、top.jsp里用到了images里的图片logo.jpg,我应该怎么写图片路径呢。
2、如果我要访问pages里的login.jsp页面,在浏览器地址应该怎么写。
images的url写成src="$pageContext.request.contextPath/images/logo.jpg"
一般会把$pageContext.request.contextPath这部分提取出来,在jsp写成:
<% String path = request.getContextPath();%>
如图:
则images路径可以写成src="<%=path%>/images/logo.jpg"
访问login.jsp页面的话,写成http://ip:端口号/CityInfo/pages/login.jsp
参考技术A src = "<%=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();%>/xxx/xxx"//能取到tomcat中项目的绝对路径。
//X:/tomcat/webapps/CityInfo
//在后面拼接images试一下管不管用。 参考技术B 你的程序里面用到的地方最好写相对路径。你的东西放的挺乱的。。。
对于第一个问题:logo.jpg位于images文件夹,是top.jsp上级目录的上级目录,所以你写的话要这样写../../images/logo.jpg,../表示上级目录,先找到和view文件夹同级目录,然后再找和WebRoot文件夹同级目录,这样就能取到了。最好css、js和images这些文件夹都放到WebRoot下面。
对于第二个问题,这要看你的工程是怎么设置的了,一般Web项目都是以WebRoot作为根目录的,你想访问pages里面的login.jsp可以在index.jsp里面添加一个链接,然后你在浏览器里面查看一下这个链接就知道了。链接同样采用相对路径的写法,pages是和WebRoot文件夹同级的,属于index.jsp的上级目录,<a href="../pages/login.jsp">注册页面</a> 参考技术C 这个分为相对路径和绝对路径,绝对路径的话可以直接通过目录层级访问页面,相对路径需根据两个页面间的层级关系访问。 参考技术D css,images,js 怎么能和src同级呢?页面,样式,js等,最好放到webRoot下,或web-inf下。放到src这是头一回看到。。。。。
以上是关于Java web项目访问路径问题。求解啊!的主要内容,如果未能解决你的问题,请参考以下文章
java sts 搭建了springboot 项目为啥访问不到后台路径呀