質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

1534閲覧

フレームワーク

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/06/20 16:05

編集2016/10/20 11:16

###前提・実現したいこと
現在プログラミングの練習でフレームワークを使っています。

作成するものは簡単なもので入力画面と出力画面のjspがあり、
データベースからSELECT処理にて値を取得し出力画面に表示させるものです。

###発生している問題・エラーメッセージ
ネット上で色々な実装をみたりテキストを見たのですが、
どういう流れでシステムが動くのか・・よく分からないのです。

流れがよくわからず、ActionForm Action, Entitiy, Daoを生成しましたがどう実装すればいいのか悩んでいます。
分かる方がいらっしゃいましたら教えていただけないでしょうか。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takyafumin

2016/06/21 01:24

「どういう流れでシステムが動くのか・・よく分からないのです。」の点は、ブラウザからサーブレットへデータが渡され、DBと連携(登録や参照)が行われてブラウザに返却されるまでの流れにActionFormやAction, Entity, Daoがどのように絡んでいるのか(連携して動作しているのか)という意味でしょうか?もう少しわからない点を具体的に記載できますか?
退会済みユーザー

退会済みユーザー

2016/06/21 03:11 編集

ご指摘どおり、『DBと連携(select処理)が行われてブラウザに返却されるまでの流れにActionFormやAction, Entity, Daoがどのように絡んでいるのか』が分からないのです。 入力画面で受け取った値をもとにどこでsqlを発行し、どういう流れで出力画面に渡すのか・・ 言葉足らずで申し訳ありません。
guest

回答1

0

過去に独学でseaser2を勉強したことがあるので、経験からご回答致します。
seasar2の構成はSAStruts+S2JDBCでしたが、構成の理解としてはほぼ変わらないかと思います。

MVCモデルの理解

「MVCモデル」への理解があるかどうか、でだいぶ理解度が変わってくると思いますので、MVCモデルについても事前に理解しておくとスムーズかと思います。

各機能への理解

Action, ActionForm, Service, Entityといった機能がそれぞれ「どのような役割を持つか」、「MVCモデルのどこの部分に属するのか」を整理するのが良いかと思います。

機能の説明は本家HPを見るとある程度説明がありますが、個人的には下記書籍が大変参考になりました。
他にも良書があるかもしれませんが、本屋で立ち読みしてみることをお勧めします。

各機能どうしの関係

Webで画像検索してみましたが、以下のページの図がわかりやすいように思えます。
各機能ごとの役割をもとにブラウザからのデータの流れに着目するとわかりやすいかと思います。

http://www.intra-mart.jp/download/product/iap/iap_introduction/texts/std_function/app_dev.html#id7

乱暴に書くと

ブラウザからのデータの流れを乱暴に書くと以下のようになりますかね。
本当はシーケンス図のように書けるともっとイメージしやすいかもしれません。

  • ブラウザ

Actionのメソッドにリクエスト送信

  • Actionのメソッド(ブラウザのパラメータはActionFormにセットされている)

ActionFormの値を適切に処理(入力チェックなど)
DB処理をServiceに委譲(ここでActionFormの値をEntityに詰め替えたり)
Serviceからの戻り値をActionFormへセット
JSPへフォワード

  • Service(DAO)のメソッド

受け取ったパラメータをEntityに詰め替え(ActionでEntityに詰め替えない場合)
DB処理の実行
DB処理の結果をActionへ返却

ActionFormはブラウザからのパラメータを受け取るDTO, EntityはDB処理用のDTO(Tableのデータ型にあわせた)ですね。

投稿2016/06/21 03:34

takyafumin

総合スコア2335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問