首頁 >web前端 >js教程 >JSP頁面跳轉方法小結

JSP頁面跳轉方法小結

高洛峰
高洛峰原創
2017-01-10 11:37:161768瀏覽

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

n        使用href超鏈接標記              (客戶端跳轉)
n        使用JavaScript                             (客戶端跳轉)
n        提交表單                                      (客戶端跳轉)
n        使用                            (於客戶端跳轉)🎠   端跳轉)
n        使用RequestDispatcher類別     (伺服器端跳轉)

1、使用response物件

    重定向。


注意以下兩點:


Ø        sendRedirect()可以帶參數傳遞

例如:

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

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

       (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”)

  ,其後的程式碼不再執行。

n        跳到目標頁面後,瀏覽器網址列中的URL不會改變。
n        在伺服器端重新導向。

n        無法跳到其它伺服器上的頁面。 

3、使用RequestDispatcher類別

基本用法:

RequestDispatcher rd = request.getRequestDispatcher("目标页面");
rd.forward(request,response);

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

response重新導向

n        執行完頁面的所有程式碼,然後跳到目標頁。

n        跳到目標頁面後,瀏覽器網址列中的URL會改變。

n        在瀏覽器端重新導向。

n        可以跳到其它伺服器上的頁面,

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

(2) RequestDispatcher 執行完碼,跳到目標頁面。

n        跳到目標頁面後,瀏覽器網址列中的URL不會改變。

n        在伺服器端重新導向。
n        無法跳到其它伺服器上的頁面。 

forward跳轉和RequestDispatcher跳轉的區別


(1) forward跳轉

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

(2) RequestDispatcher跳轉

n        執行完所有程式碼,包含RequestDispatcher之後的所有程式碼,然後跳到目標頁。
n        指定目標頁面時,且只能使用絕對路徑。

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

更多JSP頁面跳轉方法小結相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn