在本章中,我們將討論使用JSP的頁面重定向。 通常在文件移動到新位置時使用頁面重定向,我們需要將用戶端傳送到此新位置。這可能是因為負載平衡,或者是簡單的隨機化。
將請求重定向到另一個頁面的最簡單的方法是使用響應物件的sendRedirect()
方法。 以下是這種方法的簽名 -
public void response.sendRedirect(String location)
throws IOException
該方法將響應與狀態程式碼和新頁面位置一起傳送回瀏覽器。也可以一起使用setStatus()
和setHeader()
方法來實現相同的重定向範例 -
....
String site = "https://www.tw511.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....
開啟Eclipse,建立一個動態Web工程:Redirect,並在這個專案中建立範例JSP檔案。
此範例顯示JSP如何執行頁面重定向到另一個位置( https://www.tw511.com )。
檔案:PageRedirect.jsp -
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>頁面重定向範例</title>
</head>
<body>
<center>
<h1>頁面重定向範例</h1>
</center>
<%
// New location to be redirected
String site = new String("https://www.tw511.com");
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
%>
</body>
</html>
編寫完成上面程式碼,部署專案。然後開啟瀏覽器存取URL: http://localhost:8080/Redirect/PageRedirect.jsp
呼叫此JSP。這將自動定向到到給定的URL: https://www.tw511.com 。