サーブレット-ページリダイレクト
ページリダイレクトは、クライアントが要求された以外の新しい場所に送信される手法です。ページリダイレクトは通常、ドキュメントが新しい場所に移動するとき、または負荷分散が原因である可能性がある場合に使用されます。
リクエストを別のページにリダイレクトする最も簡単な方法は、メソッドを使用することです 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);
....
例
この例は、サーブレットが別の場所へのページリダイレクトを実行する方法を示しています-
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);
}
}
次に、上記のサーブレットをコンパイルして、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 http:// localhost:8080 / PageRedirectを使用してこのサーブレットを呼び出します。これにより、URLhttp://www.photofuntoos.comにリダイレクトされます。