Sendredirect()メソッドをサーブレットで使用する

sendRedirect() メソッドは、応答を別のリソースにリダイレクトします。 このメソッドは、実際には、クライアント(ブラウザ)がリソースに到達するための新しい要求を作成するようにします。 クライアントはブラウザで新しいurlを見ることができます。

sendRedirect()は相対URLを受け入れるため、サーバー内またはサーバー外のリソースに移動できます。

: sendRedirect()and Request Dispatcher

リダイレクトとrequest dispatchingの主な違いは、リダイレクトによってクライアント(ブラウザ)がリソースに到達するための新しい要求を作成し、要求ディスパッチが同じ要求でリソースを取得し、URLが変更されない間にユーザーは新しいURLを見ることができるということです。

また、もう一つの非常に重要な違いは、sendRedirect()は応答オブジェクトで動作し、要求ディスパッチは要求オブジェクトで動作するということです。

sendRedirectの使用例()

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { response.sendRedirect("https://www.studytonight.com"); } finally { out.close(); } }}

forward()とsendRedirectの違い()

forward() sendRedirect()
サーバー側で動作します。 クライアント側で動作します。
常に同じ要求オブジェクトと応答オブジェクトを送信します。 それは常にオブジェクトのための新しい要求を送信します。
サーバー内でのみ動作します。 これは、サーバーの内部と外部の両方で動作します。
このメソッドでは、すべての処理がwebコンテナによって内部的に処理されます。 このメソッドでは、すべての処理が別のサーブレットによって処理されます。
それは速いです。 それは遅いです。
forward()メソッドを使用すると、アドレスバーにアドレスが表示されます。 forward()メソッドを使用すると、アドレスバーにアドレスが表示されません。
RequestDispatcherインターフェイスは、宣言に使用されます。 HttpServletResponseは宣言に使用されます。
直接アクセスを非表示にするには、MVCデザインパターンで非常に便利です。 直接アクセスを非表示にするMVCデザインパターンでは有用ではありません。
オブジェクトを再利用します。 オブジェクトは再利用されません。
例:リクエスト。getRequestDispacher(“servlet_1”).forward(request response); 例:レスポンス。sendRedirect(“Servlet_1”);

コメントを残す

メールアドレスが公開されることはありません。