2011-01-23 7 views
0

可能性の重複:
How do I execute a sequence of servlets?コールいくつかのサーブレットが

私はあなたがボタン(POSTメソッド)をクリックし 、これに思える何かをしたい - >コールにservlet1(

2番目のサーブレットは、最初のサーブレットの完了を待つ必要があります(以下同様)。

+0

[サーブレットのシーケンスを実行するにはどうすればいいですか?](http://stackoverflow.com/questions/3024949/how-do-i-execute-a-sequence-of-servlets) – BalusC

答えて

0

2番目のサーブレットに転送/リダイレクトすることができますか?そうでない場合は、リファクタリングを使用してサーブレットを分離するのではなく、メソッドを呼び出させることをお勧めします。

+0

私に説明できますか別のサーブレットに転送/リダイレクトする方法は?私たちはjspにリダイレクトするだけでサーブレットではないと思う – YAKK

+0

この投稿は、RequestDispatcherを使って転送を行う方法を示しています。http://java.boot.by/wcd-guide/ch03s05.html –

+0

右。また、同じ論理ユニットの一部として必要なときにフォワードを使用することについても言及する必要があります。これは要求パラメータを共有します。リダイレクトを使用すると、ブラウザを「中断」して、最後のサーブレットのみを呼び出すようにします。 –

0

は、私はあなたがするRequestDispatcherのforwardメソッドが必要だと思う:フォワード

サーバ上の他のリソース(Servlet、JSPファイル、HTMLファイル)へのサーブレットからのリクエスト

http://download.oracle.com/javaee/5/api/javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest,%20javax.servlet.ServletResponse)

+0

いいえ、includeを使用します。forwardではなく、リンクされたdupeも参照してください。 – BalusC

0

この「責任の連鎖」設計は、サーブレットの代わりにサーブレットフィルタを使用してすぐに提供されます。このようにして、RequestDispatcherを使用して次のサーブレットに明示的に転送するのではなく、web.xmlで目的の順序でフィルタを宣言し、必要に応じて単純に追加または削除することができます。

関連する問題