一般测试项目都是http://localhost:8080/项目名称
那么<a href="/loginAddr">login</a>跳转后 http://localhost:8080/loginAddr
跟<a href="loginAddr">login</a>跳转后 http://localhost:8080/项目名称/loginAddr
区别:
href属性以斜杠(/)开头表示以服务器根目录为起点,没有斜杠开头表示以当前项目为起点(属于相对路径)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果跳转的路径一定要以斜杠(/)开头,在<head>标签设置<base>标签,指定基本url
①<base href="${pageContext.request.contextPath}${'/'}">,href的值为:/项目名字/
测试:<a href="/loginAddr">login</a>点击后,就可以跳转到 http://localhost:8080/项目名称/loginAddr,这样是理想的结果
如果不以斜杠开头,在<head>标签设置<base>标签,指定基本url
①<base href="${pageContext.request.contextPath}">,href的值为:/项目名字
②<%String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<base href="<%=basePath%>">,href的值为:http://localhost:8080/项目名字/
测试:<a href="loginAddr">login</a>点击后,就可以跳转到 http://localhost:8080/项目名称/loginAddr,这样是理想的结果