更新時間:2021-06-23 16:42:13 來源:動力節點 瀏覽948次
servlet跳轉頁面的方法:
跳轉分為兩部分,一部分發生在servlet,另一部分發生在JSP,JSP就是servlet,但是兩者還是有部分差異。
(1)redirect方式
response.sendRedirect("/index.jsp");頁面的路徑是相對路徑。sendRedirect可以將頁面跳轉到任何頁面,不一定局限于web應用中,如:response.sendRedirect(“http://www.baidu.com”);
跳轉后瀏覽器地址發生變化,只能在url總帶parameter或者放在session中,無法使用request.setAttribute來傳遞值。
(2)forward方式
request.getRequestDispatcher("/index.jsp").forward(request,response);頁面的路徑是對路徑。forward方式只能跳轉到本web應用中的頁面上。跳轉后地址欄不會發生變化。使用這種方式跳轉,傳值可以使用三種方法:url中帶parameter,session,request.setAttribute
(1)response.sendRedirect();
和servlet的response.sendRedirect()方式一樣,
跳轉后瀏覽器地址欄會變化,如果要跳轉到不同主機下,跳轉后,此語句后面的語句,如同新開了線程,但是對response的操作已經沒有意義了;如果要跳到相同主機下,此語句后面的語句執行完成后才會跳轉;
(2)response.setHeader(“Location”,"");
跳轉后瀏覽器地址欄發生變化,此語句后面的語句執行完成后才能發生調轉
(3)jsp:forward page=""/
跳轉后瀏覽器地址欄不變,但是只能跳轉到當前主機下,此語句后面的執行語句執行完成后才會跳轉。
重定向和請求轉發有一個重要的不同:
當使用請求轉發時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。與之相反,重定向方式的含義是第一個頁面通知瀏覽器發送一個新的頁面請求。因為,當你使用重定向時,瀏覽器中所顯示的URL會變成新頁面的URL,而當使用轉發時,該URL會保持不變。重定向的速度比轉發慢,因為瀏覽器還得發出一個新的請求。同時,由于重定向方式產生了一個新的請求,所以經過一次重定向后,request內的對象將無法使用。
以上就是動力節點小編介紹的"Servlet跳轉頁面的方法解說",希望對大家有幫助,想了解更多可查看Servlet教程技術文檔,如有疑問,請在線咨詢,有專業老師隨時為您服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習