程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP頁面跳轉方法小結

JSP頁面跳轉方法小結

編輯:關於JSP

 實現JSP頁面跳轉,有如下幾種方式:

n        使用href超鏈接標記              (客戶端跳轉)
n        使用JavaScript                             (客戶端跳轉)
n        提交表單                                      (客戶端跳轉)
n        使用response對象                            (客戶端跳轉)
n        使用forward動作標記                 (服務器端跳轉)
n        使用RequestDispatcher類     (服務器端跳轉)

1、使用response對象

       (1) 調用sendRedirect()方法,重定向。

注意以下兩點:

Ø        sendRedirect()可以帶參數傳遞

例如:

sendRedirect(“/main.jsp?userName=zhangsan”
 

Ø        sendRedirect()之後,應該緊跟一句return

sendRedirect()是通過浏覽器來做轉向的,所以只有在頁面處理完成後,才會有實際的動作。既然你已經要做轉向了,那麼後面的輸出還有什麼意義呢?而且有可能會因為後面的輸出導致轉向失敗。

       (2) 調用setHeader()方法,等待若干秒後,自動重定向到另一個頁面。 

       可以通過response對象,調用setHeader(“Refresh”, “時間; 目標頁面”)方法,實現等待若干秒後,自動重定向到另一個頁面。

response.setHeader("Refresh", "10; url=login.jsp");  

 
上述代碼表示等待10秒後,將自動重定向到login.jsp這個頁面。

2、使用forward動作標記

response重定向和forward跳轉的區別

(1) response重定向

n        執行完頁面的所有代碼,再跳轉到目標頁面。
n        跳轉到目標頁面後,浏覽器地址欄中的URL會改變。
n        在浏覽器端重定向。
n        可以跳轉到其它服務器上的頁面,

例如:response.sendRedirect(“http://www.baidu.com”)

(2) forward跳轉

n        直接跳轉到目標頁面,其後的代碼不再執行。
n        跳轉到目標頁面後,浏覽器地址欄中的URL不會改變。
n        在服務器端重定向。
n        無法跳轉到其它服務器上的頁面。 

3、使用RequestDispatcher類

基本用法:

RequestDispatcher rd = request.getRequestDispatcher("目標頁面");
rd.forward(request,response);

使用RequestDispatcher實現頁面跳轉,和使用forward動作標記實現頁面跳轉,其基本原理是一樣的。

response重定向和RequestDispatcher跳轉的區別

(1) response重定向

n        執行完頁面的所有代碼,再跳轉到目標頁面。
n        跳轉到目標頁面後,浏覽器地址欄中的URL會改變。
n        在浏覽器端重定向。
n        可以跳轉到其它服務器上的頁面,

例如:response.sendRedirect(“http://www.baidu.com”) 

(2) RequestDispatcher跳轉

n        執行完所有代碼,再跳轉到目標頁面。
n        跳轉到目標頁面後,浏覽器地址欄中的URL不會改變。
n        在服務器端重定向。
n        無法跳轉到其它服務器上的頁面。 

forward跳轉和RequestDispatcher跳轉的區別

(1) forward跳轉

n        forward動作標記之後的代碼,不再執行,立即跳轉到目標頁面。
n        指定目標頁面時,既可以使用絕對路徑,也可以使用相對路徑。 

(2) RequestDispatcher跳轉

n        執行完所有代碼,包括RequestDispatcher之後的所有代碼,再跳轉到目標頁面。
n        指定目標頁面時,只能使用絕對路徑。

以上所述是小編給大家介紹的JSP頁面跳轉方法小結,希望對大家有所幫助,如果大家有疑問歡迎給我留言,小編會及時回復大家的!

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