更新時間:2022-04-14 09:51:53 來源:動力節點 瀏覽10618次
Java跳轉頁面有幾種方法?動力節點小編來告訴大家。
當然,在 servlet 中,跳轉一般發生在 doGet、doPost 等方法中。
1.重定向
響應。SendRedirect("/a.sp");
頁面的路徑是相對路徑。SendRedirect 可以將一個頁面重定向到任何頁面,并且不一定限于 Web 應用程序,例如:
響應。SendRedirect("//www.jb51.net");
跳轉后瀏覽器地址欄發生變化。
如果要通過這種方式傳出值,只能在url或者session中帶參數傳遞,不能通過request-setattribute傳遞。
2.前進的道路
RequestDispatcher 調度程序 = 請求。GetRequestDispatcher("/a.sp");
調度員。轉發(請求、響應);
頁面的路徑是相對路徑。前進模式只能跳轉到本 Web 應用程序中的頁面。
跳轉后瀏覽器地址欄沒有變化。
這樣傳值的方式有3種:url中的parameter、session、request-setattribute
1.響應。發送重定向();
servlet 執行 response.sendredirect() 的方式相同。
Out.flush() 不允許在此語句之前。如果是這樣,就會有一個例外:
Java. Lang.IllegalStateException: Can 't sendRedirect () after data has commited to the client。
在 Caucho. Server服務器。聯系。抽象HttpResponse。發送重定向(AbstractHttpResponse。Java:558)
跳轉后瀏覽器地址欄變化
如果要跳轉到不同的主機,跳轉后,這條語句后面的語句會繼續執行,就好像開啟了一個新的Java線程,但是response的操作是沒有意義的;
如果要跳轉到同一個主機,該語句后面的語句直到執行完成才會跳轉;
2.響應。SetHeader("位置", "");
此語句之前不允許out.flush(),如果是,則頁面不跳轉。
跳轉后瀏覽器地址欄變化
該語句后面的語句在完成之前不會跳轉
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習