JavaWeb中jsp路径斜杆(/)跟没斜杆的路径映射问题

一般测试项目都是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,这样是理想的结果

  

猜你喜欢

转载自www.cnblogs.com/convict/p/9785845.html