更新時(shí)間:2022-04-14 09:51:53 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽11062次
Java跳轉(zhuǎn)頁(yè)面有幾種方法?動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家。

當(dāng)然,在 servlet 中,跳轉(zhuǎn)一般發(fā)生在 doGet、doPost 等方法中。
1.重定向
響應(yīng)。SendRedirect("/a.sp");
頁(yè)面的路徑是相對(duì)路徑。SendRedirect 可以將一個(gè)頁(yè)面重定向到任何頁(yè)面,并且不一定限于 Web 應(yīng)用程序,例如:
響應(yīng)。SendRedirect("//www.jb51.net");
跳轉(zhuǎn)后瀏覽器地址欄發(fā)生變化。
如果要通過(guò)這種方式傳出值,只能在url或者session中帶參數(shù)傳遞,不能通過(guò)request-setattribute傳遞。
2.前進(jìn)的道路
RequestDispatcher 調(diào)度程序 = 請(qǐng)求。GetRequestDispatcher("/a.sp");
調(diào)度員。轉(zhuǎn)發(fā)(請(qǐng)求、響應(yīng));
頁(yè)面的路徑是相對(duì)路徑。前進(jìn)模式只能跳轉(zhuǎn)到本 Web 應(yīng)用程序中的頁(yè)面。
跳轉(zhuǎn)后瀏覽器地址欄沒(méi)有變化。
這樣傳值的方式有3種:url中的parameter、session、request-setattribute
1.響應(yīng)。發(fā)送重定向();
servlet 執(zhí)行 response.sendredirect() 的方式相同。
Out.flush() 不允許在此語(yǔ)句之前。如果是這樣,就會(huì)有一個(gè)例外:
Java. Lang.IllegalStateException: Can 't sendRedirect () after data has commited to the client。
在 Caucho. Server服務(wù)器。聯(lián)系。抽象HttpResponse。發(fā)送重定向(AbstractHttpResponse。Java:558)
跳轉(zhuǎn)后瀏覽器地址欄變化
如果要跳轉(zhuǎn)到不同的主機(jī),跳轉(zhuǎn)后,這條語(yǔ)句后面的語(yǔ)句會(huì)繼續(xù)執(zhí)行,就好像開(kāi)啟了一個(gè)新的Java線程,但是response的操作是沒(méi)有意義的;
如果要跳轉(zhuǎn)到同一個(gè)主機(jī),該語(yǔ)句后面的語(yǔ)句直到執(zhí)行完成才會(huì)跳轉(zhuǎn);
2.響應(yīng)。SetHeader("位置", "");
此語(yǔ)句之前不允許out.flush(),如果是,則頁(yè)面不跳轉(zhuǎn)。
跳轉(zhuǎn)后瀏覽器地址欄變化
該語(yǔ)句后面的語(yǔ)句在完成之前不會(huì)跳轉(zhuǎn)
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)