Jsp的兩種跳轉方法

來源:互聯網
上載者:User

對於<jsp:forward>和response.sendRedirect()這兩種跳轉,信心大家一定不會陌生了,<jsp:forward>屬於跳轉的一個指令,response.sendRedirect()是response對象裡的一個跳轉方法,更確切說應該一個轉向。但不管怎麼說,兩者都能實現由一個頁面跳轉到另一個頁面的跳轉功能。 那麼兩者有什麼區別呢?還是隨便用哪一個都行呢? 我們來共同看一下:

瞭解區別,舉個例子是最直觀的,看以下的例子:

我們要做兩個頁面:

一個跳轉頁面【turn_01.jsp(用<jsp:forward>),turn_02.jsp(用response.sendRedirect())】

一個跳轉之後的頁面(turnAfter.html).

turnAfter.html     <html>    <head>    <title>web</title>    </head>    <body>    <h1>編程入門網:http://www.bianceng.cn</h1>    </body>    </html>
turn_01.jsp     <%@ page  language="java" contentType="text/html" pageEncoding="gbk" %>    <html>    <head>    <title>web</title>    </head>    <body>    <%          System.out.println("====forward跳轉之前=========");     %>    <jsp:forward page="turnAfter.html"/>    <%          System.out.println("====forward跳轉之後=========");     %>    </body>    </html>

運行一下,看瀏覽器的結果,的確是跳轉了,但是地址欄並沒有發生改變,更有趣的是看一下伺服器的結果,如下圖所示:

根據結果顯示,只有跳轉之前,而沒有跳轉之後。我們再來看另一種跳轉方式會怎麼樣。

turn_02.jsp     <%@ page  language="java" contentType="text/html" pageEncoding="gbk" %>    <html>    <head>    <title>web</title>    </head>    <body>    <%          System.out.println("====response跳轉之前=========");     %>       <% response.sendRedirect("turnAfter.html");%>    <%          System.out.println("====response跳轉之後 =========");     %>    </body>    </html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.