很多项目中我们会用到相对地址
在java中,我们做web项目的时候,写地址时有两种写法:
一种是相对地址,另一种是绝对地址
那么我们来简单的说一下地址的问题:
相对地址是相对当前url路径的一个地址,绝对地址是从整个web项目的根目录开始计算的地址是绝对地址
那么在jsp中是怎么应用绝对地址的呢?
我们给出解决方案一:
<%
String ctx = request.getScheme() + "://" +
request.getServerName() + ":" +
request.getServerPort() +
request.getContextPath() + "/";
request.setAttribute("ctx", ctx);
%>
然后写出这个绝对地址后,我们在<head></head>
标签中的第一行写上这么一段代码
<base href="<%=ctx %>">
这样整个项目中所有的地址都会自动加上这个路径
还有一种简写的方式(方案二):
去掉
request.getScheme() + "://" +
request.getServerName() + ":" +
request.getServerPort()
同样的在<head></head>
加上上面的base标签
还有一种引入 jstl的c标签(方案三)
然后写下如下代码:
<c:set var="ctx" value="${pageContext.request.contextPath}" />
然后在每一个要用到路径的地方都加上${ctx}/
这样所有的路径基本上就能够解决了
我推荐(方案二)。