jsp中的相對路徑和絕對路徑


  所謂相對路徑,就是相對於自己的目標文件位置。例如“s1.htm” 文件里引用了“bg.jpg”圖片,如果“bg.jpg”圖片相對於“s1.htm”來說,是在同一個目錄的,那么只要在“s1.htm”文件里使用以下代 碼后,在瀏覽器里都能正確地顯示圖片。以后只要這兩個文件的相對位置沒有變(也就是說還是在同一個目錄內),那么無論上傳到Web服務器的哪個位置,都能正常顯示
      <body background="bg.jpg">
 
  相對路徑還可以相對服務器而言,但地址要以"/"開頭
  <body background="/xxxapp/bg.jpg">
 
  •   JSP文件中的path 和 basePath
<%
String path = request.getContextPath(); //  path = "/travel"
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; // basePath="http://localhost:8080/travel/"
%>

  

 
  •   采用絕對路徑的弊端
  <%
    String basePath = request.getScheme()+ "://"+request.getServerName()+ ":"+request.getServerPort()+path+ "/";
  %>
  采用絕對路徑時,頁面中的超鏈接都要加上<%=basePath%>,會顯得很麻煩。
  <href src="<%=basePath%>script/jquery-1.9.1.js"/>
 
  •   解決方案:利用html中的 <base>標簽(推薦)

  <head>    

  <!-- base需要放到head中 -->    

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

  </head>  

  這里我們就可以直接使用相對路徑(即: 相對於base標簽)

  <href src="script/jquery-1.9.1.js"/>

  • 總結:以下三種表達方式結果相同
<head>
    <base href="<%=basePath%>">
    <script src="<%=path%>/script/jquery-1.9.1.js"></script>
    <script src="<%=basePath%>script/jquery-1.9.1.js"></script>
    <script src="script/jquery-1.9.1.js"></script><!--這種最簡潔-->
</head>    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM