直接訪問Jsp和從Servlet跳轉到Jsp時的路徑問題
阿新 • • 發佈:2019-02-18
專案名: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() 得到的是 /專案名