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
src = "<%=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();%>/xxx/xxx"
//能取到tomcat中项目的绝对路径。
//X:/tomcat/webapps/CityInfo
//在后面拼接images试一下管不管用。
你的程序里面用到的地方最好写相对路径。你的东西放的挺乱的。。。
对于第一个问题: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的上级目录,注册页面
这个分为相对路径和绝对路径,绝对路径的话可以直接通过目录层级访问页面,相对路径需根据两个页面间的层级关系访问。
css,images,js 怎么能和src同级呢?页面,样式,js等,最好放到webRoot下,或web-inf下。放到src这是头一回看到。。。。。