2011-11-09 3 views
-1

私は依然としてRequestDispatcherの使い方に困惑しています。JSP:なぜRequestDispatcherが必要なのですか?

私は内部的に以下に示すようにサーブレットを呼び出すためのURLを使用したJavaScriptファイルがある場合:

var url = "../../../../FeesServlet?selectedCode="+selectedCode+"&searchNameOrCode="+searchNameOrCode 

req.open("GET", url, true); 
req.onreadystatechange = someFunction(); 
req.send(null); 

をなぜ私たちは、私は上記の仕事はそれなしに成し遂げることができたときのRequestDispatcherが必要なのでしょうか?上記のコードは、私のビジネスロジックが存在していてもまだ仕事を完了させるサーブレット(リソース)と呼ばれています。

私は、RequestDispatcherの必要性を見ていません。

答えて

0

しかし、どのようにサーブレットを新しいURL /サーブレットに転送しますか?あなたはそのためにRequestDispatcherが必要です:

RequestDispatcher dispatcher = aRequest.getRequestDispatcher(aResponsePage.toString()); 
dispatcher.forward(aRequest, aResponse); 

ディスパッチャーを必要としない場合は、転送する必要はありません。

+0

IC。今、javascriptファイルから、上記のようにサーブレットを呼び出すことはできますが、RequestsDispatcherを使用しない限り、JSのようなサーブレット内で別のサーブレットを呼び出す方法はありません。私はそれを正しく得たか? – yapkm01

+0

はい、HttpServletResponseリダイレクト機能を使用して転送またはリダイレクトすることができます。 –

+0

@Ramarioリダイレクト機能 - RequestsDispatcherのforward/includeが実行されている間は、呼び出し元のプログラムで実行が継続されません。ビンゴ? – yapkm01

関連する問題