SendRedirectまたはrequestdispatch?どちらがさらに優先されるべきですか?どちらが効率的ですか?sendRedirectまたはリクエストディスパッチはより効率的ですか?
答えて
これは2つの非常に異なる処理を行うため、効率性を決めるだけではありません。
リダイレクトを送信すると、ブラウザが別のURLに送信されます。そのURLはブラウザに表示されます。あなたはそれを望むかもしれません。たとえば、POST後に、結果ページを再掲載せずにリロードできないようにするには、おそらくGETページにリダイレクトする必要があります。一方、サーブレットコンテナ内からのみアクセス可能な「ページ」にリダイレクトすることはできません。
ディスパッチは余分なラウンドトリップがないという点でより効率的ですが、同じWebアプリケーションのコンテキストでのみ動作します(設定した場合は同じサーブレットコンテナ内で動作します)。また、ユーザーが最初にページにアクセスするために使用したURLは、後でチェーン内のサーブレットが呼び出されるURLとは異なり、混乱する可能性があります。ディスパッチ・パターンは、実際のリクエストの前または後(ServletFilterの代わりに)またはエラー・ページのための余分な処理によく使用されます。
ディスパッチを使用してリクエスト属性を渡すことはできますが、リダイレクトではクエリパラメータのみを渡すことができます。 POSTとしてリダイレクトすることはできません(そのため、添付できるデータの量は限られています)。リダイレクトのすべてのクエリパラメータは、ユーザーに表示されます。
sendRedirectより高速であるため、コントロールを別のドメインに転送する必要がある場合はリダイレクトを使用する必要があるため、転送は効率的です。
フォワードリクエストを呼び出すと、リクエストは、別のリソースがリクエストを処理しようとしていることをクライアントに知らされることなく、サーバー上の別のリソースに送信されます。このプロセスは、Webコンテナ内で完全に行われます。 一方、sendRedirectメソッドが呼び出されると、Webコンテナはブラウザに戻り、新しいURLを要求する必要があることを示します。 ブラウザは完全に新しい要求を発行するため、リダイレクトが発生する前に要求属性として格納されているオブジェクトは失われます。 この余分な往復により、リダイレクトは転送より遅くなります。
- 1. getまたはbasename()はより効率的ですか?
- 2. jpgまたはpng for UIImage - より効率的ですか?
- 3. glMultMatrix/glLoadMatrixよりもglRotatef、またはglTranslatefより効率的ですか?
- 4. MySQLは、より効率的な長いテキスト、テキスト、またはblobですか?挿入効率を改善する
- 5. より効率的なスクリプトですか?
- 6. より効率的なソリューションですか?
- 7. mysqlでは、ストアドプロシージャはより効率的ですか?
- 8. より効率的なStringBuffer new()またはdelete(0、sb.length())は何ですか?
- 9. LINQクエリまたはSQLクエリ。より効率的なものは何ですか?
- 10. これは、より効率的な時間ですか?ファイルストレージまたはSQLite
- 11. より効率的な戦略いる()またはmatch()は
- 12. はThread.Sleep(Timeout.Infinite)です。 while(true){}よりも効率的ですか?
- 13. forループはC++でより効率的ですか?職場で
- 14. は、ルータ2、より効率的な
- 15. ラン3 str_replaceは、より効率的に
- 16. PHP配列または関数 - このシナリオではより効率的です
- 17. AWS:より効率的なものEC2のインスタンスインスタンスまたはリザーブドインスタンス
- 18. このように文字列を効率的に切り替える方法はありますか?より効率的なものはありますか?
- 19. Datatableよりも効率的
- 20. より効率的なパンダコード
- 21. より効率的なコード
- 22. より効率的なjQuery
- 23. より効率的なjquery
- 24. より効率的なルート
- 25. varcharフィールド - 2の威力はより効率的ですか?
- 26. コードよりも効率的なコードは何ですか?
- 27. は、より効率的なポイントフリーコードですか?
- 28. OkioはなぜBufferedInputStreamとBufferedOutputStreamよりも効率的ですか?
- 29. XML :: Twig:parsefile()はparse()よりも効率的ですか?
- 30. BoundStatementはCassandraのSimpleStatementよりも効率的ですか?