2

今、私は単一のjspページで単一のサーブレットフォームアクションを呼び出しました。同じ JSP ページで複数のサーブレット フォーム アクションを呼び出したい。

4

2 に答える 2

4

サーブレットがどのように機能し、何のために使用されるかを誤解していると思います。サーブレットは、クライアントの要求を処理し、応答を返すために使用されることに注意してください。最初のサーブレットでユーザーのリクエストを処理するとします。

同じリクエストで別のサーブレットを呼び出す必要があるのはなぜですか? 応答に何も追加しない追加機能を実行することですか? この場合、おそらく別のサーブレットは必要ありません。最初のサーブレットの機能を拡張するだけです。

別のサーブレットを呼び出して応答オブジェクトに何かを追加する場合は、最初のサーブレットの動作を修正し、2 番目のサーブレットの機能を最初のサーブレットに統合することをお勧めします。

最初のサーブレットの応答を気にせずにユーザーを別の jsp/サーブレットにリダイレクトしたい場合は、 または のオプションがあります。request.sebdRedirect("yourJsp.jsp")ここそれらの違いがあります。request.getRequestDispatcher("yourJsp.jsp").forward(request, response);

したがって、すべてを閉じるかどうかは、ビジネス ロジックによって異なります。ニーズに合ったオプションを選択する必要があります。

于 2012-10-11T06:04:39.090 に答える
2

form の action 属性は 1 つの URL しか受け付けないため、1 つの jsp フォームで複数のサーブレットを呼び出すことはできません。

<form method="get" action="/yourservlet"> 
<!-- action only accepts a single url! -->
于 2012-10-12T05:35:52.017 に答える