ユーザーの詳細を取得するために使用したjspファイルにフォームがあります。送信ボタンをクリックすると、フォーム アクションが別の jsp ファイルに設定され、詳細がデータベースに挿入されます。ただし、その前に、ユーザーがユーザー ID を入力するとすぐに、利用可能かどうかを確認するボタンが表示されます。ボタンをクリックすると、ユーザー名をパラメーターとしてコントロールを別のjspページに移動させます。そこで空き状況の確認をしています。レスポンスを前のjspファイルに戻したい。これは、「リクエストディスパッチャー」を使用して実現できますか。はいの場合、誰かがリクエストディスパッチャーのインクルードおよび転送方法を説明できます。ネットで検索してみました。利用可能なコードのみがあります。このリクエスト ディスパッチャーとは何か、またどのように機能するのかを知りたいです。
1 に答える
1
リクエストディスパッチャは、指定されたターゲットにリクエストをディスパッチします。リクエストディスパッチャは基本的に、指定されたターゲットに制御を渡します。JSPの場合、JSPは指定された要求を処理し、その出力を指定された応答に送信します。
このinclude()
メソッドを使用すると、コントロールが戻った後も応答を使用し続けることができるため、必要に応じてデータを追加できます。インクルードされたターゲットは、応答ヘッダーを操作できません。のターゲットはinclude()
、最終応答の一部である必要があります。このforward()
メソッドを使用すると、指定されたターゲットに制御を完全に渡すことができます。転送されたターゲットは、応答ヘッダーを操作できます。aのターゲットは、完全な栄光で提示したいJSPファイル自体全体forward()
である必要があります(ただし、他のJSPを含めることもできます)。
この場合、転送を送信する必要があります。ああ、この種のジョブはJSPに属していませんが、サーブレットに属しています。IllegalStateException
そうしないと、リクエストを転送しようとしているJSPがすでに応答にデータを送信している場合に直面する可能性があります。
于 2012-02-21T05:33:58.507 に答える