1

書き換えに関する多くの投稿やブログを読みましたが、内部サーバーの書き換えとリダイレクトには違いがあることを知っています。内部書き換えがどのように機能するか、およびこれが Java でどのように行われるかを知りたいです。私はJava WebアプリケーションにPrettyFacesを使用していますが、リクエストが処理される前にどのように(もちろん非常に簡単に)それを見ることができるかを知っていればよかったです。最初に呼び出されるのは一種のフィルターですか?

そして最後に、サーバー上のURL書き換えは、書き換えルールのURLをサーバー上の実リソースに変換する「プログラム」ですよね?これはすべて内部で発生するため、ユーザーはアドレスが「実際の」リソース用であると考えていますか?

ありがとうございました。

4

1 に答える 1

2

私はJava WebアプリケーションにPrettyFacesを使用していますが、リクエストが処理される前にどのように(もちろん非常に簡単に)それを見ることができるかを知っていればよかったです。最初に呼び出されるのは一種のフィルターですか?

はい、すべての ServletRequest で最初にトリガーするように登録されたサーブレット フィルターがあります。このフィルターはリクエストをインターセプトし、リダイレクト、転送、またはチェーンのいずれかを行います (何もしません)。

そして最後に、サーバー上の URL 書き換えは、書き換え規則内の URL をサーバー上の実際のリソースに変換する「プログラム」ですよね? これはすべて内部で発生するため、ユーザーはアドレスが「実際の」リソース用であると考えていますか?

場合によります。リダイレクトを使用すると、ユーザーは別のリソースに移動したことを認識できます。ただし、PrettyFaces のデフォルトのマッピング機能を使用すると、代わりにサーブレット Forward が使用されます。これは、外部ユーザーから完全に隠されています。

PrettyFaces やOCPsoft Rewriteなどのツールが行うもう 1 つのことは、アウトバウンド URL 書き換えです。これは、「内部サーバー」書き換えツールでのみ可能です。これは、アプリケーションの HTML 応答の URL も変更できることを意味します (これにより、誤ったリンクが生成されてテキストとしてユーザーに送信されるのを防ぐことができます)。

これが役立つ要約であることを願っています。

于 2011-11-26T15:47:26.537 に答える