Struts は、Tomcat、Turbine、その他多くの Apache プロジェクトと同様、オープン ソース ソフトウェアであり、これが大きな利点の 1 つです。開発者がその内部実装メカニズムをより深く理解できるようにします。 Struts オープン ソース フレームワークは、開発者が Java Servlet および JavaServer Pages (JSP) テクノロジに基づいて Web アプリケーションを簡単に構築できるようにするために作成されました。 Struts フレームワークは、開発者に統一された標準フレームワークを提供し、Struts を基盤として使用することで、開発者はアプリケーションのビジネス ロジックにさらに集中できます。
#Struts フレームワーク自体は、JavaServlet および JavaServerPages テクノロジを使用した Model-View-Controller (MVC) 実装です。
Struts の利点は次のとおりです:
1. MVC パターンを実装し、明確な構造を持つため、開発者はビジネス ロジックの実装のみに集中できます。 .2. 使用できるタグは豊富で、Strutsのタグライブラリ(Taglib)を柔軟に活用できれば開発効率が大幅に向上します。また、国内の JSP 開発者に関しては、JSP に付属の共通タグを使用するだけでなく、独自のタグを開発することはほとんどないため、Struts から始めるのがよいでしょう。 3. ページ ナビゲーション. ページ ナビゲーションは将来の開発の方向性となり、実際、そうすることでシステムのコンテキストがより明確になります。設定ファイルを通じてシステム全体の各部のつながりを把握することができ、後のメンテナンスに非常に役立ちます。この利点は、別の開発者グループがプロジェクトを引き継ぐ場合にさらに明らかになります。 4. 例外処理メカニズムを提供します。5. データベース接続プールの管理6. I18Nをサポートします。欠点:
1. 表示層に行くときは、転送を設定する必要があります。表示層に行くたびに、ほとんどが直接 JSP に行くと思います。リダイレクトに関しては、転送を設定する必要があります。表示レイヤーが 10 個ある場合。jsp は struts を 10 回構成する必要がありますが、これには、forward の再変更が必要となるディレクトリおよびファイルの変更は含まれていません。構成が変更されるたびに、プロジェクト全体を次のようにする必要があることに注意してください。 tomcate のようなサーバーの場合はサーバーの再起動が必要になるなど、業務が複雑かつ頻繁なシステムに変化する場合、このような作業は想像を絶します。何十人、何百人が同時にオンラインで当社のシステムを使用しています。私がどれほど困っているかご想像いただけると思います。 2. Struts アクションはスレッドセーフである必要があり、1 つのインスタンスのみがすべてのリクエストを処理できます。したがって、アクションで使用されるすべてのリソースを均一に同期する必要があり、これによりスレッド セーフティの問題が発生します。 3. テストが不便 Struts の各アクションは Web 層と結合しているため、テストが Web コンテナに依存しており、単体テストの実装も困難です。ただし、単体テストを実装できる Junit 拡張ツール Struts TestCase があります。 4. 型変換. Struts の FormBean はすべてのデータを String 型として扱い、型変換にツール Commons-Beanutils を使用できます。ただし、その変換はすべてクラス レベルで行われ、変換タイプは構成できません。型変換中にエラー メッセージをユーザーに返すことも非常に困難です。 5. サーブレットへの依存度が高すぎる Struts は、Action を処理するときに ServletRequest と ServletResponse に依存する必要があるため、Servlet コンテナを取り除くことができません。 6. フロントエンドの表現言語について Struts は JSTL を統合しているため、主に JSTL 表現言語を使用してデータを取得します。ただし、JSTL の式言語は、コレクションとインデックスのプロパティの処理が非常に弱いです。 7. アクションの実行を制御するのは難しい Struts でアクションを作成する場合、その実行順序を制御するのは非常に困難です。機能要件を実現するには、サーブレットを書き直す必要がある場合もあります。 8. アクション実行前後の処理 Struts はアクションを処理する際、クラス階層に基づいて処理を行うため、アクション処理前後の操作が困難です。 9. イベントのサポートが不十分です。Struts では、フォームは実際に Action クラス (または DispatchAction) に対応します。つまり、Struts では、フォームは実際に 1 つのイベントにのみ対応します。Struts このイベント メソッドは、アプリケーション イベントは、コンポーネント イベントと比較して粒度の粗いイベントです。 Struts の重要なフォーム オブジェクト ActionForm は、アプリケーションを表すオブジェクトです。このオブジェクトには、少なくとも複数のフィールドが含まれています。フォームはイベントに対応するため、これらのフィールドは Jsp ページ フォームの入力フィールドです。したがって、フォーム内のこれらのフィールドに対してイベントの粒度を細かくする必要がある、つまり 1 つのフィールドがイベントに対応する場合、単純に Struts を使用することは不可能ですが、もちろん JavaScript を組み合わせることで実現できます。以上がJavaの構造体ってどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。