banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[チュートリアル] MyEclipseを使用してStruts+hibernateフレームワークのプロジェクト開発を実現する方法

今日は、自分が MyEclipse を使用してソディカップ 50 強プロジェクトを開発する過程を共有します。これは、Java でオープンソースの SSH フレームワークを使用するチュートリアルです。プロジェクト全体は、CG が Spring についてまだあまり詳しくないため、Spring の部分は省略されていますが、CG は Spring を使用できる部分について簡単に説明します。CG 自身も初心者なので、もし何か間違っている部分や問題がある場合は、専門家の方々からの指摘を歓迎します。ここでお礼を申し上げます。

まず、基本的な環境を理解しましょう。Java: J2EE 5 SDK SUN が提供する Java ツールの大規模なパッケージ; IDE: MyEclipse 7 有名な Java IDE ツール; web: tomcat 6 JSP のサーバーサイドツール; DB: MySql5 これは皆さんが知っていると思いますが、無料のデータベースで、適切な JDBC ドライバをダウンロードする必要があります。 使用するフレームワーク:Struts1.2 + hibernate3

これらのツールは、Myeclipse 以外は無料ですので、皆さんはインターネットから無料でダウンロードできます。Myeclipse は使用方法を見つけることができると思いますので、ダウンロードが完了したらインストールし、必要に応じて設定して開始することができます。環境の設定についてまだよくわからない場合は、次の記事に注目してください。

それでは、正式に始めましょう。まず、Myeclipse 環境を開き、Web プロジェクトを作成します。File->New -Web Project をクリックし、名前を入力し、適切な J2EE バージョンを選択します。J2EE5 を使用することをお勧めします。JSTL を直接使用できます。

次に、Hibernate と Struts の機能をプロジェクトに追加します。新しく作成したプロジェクトを選択し、Eclipse のタイトルの MyEclipse の Project Capabilities -> Add Hibernate Capability をクリックします。

まず、Hibernate のライブラリを選択します。私は安定しているバージョンである Hibernate3 を選択しました。次に、Hibernate のライブラリを配置する場所を選択します。ローカルマシンでデバッグする場合は、ビルドパスに配置することができますが、提出やデプロイする場合は、第 2 のオプションを選択し、WEB-INF の lib フォルダにコピーすることをお勧めします。

次に、Hibernate の設定ファイルの場所を選択します。通常はデフォルトのままで構いませんので、次へをクリックします。

次に、データベースの接続設定を選択します。データ接続情報をすでに設定している場合は、直接選択してください。私はここで自分で設定した MySql を使用しています。

次に、Hibernate のセッションファクトリの場所を選択します。ソースコードの hibernate フォルダの下に配置することができます。リファクタリングが容易になるため、既存のものを選択するか、新しいものを作成するかを選択できます。最後に Finish をクリックして、Hibernate のサポートの設定が完了します。

次に、Struts のサポートを設定します。手順は Hibernate の設定と同じです。Project Capabilities -> Add Struts Capability を選択し、適切な Struts のバージョンを選択します。私は 1.2 を選択し、次にパッケージのパスを設定し、Finish をクリックします。Spring のサポートも必要な場合は、同様の手順ですが、ここでは省略します。

Struts + Hibernate の設定が完了したら、次は Hibernate のデータオブジェクトの設定です。Myeclipse は、データベースブラウザを提供してくれるので、便利です。まず、DB ブラウザを開き、設定したデータベース接続を開きます。接続がまだない場合は、新しく作成して、ドライバと接続文字列を入力してください。DB ブラウザは、Window->show View で見つけることができます。ない場合は、others の下にあります。生成するテーブルを選択します。

次に、右クリックして Hibernate Reverse Engineering を選択します。このオプションについてのウィザードが表示されます。

自分のプロジェクトの SRC パスとパッケージ名を設定し、下の DAO の作成オプションを選択します。データテーブルの制約が問題なければ、直接 Finish をクリックしてください。そうすると、SRC に対応する DAO ファイルが生成されます。

次は、Struts の詳細な設定です。表示層の機能を実装します。CG の MyEclipse は、FreeMaker プラグインを自動的に統合しているため、直接使用できます。Web-Inf の Struts-config.XML ファイルを開き、デザインビューに移動し、必要に応じて Action、FormBean、Jsp などを作成します。以下は、CG の最終的な効果のスクリーンショットです。

合計 4 つの JSP ページがあります。editor は Form を持つ JSP です。1 つの Action、GlobalAction クラスがすべてのアクション処理を完了します。グローバルリダイレクトはエラー処理に使用されます。

次に、フロントエンドのデザインを行います。自分のページをデザインしてください。このチュートリアルのソースコードは、CG の記事で見つけることができますので、参考にしてください。ここでは詳細に説明しません。

次に、ビジネスロジックの JavaBean オブジェクトと関連するテーブルの Service クラスを作成します。下位レベルのデータテーブル DAO オブジェクトの読み取り、変更などの操作を行い、これらの操作を組み合わせて完全なテーブルサービスクラスを作成します。これは、上位レベルの Action から DAO を分離するためのものです。CG は、単一のテーブルに対して個別のサービスクラスを作成するだけでなく、複数のテーブル間のクエリに使用する SpanTableService というクラスも作成しています。インターフェースと実装クラスの方式を使用することをお勧めします。複数のインターフェースを継承する方式を使用すると、複数のテーブルの実装クラスを個別に実装する必要がなくなります。具体的なファイルリストは以下のようになります。

以下は、主要な実装クラスである Student の一部のコードのスクリーンショットです。他のテーブルも基本的に同じです。

さて、ビジネスロジックはほぼ完成しました。ここで注意しておきたいのは、DAO オブジェクトの作成をより簡単にするために、CG は DAOProvider という静的クラスを作成しました。これらは util パッケージに配置されています。また、表示層の Action で Service オブジェクトを提供するために、CG は ServiceProvider という提供クラスも作成しました。Spring を使用している場合は、Spring にオブジェクトを生成させることを検討してください。ここでは Spring がないので、Provider を使用するしかありません。単純なデモなので、オブジェクトを直接返すだけで十分です。DAO リストを XML で設定することも検討してください。ここでは詳細は説明しません。具体的なコードのスクリーンショットは以下のようになります。

さて、ビジネスロジックはほぼ完成しました。次は最も重要なクラス、GlobalAction です。これは、ユーザーのリクエストと処理を扱うクラスです。CG は Dispatch クラスを使用しています。リクエストのパラメータに基づいて異なるアクションを処理します。適切な処理が完了したら、適切なリダイレクトを選択します。以下は、学生リストのコードのスクリーンショットです。

ビジネスロジックはほぼ完成しましたので、次は表示層に戻ります。ここでは、関連する動的に生成されたデータを処理する必要があります。Struts を使用している場合は、Struts のタグの使用方法です。以下は、すべての stu Bean の関連するプロパティを反復処理し、出力するコードのスクリーンショットです。

これらの作業が完了したら、すぐにデバッグを開始しないでください。まだいくつかの設定が必要です。EncoderFilter を設定します。JSP を学んだことがある方は、これを使用したことがあるかもしれませんが、ここで説明します。CG は設定を間違えたため、かなりの時間を無駄にしました。encoderFillter クラスのソースコードは、Util パッケージの下にあります。以下は、コードのスクリーンショットです。Servlet を extends HttpServlet implements Filter にすることを忘れないでください。

次に、WEB-INF の web.xml ファイルでこの Filter を設定します。以下は、スクリーンショットです。

最後に、EL 式を使用する場合は、web.xml に以下のコードを設定すると便利です。これにより、各ページで <%@ page isELIgnored="false" %> を記述する必要がなくなります。

ここまで来たら、デバッグを開始する準備が整いました。tomcat を起動し、プロジェクトをデプロイしてください。CG のソディタスクも完了しました。開発プロセスを共有しましたので、ご参考までに。何か質問があれば、コメントを残してください。ソースコードのダウンロードリンクは以下です。

http://www.lidaren.com/code/SodiDemo.zip

実行結果は、CG の最新の記事を参照してください。コメントや指摘をお待ちしています。CG からの感謝の気持ちをここで表明します。

李大仁のブログのオリジナル記事です。転載は自由ですが、引用元が李大仁のブログであることを明記してください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。