Servlet - 頁面重定向



頁面重定向是一種將客戶端傳送到非所請求的新位置的技術。頁面重定向通常在文件移至新位置或可能是因為負載平衡時使用。

將請求重定向到另一個頁面的最簡單方法是使用響應物件的 sendRedirect() 方法。以下是此方法的簽名 −

public void HttpServletResponse.sendRedirect(String location) 
throws IOException 

此方法連同狀態程式碼和新頁面位置一起將響應發回瀏覽器。你還可以將 setStatus() 和 setHeader() 方法一起使用以實現相同的結果 −

.... 
String site = "http://www.newpage.com" ; 
response.setStatus(response.SC_MOVED_TEMPORARILY); 
response.setHeader("Location", site);  
.... 

示例

此示例展示了 Servlet 如何執行頁面重定向到另一個位置 −

import java.io.*;
import java.sql.Date;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageRedirect extends HttpServlet {
    
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

      // Set response content type
      response.setContentType("text/html");

      // New location to be redirected
      String site = new String("http://www.photofuntoos.com");

      response.setStatus(response.SC_MOVED_TEMPORARILY);
      response.setHeader("Location", site);    
   }
} 

現在讓我們編譯上記の Servlet 並在 web.xml 中建立以下條目

....
<servlet>
   <servlet-name>PageRedirect</servlet-name>
   <servlet-class>PageRedirect</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>PageRedirect</servlet-name>
   <url-pattern>/PageRedirect</url-pattern>
</servlet-mapping>
....

現在使用 URL https://:8080/PageRedirect 呼叫此 Servlet。這將重定向你到 URL http://www.photofuntoos.com。

廣告
© . All rights reserved.