81.EclipseによるJSP・BeansのMVアーキテクチャ(スロットマシン)
サーバでスロットマシンをシミュレートするWebアプリケーションをMVモデルで作成します。
BeanをJSPから直接参照します。
これまでのBeanはコンストラクタ引数で値を設定してインスタンス化し、コンストラクタ内で業務ロジックを処理する仕様にしていました。
JSPから直接Beanを呼び出す場合、引数指定のコンストラクタで実体化することはできません。
つまりBeanは引数無しのデフォルトコンストラクタを使ってインスタンス化し、Setterメソッドで値を設定して業務ロジックのメソッドを起動し、結果をgetterメソッドで受け取ることになります。
この時privateで宣言されたクラス変数をプロパティと呼び、set〇〇〇 get〇〇〇の〇〇〇はプロパティと名前が一致しなければなりません。
以下の仕様を実現するJavaアプリケーションを作成し、その処理ロジックをBean化してWebアプリケーションに適用させます。
【仕様】
3つの乱数を発生させて当たりを判定するスロットマシンを作成します。
プログラムの構成はMVアーキテクチャで実現すること。
(1)メッセージ表示
・3つの乱数を発生させそれぞれインスタンス変数に格納する
・3組揃いでVerryGood、2組揃いでGood、を表示する(ばらばらでは表示なし)
(2)持ち点対応
・掛け点、持ち点のインスタンス変数を用意する
・初期値で持ち点は10点、掛け点は1点とする
・3組揃いで掛け点の5倍を持ち点にプラス
・2組揃いで掛け点の2倍を持ち点にプラス
・ばらばらで掛け点を持ち点よりマイナス
・回転結果、掛け点、持ち点、メッセージ の順に表示する
・持ち点が0になるまでシミュレーションする
【スロットBean】クラス図
-------------------------------------- //クラス名
SlotBean
-------------------------------------- //フィールド(プロパティ)
- numA:int
- numB:int
- numC:int
- kaketen:int
- zanten:int
- mes:String
- matchi3:int //3つ合致で5倍
- matchi2:int //2つ合致で2倍
-------------------------------------- //メソッド
+ SlotBean() //コンストラクタ
+ slotRolling():void //ロジック
+ setKaketen(kaketen:int):void //セッター
+ setZanten(zanten:int):void //セッター
+ getNumA():int //ゲッター
+ getNumB():int //ゲッター
+ getNumC():int //ゲッター
+ getKaketen():int //ゲッター
+ getZanten():int //ゲッター
+ getMes():String //ゲッター
--------------------------------------
- private
+ public
【プロジェクトの作成】
新たにプロジェクトを作成します。プロジェクト名はslotとします。
ファイルメニュー→新規→動的Webプロジェクト→プロジェクト名:slot
→ターゲットランタイム:Tomcat(Java17)→動的Webモジュールバージョン:4.0→完了
※プロジェクトをTomcatサーバに追加するのを忘れないように!
1.スロットマシンWebアプリケーションの作成(MVモデル)
①スロットマシンロジック用JavaBeansクラスを作成します
slotプロジェクトを右クリック→新規→クラス
パッケージ:jp.ict.aso.model
名前:SlotBean
ソースコード:考えましょう
②スロットマシンの入出力画面用JSPファイルを作成します
slotプロジェクトを右クリック→新規→その他→Web→JSPファイル
保存場所:slot/src/main/webapp/ ← ここに保存ですよ!
ファイル名:slotMachine.jsp
ソースコード:
③Webアプリケーションを実行します
JSPファイル(slotMachine.jsp)を実行します!!