关于jsp页面相对路径的问题

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <%

    String path = request.getContextPath();

    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

    %>

    <base href="<%=basePath%>">

   </head>

如果设置了基本路径

http://localhost:8080/mySpring3Mvc/ 假设这就等于你得到的basePath

当你写在jsp页面写<a href = "error.jsp">跳转错误页面<a> 的时候,那么构造出来的完整路径就是

http://localhost:8080/mySpring3Mvc/error.jsp 

如果不加以上代码的话。

 如果当前页面的url 路径A  是http://localhost:8080/mySpring3Mvc/service/login/login.do
当我写一个相对路径 路径B 是<a href = "userList.do">CLICK HERE AND YOU WILL GET THE INFORMATION OF THE USERS <a>的时候
那么真正构造的路径是把路径A 最后的login.do 变成userList.do 。 

当我把相对路径改成<a href = "service/userList.do">的时候
浏览器状态栏显示的路径变成了http://localhost:8080/mySpring3Mvc/service/login/userList.do 

这是默认的构造规则。

积累知识,分享知识,学习知识。
原文地址:https://www.cnblogs.com/bin-pureLife/p/jsp.html