1. 程式人生 > >跳轉的相對路徑問題及絕對路徑問題

跳轉的相對路徑問題及絕對路徑問題

****只要是servlet裡面的設定的urlPatterns路徑,前面都要加上/,這個是必須的要求。 例如: @WebServlet(name = “StudentPageServlet”,urlPatterns = “/Student”)

如果是在跳轉的時候寫相對路徑 只要前面不加/,就是在伺服器後的路徑後面直接加上自己寫的(從web下面的目錄開始寫,包括資料夾名字) 只要前面加/,就是在修改伺服器的路徑,直接在埠號8080 後面傢伙是哪個自己寫的路徑。 1. 表示跳轉到的是http://localhost:8080/stu/a.jsp 。a.jsp 在工程的位置是 web下面的直接的a.jsp。 2. 表示跳轉到的是http://localhost:8080/stu/a.jsp 。 a.jsp 在工程的位置是web下面的資料夾123下面的a.jsp。 3.表示跳轉的是http://localhost:8080/123/a.jsp 。 就是重新指定埠號 下面的專案名稱為123,然後web下面的a.jsp。 4.表示跳轉的是http://localhost:8080/123/a.jsp 。 就是重新指定埠號下面的專案名稱為123,然後web下面yy資料夾下面的a.jsp。

絕對路徑:以編譯後的目錄結構為標準的,而不是按照開發時候的目錄 ${pageContext.request.contextPath}是JSP取得絕對路徑的方法,等價於<%=request.getContextPath()%> 。也就是取出部署的應用程式名或者是當前的專案名稱 比如我設定的部署程式名是demo1在瀏覽器中輸入為http://localhost:8080/demo1/a.jsp ${pageContext.request.contextPath}或<%=request.getContextPath()%>取出來的就是/demo1,就是獲取的放在伺服器上執行的部署的應用程式名。 在這裡插入圖片描述

對於web下面的靜態資源來說。 對於同樣都是靜態資源的話,需要考慮的是靜態資源的位置關係,如果在同一個包的話 ./表示當前所在包的路徑,直接用./檔名。 …/代表的是上級目錄下的目錄,下面在跟著路徑。

/ 在客戶端進行解析的時候,是被認為以web應用的地址為根地址http://localhost:8080/stu,而在伺服器端則是以8080為根地址http://localhost:8080 不帶/的時候客戶端任務以web下面的包為起點,伺服器認為專案配置的路徑為根地址http://localhost:8080/stu/。

可以向服務端傳送請求的包括: 1.form表單傳送請求,submit事件提交表單。 2 .a標籤傳送請求,href屬性指向路徑並攜帶引數。

首頁 3 .ajax非同步傳送請求,並解析資料

  1. js 裡location物件跳轉進行請求 $("#clear").click(function () { if(confirm(“確認清空購物車?”)){ 像服務端傳送請求並攜帶資料 window.location.href="/store_v5/CartServlet?method=clearCart"; } });