jsp的轉(zhuǎn)發(fā)和重定向的區(qū)別 JSP如何實(shí)現(xiàn)網(wǎng)頁重定向?
JSP如何實(shí)現(xiàn)網(wǎng)頁重定向?JSP實(shí)現(xiàn)頁面重定向,使用響應(yīng).sendRedirect(“a.jsp”)將頁面重定向到a.jsp。有兩種方法來寫它:1。如果您在JSP頁面中編寫代碼,您可以響應(yīng).sendR
JSP如何實(shí)現(xiàn)網(wǎng)頁重定向?
JSP實(shí)現(xiàn)頁面重定向,使用響應(yīng).sendRedirect(“a.jsp”)將頁面重定向到a.jsp。有兩種方法來寫它:1。如果您在JSP頁面中編寫代碼,您可以響應(yīng).sendRedirect(“a.jsp”)在<%%>中,即:<%響應(yīng).sendRedirect(“a.jsp”)%>
2。如果您正在java文件(比如servlet)中編寫代碼,只需編寫響應(yīng).sendRedirect(“a.jsp”)就可以了。接下來,讓我們討論forward和send redirect之間的區(qū)別:redirection:存儲在前一個(gè)請求中的所有變量都無效,并進(jìn)入一個(gè)新的請求范圍。轉(zhuǎn)發(fā):前一個(gè)請求中存儲的變量不會無效,就像將兩個(gè)頁面放在一起一樣。
“請求轉(zhuǎn)發(fā)”和“重定向”之間的區(qū)別?
區(qū)別如下:1。不同的請求次數(shù),重定向總共向服務(wù)器請求兩次;轉(zhuǎn)發(fā)是一個(gè)過程,用戶的請求可以一次通過n個(gè)JSP頁面返回到用戶的瀏覽器,這是一個(gè)對一個(gè)請求進(jìn)行多次處理的過程;
2。在跳轉(zhuǎn)過程中鏈接發(fā)生變化,在跳轉(zhuǎn)過程中重定向請求服務(wù)器兩次,在轉(zhuǎn)發(fā)過程中是瀏覽器中兩個(gè)不同鏈接地址的過程,瀏覽器請求服務(wù)器一次,服務(wù)器通過n個(gè)JSP頁面后不改變請求的鏈接地址。因?yàn)橛脩糁徽埱笠淮?,鏈接地址在整個(gè)跳轉(zhuǎn)過程中不會改變,你可以在瀏覽器的地址欄中看到它
3。不同的目的,重定向只是讓用戶訪問一個(gè)新鏈接的唯一方式,轉(zhuǎn)發(fā)是服務(wù)器獲取用戶的請求內(nèi)容并需要處理其中的一部分,所以這兩個(gè)目的是不同的
重定向和轉(zhuǎn)發(fā)有一個(gè)重要的區(qū)別:當(dāng)使用轉(zhuǎn)發(fā)時(shí),JSP容器將使用一個(gè)內(nèi)部方法調(diào)用目標(biāo)頁面,新頁面將繼續(xù)處理相同的請求,而瀏覽處理器將不知道該過程。相反,重定向意味著第一個(gè)頁面通知瀏覽器發(fā)送一個(gè)新的頁面請求。因?yàn)?,使用重定向時(shí),瀏覽器中顯示的URL將成為新頁面的URL,而使用轉(zhuǎn)發(fā)時(shí),URL將保持不變。重定向比轉(zhuǎn)發(fā)慢,因?yàn)闉g覽器必須發(fā)出新請求。同時(shí),由于重定向方法生成一個(gè)新的請求,因此重置后不能使用請求中的對象。
如何選擇重定向或轉(zhuǎn)發(fā)?一般來說,轉(zhuǎn)發(fā)速度比較快,可以將對象保留在請求中,因此是首選。但是,轉(zhuǎn)發(fā)后,瀏覽器中的URL仍然指向起始頁。如果當(dāng)前頁面過載,將再次調(diào)用起始頁。如果你不想看到這個(gè),選擇前進(jìn)。
轉(zhuǎn)發(fā)和重定向之間的區(qū)別
不要只使用會話作用域?qū)⒆兞總鬟f到下一頁。它會無緣無故地增加變量的范圍。轉(zhuǎn)發(fā)可以幫助您解決此問題。
重定向:上一個(gè)請求中存儲的所有變量都無效,請輸入新的請求范圍。
轉(zhuǎn)發(fā):前一個(gè)請求中存儲的變量不會無效,就像將兩個(gè)頁面放在一起一樣。
重定向和轉(zhuǎn)發(fā)有什么區(qū)別?
轉(zhuǎn)發(fā)是請求轉(zhuǎn)發(fā),響應(yīng)是重定向,請求轉(zhuǎn)發(fā)是將請求轉(zhuǎn)發(fā)給另一個(gè)servlet進(jìn)行處理,整個(gè)流程只有一個(gè)請求和一個(gè)響應(yīng),重定向是通知瀏覽器請求另一個(gè)資源,整個(gè)流程有兩個(gè)請求和兩個(gè)響應(yīng),地址欄會改變
轉(zhuǎn)發(fā)和重定向的區(qū)別
重定向響應(yīng).sendRedirect(”成功訪問.jsp“”
轉(zhuǎn)發(fā):請求.getRequestDispatcher(" 成功.jsp"). 轉(zhuǎn)發(fā)(請求,響應(yīng))
1。轉(zhuǎn)發(fā)在服務(wù)器端完成,重定向在客戶端完成
★2。轉(zhuǎn)發(fā)速度快;重定向速度慢
3。轉(zhuǎn)發(fā)是同一個(gè)請求;重定向是兩個(gè)不同的請求
★4。轉(zhuǎn)發(fā)后不會執(zhí)行代碼轉(zhuǎn)發(fā);重定向會執(zhí)行重定向轉(zhuǎn)發(fā)必須在同一臺服務(wù)器上完成;重定向可以在不同的服務(wù)器上完成