1. 程式人生 > >路徑前加於不加(/)反斜槓

路徑前加於不加(/)反斜槓


 如題,這是我們今天做關於JavaWeb請求轉發時遇到的問題。
        1.
(無)開頭表示當前目錄下的
         2.
/)開頭的目錄表示該目錄為根目錄的一個子目錄

         3.
./)開頭的目錄表示該目錄為當前目錄(當前目錄所在的目錄)的一個子目錄
        4.
../)開頭的目錄表示該目錄為當前目錄的父目錄
但是實際使用過程中我們發現了很多問題,首先關於無反斜槓開頭的路徑描述基本準確,是表示當前目錄下和(./)相似。問題主要集中在關於加了反斜槓(/)的路徑上。這裡對於根目錄的理解,我們遇到的情況主要可分為下面3種:
    1.
對於HTML 頁面,如果我們在其中有關於反斜槓應用的路徑,我們可以分為下面兩種情況:
如直接對該頁面開啟訪問:則這裡相對的是我們的碟符,如(/res/index.html),實際路徑為(C://res/index.html);
    2.
對於我們在請求轉發中呼叫的getRequestDispatcher()方法:則這裡相對的是我們的專案根目錄,如 request.getRequestDispatcher("/ts.do"),實際路徑為,如我們專案名稱為webTest,“/ts.do”是我們在web.XML中配置的servlet-mappingurl-pattern則我們這裡找的該(/ts.do)其實是。而如果我們要找的是一個具體資源如html頁面:目錄結構如下:(webTest/WebContent/html/index.html
)而我們知道webContent這個目錄是編譯器臨時目錄在實際生成時是沒有的。所以目錄修改如下(
webTest/html/index.html)這時我們要用getRequestDispatcher()得到這個html頁面則應是(html/index.html)。這就是今天主要關於目錄加反斜槓的難點,主要是對資源的定位問題。