1. 程式人生 > >直接訪問Jsp和從Servlet跳轉到Jsp時的路徑問題

直接訪問Jsp和從Servlet跳轉到Jsp時的路徑問題

專案名:pager

專案目錄結構 和 jdbcSqlStudent.jsp檔案下的幾個引用

第一種情況:  直接訪問jdbcSqlStudent.jsp檔案報錯    http://localhost:8080/pager/jdbcSqlStudent.jsp


原因:  

css資料夾跟jdbcSqlStudent.jsp檔案屬於同一個層級

jdbcSqlStudent.jsp檔案 所在目錄層級是   http://localhost:8080/pager

../    相當於  http://localhost:8080/ 

故報錯

第二種情況:  通過servlet跳轉到jdbcSqlStudent.jsp檔案   http://localhost:8080/pager/servlet/jdbcServlet

servlet在web.xml的配置為



通過servlet訪問jsp檔案時,在位址列輸入


頁面可以正常顯示

因為Servlet路徑為“servlet/jdbcServlet”,如果使用RequestDispather方式跳轉,JSP頁面在接引數時,會將位址列的地址作為當前目錄尋找自己需要的方法、JavaScript、CSS等。

如果將


改為


這時候通過servlet訪問jsp檔案時,在位址列輸入

控制檯報錯:提示引用的css,js檔案找不到


............

因此,一般專案開發時,使用的是絕對路徑


載入頁面後從控制檯可以看到  request.getContextPath() 得到的是  /專案名