路径专题 绝对路径 根路径 相对路径

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <%--<base href="<%=basePath%>"> --%>
  <base href="<%=basePath%>">
    <title>My JSP 'path1.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
   <h3>1.绝对路径, 以http开始,包括IP地址,端口号,路径,可以访问互联网(所有服务器)上所有资源</h3>
    <a href="http://127.0.0.1:8080/servlet2/path1/show.jsp">同一个项目下同一个文件夹的文件show.jsp</a><br>
    <a href="http://127.0.0.1:8080/servlet2/path1/subpath/add.jsp">同一个项目下下级个文件夹的文件subpath/subpath.jsp</a><br>
    <a href="http://127.0.0.1:8080/servlet2/path2/update.jsp">同一个项目下同级文件夹的文件path2/path2.jsp</a><br>
    <a href="http://127.0.0.1:8080/servlet2/index.jsp">同一个项目下上级文件夹的文件index.jsp</a><br>
    <a href="http://127.0.0.1:8080/servlet2/servlet/ParamServlet">同一个项目下的Servlet的访问</a><br>
    <a href="http://127.0.0.1:8080/servlet1/admin/login.jsp">同一个服务器上不同项目下的文件myjsp/login.jsp</a><br>
    <a href="http://192.168.7.75:8080/myeclipse3/admin2/login.jsp">不同服务器上的文件192.168.7.75</a><br>
    <a href="http://www.bjsxt.com:80/">不同服务器上的文件www.bjsxt.com首页</a><br>
    <a href="http://www.bjsxt.com:80/2016/news_1130/1458.html">不同服务器上的文件www.bjsxt.com非首页</a><br>
    
    <h3>2.根路径, 以"/"开头  是上下文路径不是项目名  省略了IP地址和端口号 能够访问当前服务器的所有资源</h3>
    <a href="/servlet2/path1/show.jsp">同一个项目下同一个文件夹的文件show.jsp</a><br>
    <a href="/servlet2/path1/subpath/add.jsp">同一个项目下下级个文件夹的文件subpath/subpath.jsp</a><br>
    <a href="/servlet2/path2/update.jsp">同一个项目下同级文件夹的文件path2/path2.jsp</a><br>
    <a href="/servlet2/index.jsp">同一个项目下上级文件夹的文件index.jsp</a><br>
    <a href="/servlet2/servlet/ParamServlet">同一个项目下的Servlet的访问</a><br>
    <a href="/servlet1/admin/login.jsp">同一个服务器上不同项目下的文件myjsp/login.jsp</a><br>     
    
    <h3>3.相对路径1(相对于当前文件)http://127.0.0.1:8080/servlet2/path1/path.jsp (注释掉basePath) 缺点:当前文件换位置时 失效</h3>
    <a href="show.jsp">同一个项目下同一个文件夹的文件show.jsp</a><br>
    <a href="subpath/add.jsp">同一个项目下下级个文件夹的文件subpath/subpath.jsp</a><br>
    <a href="../path2/update.jsp">同一个项目下同级文件夹的文件path2/path2.jsp</a><br>
    <a href="../index.jsp">同一个项目下上级文件夹的文件index.jsp</a><br>
    <a href="../servlet/ParamServlet">同一个项目下的Servlet的访问</a><br><%--理解:web.xml --%>
    <a href="../../servlet1/admin/login.jsp">同一个服务器上不同项目下的文件myjsp/login.jsp</a><br>     
    
     <h3>4.相对路径2(相对于basePath)http://127.0.0.1:8080/servlet2/  一般basePath设置为当前项目</h3>
    <a href="path1/show.jsp">同一个项目下同一个文件夹的文件show.jsp</a><br>
    <a href="path1/subpath/add.jsp">同一个项目下下级个文件夹的文件subpath/subpath.jsp</a><br>
    <a href="path2/update.jsp">同一个项目下同级文件夹的文件path2/path2.jsp</a><br>
    <a href="index.jsp">同一个项目下上级文件夹的文件index.jsp</a><br>
    <a href="servlet/ParamServlet">同一个项目下的Servlet的访问</a><br><%--理解:web.xml --%>
    <%=basePath%><br/>
    <%=path %>
  </body>
</html>

原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6930840.html