Servlets-page-redirect

提供:Dev Guides
移動先:案内検索

サーブレット-ページのリダイレクト

ページリダイレクトは、クライアントが要求された以外の新しい場所に送信される手法です。 ページのリダイレクトは、通常、ドキュメントが新しい場所に移動した場合や、負荷分散が原因である場合に使用されます。

リクエストを別のページにリダイレクトする最も簡単な方法は、応答オブジェクトの* 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を使用してこのサーブレットを呼び出します。 これにより、URL [[1]]