程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP中forward()與sendRedirect()的區別

JSP中forward()與sendRedirect()的區別

編輯:關於JSP

jsp的頁面跳轉有兩種方法:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法。

它們的區別是:

RequestDispatcher.forward()方法僅是容器中控制權的轉向,在客戶端浏覽器地址欄中不會顯示出轉向後的地址,他是不會改變Request的值,如果需要在下一個頁面中能從中獲 取新的信息的話,可以Request.setAttribute()來放置一些標志,這樣從下一個頁面中獲取。其寫法如下:

try{
  request.getRequestDispatcher("display.jsp").forward(request,response);
}

catch(Exception e){

  e.printStackTrace();

}

HttpServletResponse.sendRedirect()則是完全的跳轉,浏覽器將會得到跳轉 的地址,並重新發送請求鏈接。這樣,從浏覽器的地址欄中可以看到跳轉後的鏈接地址。其寫法如下:

response.sendRedirect("display.jsp");

兩者相對來說RequestDispatcher.forward()方法更加高效,當它可以滿足需要時,盡量使用Request Dispatcher.forward()方法,並且,這樣也有助於隱藏實際的鏈接。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved