[検証実験]Webシステム開発の効率化を検証する
第2回 仕様変更とフレームワーク効果
データベースの準備 |
テーブルの構成は、以下のようになります。サンプルソースコードを展開してできた dbディレクトリに、参考のスクリプトがあります。適宜ご利用いただき、テーブル作成とデータ登録をしてください。
テーブル構成(クリックすると拡大します) |
■Forteで開発するための準備
ダウンロードしたサンプルコードをForte上で開発できるようにします。そのために、Forteの新規プロジェクトとして取り込みましょう。Windows環境の場合を例に取って説明します。
1 サンプルソースコードを展開してできたcalorieディレクトリを、Forteのプロジェクト用ディレクトリ(前回からの環境の例では F:\develop)にコピーします。
2 コピーしてできた calorieディレクトリ下の、<WEB-INF>-<lib>ディレクトリに、以下のファイルをコピーします。
・WDC 試用版ファイル(WDC_SE.jar)
・使用するデータベース用のJDBCドライバ
■Forteでの取り込み
Forteを起動し、準備したソースコードを取り込みます。
1 「プロジェクト」メニューから「プロジェクトマネージャ」を開き、新規プロジェクトを作成します。今回の例ではプロジェクト名はcalorieです。
2 新規プロジェクトが開かれ、[エクスプローラ]ウィンドウでは[ファイルシステム]タブの画面が表示されます。この画面のファイルシステムのところで右クリックし、「ディレクトリをマウント」を選びます(画面4)。
画面4 「ディレクトリをマウント」をクリック |
3 先ほど準備したcalorieディレクトリを選んでマウントします(画面5)。「Webモジュールをマウント」 というダイアログが表示されますので、「了解」をクリックします(画面6)。続けて「ファイルMainServlet.javaをサーブレットに変換できません」というダイアログが表示されますが、問題ありませんので「了解」をクリックします(画面7)。
画面5 「calorie」ディレクトリを選んでマウントする |
画面6 無視して「了解」をクリック |
画面7 無視して「了解」をクリック |
calorieディレクトリ以下を展開して表示すると、画面のようになります。この画面は、OracleのJDBCドライバclasses12.zipを使う場合の例です。
画面8 calorieディレクトリ下の構造 |
サンプルアプリケーションの構造 |
ここで、サンプルアプリケーションの構造について説明しましょう。WDCでアプリケーションを作る場合、基本的には次の4つの要素を作ります。
・サーブレットクラス | アプリケーションで1つだけ用意 |
・Queryクラス | アプリケーションの画面ごとに1セット用意 |
・Formクラス | |
・JSP |
今回のサンプルは3つの画面を持っていますので、Query、Form、JSPの3セットを持つことになります(図1)。
図1 サンプルアプリケーションの構造 |
それぞれの要素で、主に何を記述するかを説明します。
- サーブレットクラス
セッションを開始するための条件と、開始後に必要となる設定を記述します。
- Queryクラス
その画面で使うDBデータを取り込むための、SQL文を記述します。
- Formクラス
DBから取り込んだデータを表データとして保持しているので、それをWebの画面としてどう表示するかの設定と、データの値を使ったビジネスロジックを記述します。
- JSP
表示画面の内容を記述します。
図2 それぞれの要素が行うこと |
図2は、画面1のQuery、Form、JSPの関係です。画面1が表示され、ユーザーがメンバー登録するまでを例に取って、動きを見てみましょう。
- DBのデータが、Queryクラスの SQL文によって、Formクラスの表データオブジェクトに自動的に取り込まれます
- 表データの値はWeb入出力用オブジェクトを通してHTMLに変換され、JSPから呼び出されて、画面に表が表示されます
- ユーザーが新たにメンバー登録を行うと、入力フィールドの値はWeb入出力用オブジェクトを通して、表データを更新します
- 更新SQLが自動的に生成、実行され、更新された表データの値が、DBに反映されます
それぞれのソースについては、Forte上でご確認ください。JSPファイルは、マウントしたディレクトリ(今回の例では、F:\develop\calorie)の直下にあります。サーブレット、Query、Formの各ソースファイルは、<WEB-INF>-<クラス>以下を展開していくと、最後の<calorie>のところに表示されます。
2/4 |
INDEX |
||
[検証実験]Webシステム開発の効率化を検証 第2回 |
||
Page1 カロリー計算アプリケーション 環境を準備する |
||
Page2 データベースの準備 サンプルアプリケーションの構造 |
||
Page3 Webモジュールの生成と配備、実行 |
||
Page4 仕様変更に対応する |
||
Java Solution全記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|