このペーパーでは、Struts2フィルターとインターセプターの違いを分析します。次のように、参照のために共有してください。
1。本質的な違い:
1.インターセプターはJavaの反射メカニズムに基づいており、フィルターは機能コールバックに基づいています。
2。インターセプターはサーブレット容器に依存せず、フィルターはサーブレット容器に依存します。
3.インターセプターはアクションリクエストでのみ動作しますが、フィルターはほぼすべてのリクエストで動作できます。
4.インターセプターは、アクションコンテキストと値スタックでオブジェクトにアクセスできますが、フィルターはできません。
5。アクションのライフサイクル中に、インターセプターを複数回呼び出すことができますが、フィルターはコンテナが初期化されたときに1回しか呼び出されません。
2。使用の違い:
フィルターはJava Webにあります。要求と応答を渡して、事前にいくつかの情報をフィルタリングするか、事前にいくつかのパラメーターを設定し、ビジネスロジックのサーブレットまたはストラットアクションを渡します。
たとえば、違法なURLを除外します(ログインではありません。ユーザーがログインしない場合は、それらを除外してください)、
または、サーブレットまたはストラットアクションを渡す前に、文字セットを設定します。
または、違法なキャラクターを削除します(チャットルームでよく使用され、誓う言葉)。 。 。
インターセプターは、基準を満たすアクションを渡すことができます。インターセプター自体は通常のJavaオブジェクトであり、アクションコールを動的にインターセプトできます。
インターセプター自体の実行は、アクションが実行される前後のさまざまなWebプロジェクト要件を提供します。また、アクションの実行を防ぐことができ、抽出することもできます。
動作中に再利用できる部分。
(これは、サービスまたはメソッドの前にメソッドを呼び出すか、メソッドの後にメソッドを呼び出すことを意味します。たとえば、ダイナミックプロキシはインターセプターの簡単な実装です。メソッドを呼び出す前に文字列を印刷する(または他のビジネスロジック操作を行う)、またはメソッドを呼び出すと、または例外を投げます。
Strutsの詳細については、このサイトに興味のある読者は、「Struts Frameworkに関する紹介と高度なチュートリアル」、「Spring Frameworkに関する紹介と高度なチュートリアル」、「Hibernate Frameworkに関する紹介と高度なチュートリアル」をご覧ください。
この記事の説明が、Struts Frameworkに基づいた全員のJavaプログラミングに役立つことを願っています。