Struts 2チュートリアル–初心者向けのワンストップソリューション



Struts 2チュートリアルに関するこの記事は、コードのデモンストレーションとともにJ2EEWebアプリケーションを開発するためのStruts2フレームワークの使用を開始するのに役立ちます。

あなたが探しているなら これは、JEE Webアプリケーションを迅速かつ効率的に開発するのに役立ちます。その場合、Struts2は最適なソリューションです。 Struts 2は、市場で頻繁に使用されているオープンソースフレームワークです。このStruts2チュートリアルを通じて、実際の実装とともにそれを開始するのを手伝います。

以下は、このStrutsチュートリアルで説明するトピックです。





Strutsとは何ですか?

素人の言葉で言えば、Strutsは J2EEでのWebアプリケーションの開発に役立つベースのオープンソースフレームワーク。それ拡張します モデル、ビュー、コントローラーを宣伝します( MVC ) 建築。これにより、Webアプリケーションは次のような標準テクノロジで開発されます。JSP、JavaBeans、およびXMLは、より保守しやすく、拡張可能で、柔軟性があります。

StrutsFrameworkは当初CraigMcClanahanによって開発され、2000年5月にApache Foundationに引き渡されました。徐々に、2005年にトップレベルのApacheプロジェクトの位置を獲得し、2007年2月に置き換えられました。 Struts 2



StrutsフレームワークはMVC(Model-View-Controller)設計パラダイム。その主な目的は、アプリケーションのビューとコントローラーからモデルを分離して、依存関係を減らし、関心の分離(SoC)を促進することでした。つまり、主にデータベースと通信するアプリケーションロジックを分離するのに役立ちましたから ユーザーがアプリケーションやインスタンスと対話するために使用し、モデルとビューの間で情報をやり取りするのに役立ちます。

Struts2の機能

  1. POJOベースのフォームとアクション Strutsのアクションクラスは、アプリケーションのコントローラーとして扱われます。これらは、ユーザーアクションへの応答、ビジネスロジックの実行、およびレンダリングする必要のあるビューを含む結果の返送を担当します。 Modelクラスとしても機能します。
  2. 改善されたタグとカスタマイズ: Struts 2には、UIタグ、コントロールタグ、データタグなど、アプリケーション開発を支援するさまざまなタイプのタグが導入されています。
  3. AJAX機能: Struts 2は、非同期リクエストの生成に通常使用されるajaxテクノロジーをサポートしています。必要なフィールドデータのみをサーバーに送信することで、アプリケーションのパフォーマンスを向上させます。
  4. 簡単な統合: 次のような他のWebフレームワークとの簡単な統合を提供します。 、DWR、SiteMeshおよびTiles。
  5. 最小限の構成: Struts 2アプリケーションを使用している間、オーバーヘッド構成は必要ありません。偏差がない限り、ほとんどの設定がデフォルト値をとる最小限の構成で機能します。
  6. ビューテクノロジーの統合: Struts2を使用すると、XSLT、JSP、Freemarker、velocityなどのさまざまなビューテクノロジーと簡単に統合できます。
  7. テーマとテンプレート: Struts 2は、次の3種類のテーマをサポートします。
    1. Xhtml
    2. シンプル
    3. Css_xhtml

ここで、XHTMLはStruts 2のデフォルトのテーマであり、主に一般的なルックアンドフィールに使用されます。

Strutsとそのさまざまな機能について理解したところで、このStrutsチュートリアルの記事に進み、そのアーキテクチャについて学びましょう。



建築

Strutsアーキテクチャ-Struts2チュートリアル-Edureka上の図でわかるように、Strutsは高レベルを使用しています MVCアーキテクチャ 。ここでは、Struts2ディスパッチサーブレットフィルターを使用してコントローラーを実装し、アクションを使用してモデルを実装し、ビューは結果タイプと結果を組み合わせて実装します。このアーキテクチャでは、共通のスレッド、リンク、および他のコンポーネントとの統合が、値スタックとOGNLによって有効になります。これに加えて、アクション、インターセプター、結果などとともにWebアプリケーションの構成も、多くの情報のチャネリングに役立ちます。

ここで、ユーザーが生成したリクエストのライフサイクルにおける完全なワークフローについて説明します。以下に、Strutsがどのように機能するかをよりよく理解するために、ステップバイステップのワークフローをリストしました。

  • これは、リソースを要求するためにサーバーに送信されるユーザー要求から始まります。
  • 次に、この要求はFilter Dispatcherによって処理され、適切なアクションが決定されます。
  • さらに、適切に構成されたインターセプター機能が、検証、ファイルアップロードなどのリクエストに適用されます。
  • 選択したアクションが決定され、要求された操作に基づいて実行されます。
  • 後処理が必要な場合は、構成済みのインターセプターが呼び出されます。
  • 最終的に、結果はビューによって提供され、ユーザーに返されます。

これにより、Strutsアプリケーション内のワークフローがクリアされることを願っています。このStruts2チュートリアルの次のセクションで、Strutsの使用を開始するためにシステムに必要なものをすべて見てみましょう。

環境設定

以下に、Struts2を使い始めるための基本的な必需品をリストアップしました。

  • Tomcat
    システムにTomcatがない場合は、次のWebサイトにアクセスできます。 ここに 無料ダウンロード。
  • IDE(できればEclipse)
    最後に、あなたはあなたが必要です Eclipse IDE アプリケーション開発用。

完了したら、Strutsで足を濡らす準備ができています。このStruts2チュートリアルの次のセクションでは、Struts2の基本的な概念について簡単に説明します。

基本的な概念

1.構成

どのStrutsアプリケーションにも、2つの主要な構成ファイルがあります。

  1. struts.xmlファイル: このファイルには、アクションとして変更される構成。これは主に、アプリケーションのデフォルト設定を上書きするために使用されます。このファイルは通常、StrutsプロジェクトのWEB-INF / classesディレクトリ内に作成されます。
  2. struts.propertiesファイル: このファイルは、フレームワークの動作を変更できるメカニズムを提供します。以来フレームワークは、要件に応じて変更できるいくつかのプロパティを利用します。

2.アクション

アクションまたはアクションクラスは、MVCパターンのコントローラーとして機能するため、Struts2アプリケーションのコアコンセプトです。つまり、アクションクラスには、データの処理に役立つビジネスロジックが含まれています。これ以外に、アクションクラスも責任を負いますユーザーの要求に応答し、ビジネスロジックを実行します。また、フレームワークが構成ファイル(struts.xml)に基づいて結果を決定して返し、ビューページをレンダリングするためにユーザーに返すのにも役立ちます。

Stuts2アクションクラスは本質的にシングルトンではありません。つまり、このクラスの1つのインスタンスがリクエストごとに作成されます。したがって、スレッドセーフである必要はなく、シンプルで独立しています。これにより、これらのクラスのテストがはるかに簡単になります。

アクションファイルは、次の3つの方法で作成できます。

  • シンプルアクションクラス
    任意の具象JavaクラスをStruts2アクションクラスとして使用できますが、唯一の要件は、クラスに文字列の戻り値の型を持つexecute()メソッドが含まれている必要があることです。以下は、単純なアクションクラスを作成するためのコードです。
パッケージcom.edureka.struts2.actionpublic class DemoAction {public String execute(){return 'ようこそ!' }}
  • アクションインターフェースの実装
    Struts 2 Actionクラスは、com.opensymphony.xwork2.Actionインターフェースを実装することによって作成することもできます。これには、実装クラスによって実装する必要がある単一のメソッド、つまりexecute()が含まれています。このインターフェースを実装することにより、結果ページに使用できるSUCCESS、ERROR、NONE、INPUT、LOGINなどのいくつかの定数を利用できます。
    以下のコードは、同じ例を示しています。
パッケージcom.edureka.struts2.actionimport com.opensymphony.xwork2.Action public class DemoActionimplements Action {public String execute(){return SUCCESS}}
  • ActionSupportクラスの拡張

Struts 2のアクションクラスは通常、アクションインターフェイスのデフォルトの実装であるアクションサポートクラスを拡張します。これは、データ検証、アクションレベルのメッセージ、アクションレベルのエラーメッセージ、フィールドレベルのエラーメッセージ、バンドルされたリソースの読み取りなど、Webアプリケーション開発に不可欠なさまざまな機能を提供します。

以下は同じものの実装です:

パッケージcom.edureka.struts2.actionimport com.opensymphony.xwork2.ActionSupport public class DemoAction extends ActionSupport {@Override public String execute()throws Exception {return SUCCESS}}

3.インターセプター

インターセプターは、Struts2フレームワークの主要な柱の1つとして機能します。それはただの物ですこれは、リクエストの前処理および後処理中に呼び出されます。これは、要求と応答のサイクルのスムーズな移行を制御および維持するのに役立ちます。

インターセプターを使用する主な利点は、プラグインできることです。私が言いたいのは、あなたがもはやのような特定の懸念の使用を持っていない場合に備えて検証、例外処理、ロギングなど、再デプロイせずにアプリケーションから簡単に削除できます。このために必要なのは、struts.xmlファイルからエントリを削除することだけです。

Struts2フレームワークは、以下の表にリストした、事前定義されたインターセプターと一般的なインターセプタースタックの包括的なセットを提供します。

インターセプター 説明
エイリアス これにより、パラメータはユーザーリクエスト間で異なる名前エイリアスを持つことができます
チェックボックス これは、チェックボックスがチェックされていない場合にfalseのパラメータ値を追加することにより、チェックボックスの管理に役立ちます
ConversionError これにより、文字列からパラメータタイプへの変換からのエラー情報がアクションのフィールドエラー内に配置されます
createSession これにより、HTTPセッションが存在しない場合に備えて、暗黙的にHTTPセッションが作成されます。
デバッグ これにより、開発者にさまざまなデバッグ画面が提供されます
execAndWait これにより、アクションがバックグラウンドで実行されているときに、ユーザーが中間待機ページに移動します。
例外 これは、アクションから結果に向かってスローされる例外をマップします
fileUpload これにより、Struts2でのファイルのアップロードが容易になります。
i18n これは、ユーザーのセッション中に指定されたロケールを追跡するのに役立ちます
ログ これにより、実行中のアクションの名前として出力が生成されるため、ユーザーに簡単なログが提供されます。
パラメータ これは、アクションのリクエストパラメータを設定するのに役立ちます
準備する これは前処理作業を実行するために使用されます
プロフィール これにより、アクションをログに記録するための簡単なプロファイリング情報が可能になります。
範囲 これにより、ユーザーセッションまたはアプリケーションスコープ中のアクションの状態が保存および取得されます
ServletConfig これにより、アクションがさまざまなサーブレットベースの情報にアクセスできるようになります
タイマー これにより、簡単なプロファイリング情報が提供されます
トークン これは、フォームの重複送信を防ぐために、有効なトークンのアクションをチェックするのに役立ちます
検証 これにより、さまざまなアクションの検証サポートが提供されます

4.バリュースタック

ValueStackStruts2で は、リクエストを処理するためにアプリケーション全体のデータが保存されるストレージ領域です。このデータは、ActionContextを利用するオブジェクトThreadLocal特定のクライアント要求スレッドに固有の値を取得するため。

5.OGNL

OGNLはObject-GraphNavigationLanguageの略です。これはJSPによく似た強力な表現言語であり、主にValueStackに存在するデータの参照と操作。さらに、データの種類の転送と変換にも役立ちます。

JSPと同様に、OGNLにはアプリケーションコンテキスト内にルートオブジェクトが含まれています。したがって、マークアップ表記を使用してデフォルトオブジェクトの参照を提供できます。この場合、ポンド記号を使用して示されます。 Struts 2フレームワークは、ActionContextマップを構築することでOGNLを実装します。以下に、ActionContextマップのコンポーネントをリストしました。

  • 応用
  • セッション
  • バリュースタック
  • リクエスト
  • パラメーター
  • 属性

これで、Struts 2の基本を理解できました。このStruts 2の記事の次のセクションでは、コードに直接ジャンプして、これまでに学んだことをすべて実装します。

Javaでの単純なハッシュマップの実装

Struts2チュートリアルデモ

ここでは、名前を入力する必要がある簡単なアプリケーションを作成します。アプリケーションがあなたを歓迎します。以下は、完全なプロジェクト構造のスクリーンショットです。

ご覧のとおり、このプロジェクトでは、次の5つのファイルを作成します。

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

注:このプロジェクトを開始する前に、Tomcatがシステムにインストールされていることを確認してください。

ステップI: Eclipseで、「ファイル」>「新規」>「動的Webプロジェクト」に移動します。プロジェクト名を入力し、[新しいランタイム]をクリックします。

ステップII: ここで、システムにダウンロードしたApache Tomcatのバージョンを選択し、[次へ]をクリックする必要があります。

ステップIII: 次に、[参照]をクリックして、Tomcatの依存関係が保存されているディレクトリに移動します。完了したら、[完了]をクリックして、プロジェクトの作成に進みます。

ステップIV: ここで、このプロジェクトを正常に実行するために必要なStrutsjarファイルを追加しましょう。 JARはからダウンロードできます ここに 。 JARファイルの準備ができたら、JARをコピーして、WebContent> WEB-INF> libの下に貼り付けます。

ステップV: すべての構成の準備ができたので、HelloWorld.javaから始めてコードファイルをセットアップしましょう。これを行うには、プロジェクト>新規>クラスを右クリックします。パッケージとクラス名を入力し、[完了]をクリックします。

ステップVI: 以下のコードを HelloWorld.java ファイル。

パッケージcom.edurekapublic class HelloWorld {private String name public String getName(){return name} public void setName(String name){this.name = name} public String execute(){return'success '}}

ステップVII: 次に、新しいを作成します index.jsp WebContentの下にファイルを作成し、次のコードを入力します。

 

ステップVIII: 今、再び新しいを作成します welcome.jsp WebContentの下にファイルを作成し、次のコードを入力します。

ようこそ:

ステップIX: 次に、WebContent> WEB-INFに移動し、以下のコードを入力します。 web.xml ファイル。

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

ステップX: 最後に、[Javaリソース]> [src]で、 struts.xml ファイル

welcome.jsp

ステップXI: 今すぐに行きます index.jsp ページを右クリックします。 [サーバーで実行]を選択して、アプリケーションを実行します。

これで、Struts2チュートリアルに関するこの記事は終わりです。 Javaについて詳しく知りたい場合は、 。

Struts 2チュートリアルとは何かを理解したので、 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。

質問がありますか?この「Struts2チュートリアル」の記事のコメントセクションにその旨を記載してください。できるだけ早くご連絡いたします。