程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 轉發和重定向,轉發重定向

轉發和重定向,轉發重定向

編輯:JAVA綜合教程

轉發和重定向,轉發重定向


重定向和轉發有一個重要的不同:當使用轉發時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而浏覽器將不會知道這個過程。 與之相反,重定向方式的含義是第一個頁面通知浏覽器發送一個新的頁面請求。因為,當你使用重定向時,浏覽器中所顯示的URL會變成新頁面的URL, 而當使用轉發時,該URL會保持不變。重定向的速度比轉發慢,因為浏覽器還得發出一個新的請求。同時,由於重定向方式產生了一個新的請求,所以經過一次重 定向後,request內的對象將無法使用。

重定向:以前的request中存放的變量全部失效,並進入一個新的request作用域。

轉發:以前的request中存放的變量不會失效,就像把兩個變量拼到了一起 

一.請求重定向:
1.原始方式
response.setStatus(302);
response.setHeader("Locaton","/xxxxxx");
2.快捷方式
response.sendRedirect("/xxxx");
*3.額外的方式
response.setHeader("refresh","0;url=/xxxx");
<c:redirect>
二、請求轉發
1. ServletContext.getRequestDispatcher().forward();
2. request.getRequestDispatcher().forward();
3. pageContext.forward("");
<jsp:forward>

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