黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Servlet跳轉頁面的方法解說

Servlet跳轉頁面的方法解說

更新時間:2021-06-23 16:42:13 來源:動力節點 瀏覽948次

servlet跳轉頁面的方法:

跳轉分為兩部分,一部分發生在servlet,另一部分發生在JSP,JSP就是servlet,但是兩者還是有部分差異。

1.Servlet:(跳轉發生在doGet,doPost等方法里)

(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

2.JSP

(1)response.sendRedirect();

和servlet的response.sendRedirect()方式一樣,

跳轉后瀏覽器地址欄會變化,如果要跳轉到不同主機下,跳轉后,此語句后面的語句,如同新開了線程,但是對response的操作已經沒有意義了;如果要跳到相同主機下,此語句后面的語句執行完成后才會跳轉;

(2)response.setHeader(“Location”,"");

跳轉后瀏覽器地址欄發生變化,此語句后面的語句執行完成后才能發生調轉

(3)jsp:forward page=""/

跳轉后瀏覽器地址欄不變,但是只能跳轉到當前主機下,此語句后面的執行語句執行完成后才會跳轉。

3.請求轉發RequestDispatcher.forward方法和響應(重定向)轉發HttpServletResponse.sendRedirect方法的總結比較:

  • RequestDispatcher.forward方法只能將請求轉發給同一個web應用中的組件,而HttpServletResponse.sendRedirect方法不僅可以重定向到當前應用程序中的其他資源,還可以重定向到同一個站點上的其他應用程序中的資源,甚至是使用絕對URL重定向到其他站點的資源。如果傳遞給HttpServletResponse.sendRedirect方法的相對URL以"/“開頭,它是相對于整個web站點的根目錄;如果創建RequestDispatcher對象時指定的相對URL以”/"開頭,它是相對于當前web應用程序的根目錄。
  • 調用HttpServletResponse.sendRedirect方法重定向的訪問過程結束后,瀏覽器地址欄中顯示的URL會發生改變,由初始的URL地址重定向為目標URL;而調用RequestDispatcher.forward方法的請求轉發過程結束后,瀏覽器地址欄保持初始的URL地址不變。
  • HttpServletResponse.sendRedirect方法對瀏覽器請求直接作出響應,響應的結果就是告訴瀏覽器重新發出對另一個URL的訪問請求;RequestDispatcher.forward方法在服務器端內部發生了轉發行為。
  • RequestDispatcher.forward方法的調用者與被調用者之間共享相同的request對象,它們屬于同一個訪問請求和響應過程;而HttpServletResponse.sendRedirect方法調用者與被調用者使用各自的request對象和response對象,它們屬于兩個獨立的訪問請求和響應過程。對于同一個web應用程序的內部資源之間的跳轉,特別是跳轉之前要對請求進行一些前期預處理,并使用HttpServletRequest.setAttribute方法傳遞預處理結果,那就應該使用RequestDispatcher.forward方法。不同web應用程序之間的重定向,特別是要重定向到另一個web站點上的資源情況,都應該使用HttpServletResponse.sendRedirect方法。
  • 無論哪種方法,在調用它們之前,都不能有內容已經被實際輸出到了客戶端。如果緩沖區已經有了一些內容,這些內容將從緩沖區中清除。

重定向和請求轉發有一個重要的不同:

當使用請求轉發時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。與之相反,重定向方式的含義是第一個頁面通知瀏覽器發送一個新的頁面請求。因為,當你使用重定向時,瀏覽器中所顯示的URL會變成新頁面的URL,而當使用轉發時,該URL會保持不變。重定向的速度比轉發慢,因為瀏覽器還得發出一個新的請求。同時,由于重定向方式產生了一個新的請求,所以經過一次重定向后,request內的對象將無法使用。

以上就是動力節點小編介紹的"Servlet跳轉頁面的方法解說",希望對大家有幫助,想了解更多可查看Servlet教程技術文檔,如有疑問,請在線咨詢,有專業老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 舔射插啊~在线观看女女 | 麻豆视频一区二区 | 欧美青青 | 免费视频18 | 成人国产精品一级毛片视频 | 狠狠操狠狠操狠狠操 | 免费看特黄特黄欧美大片 | 小明免费视频 | 欧洲精品不卡1卡2卡三卡四卡 | 天天做天天爱天天一爽一毛片 | 欧美日韩视频一区二区在线观看 | 日韩一区二区在线观看 | 青草色视频 | 亚洲成a | 在线精品国内外视频 | 亚洲第一中文字幕 | 天天干天天干天天干天天干天天干 | 免费看欧美日韩一区二区三区 | 在线a人片免费观看国产 | 日韩 国产 欧美 精品 在线 | 一级中国毛片 | 99精彩视频在线观看 | 日韩欧美动漫 | 黄色小视频在线免费观看 | 丁香综合激情 | 国产91精品久久久久999 | 亚洲免费色视频 | 中文字幕久久亚洲一区 | 看全色黄大色大片免费久久久 | 国产三级不卡 | 亚洲欧美成人影院 | 久久精品国产亚洲高清 | 黄 色 三 级 网站 | 亚洲欧美日韩中文字幕在线不卡 | 操一操日一日 | 成年美女黄网站色大片免费看 | 日本福利视频一区 | 色天天综合 | 欧美日韩一区二区在线观看视频 | 免费人成视网站在线不卡 | 91短视频黄 |