requestdispatcher.forward 和response的sendredirect的路徑問題

今天學習了張龍老師的 <深度剖析過濾器的機制及其在實際開發中的應用場景_01.wmv> 中間代碼出現的一些問題視頻裏面都解決了

後來無意間訪問了" http://localhost:8080/javaWeb/session/index.jsp "頁面,結果鏈接轉到了" http://localhost:8080/javaWeb/session/login.jsp "頁面(這兩個頁面時在學習session的時候的)

此時的LoginFilter裏面的對未登錄的重定向代碼是: resp.sendRedirect("login.jsp");

在訪問 http://localhost:8080/javaWeb/filter/index.jsp 時正如預期的一樣 跳到了 http://localhost:8080/javaWeb/filter/login.jsp 頁面

爲什麼訪問" http://localhost:8080/javaWeb/session/index.jsp "頁面,卻轉到了" http://localhost:8080/javaWeb/session/login.jsp "頁面了?

後來我在網上查了一下:

http://jorton468.blog.163.com/blog/static/72588135201101711810508/

"絕對路徑:response.sendRedirect("http://www.brainysoftware.com")發送至http://www.brainysoftware.com

根路徑:response.sendRedirect("/ooo")發送至http://localhost:8080/ooo
相對路徑:response.sendRedirect("ooo")發送至http://localhost:8080/Test/ggg/ooo。 
"

是不是 resp.sendRedirect("login.jsp"); 用了相對於上次請求的路徑來跳轉的啊???    

上次訪問在session文件夾,這次就在session文件夾下找login.jsp頁面?

後來我用了根路徑   resp.sendRedirect("/javaWeb/filter/login.jsp");  這樣亂跳的問題就沒出現了

不過,表示上面的疑問還是沒有確定

發佈了38 篇原創文章 · 獲贊 6 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章