001.EclipseによるWebアプリケーション開発(ランダムウォーク)

001.EclipseによるWebアプリケーション開発(ランダムウォーク)


ランダムウォークのシミュレーションを行うWebアプリケーションをMVCモデルで作成します

ドキュメントルート(プロジェクト名)はlibconとしサーブレットクラス(urlパターン)はWalkとします。
よって接続urlはhttp://localhost:8080/libcon/Walkとなります。

●Eclipseの環境設定(最初に1回だけ)

(外観をライトに設定)
ウィンドウメニュー → 設定 → 一般 → 外観 → ライト → 適用して閉じる → 再起動がかかります

(JSPの文法エラーを表示)
ウィンドウメニュー → 設定 → 検証 → JSPコンテンツ・バリデーター → チェック
                  → JSP構文バリデーター → チェック → 適用して閉じる

(実行結果の出力を内部ブラウザに変更)
ウィンドウメニュー → 設定 → 一般 → Webブラウザ → 内部ブラウザを使用 → 適用して閉じる


●Eclipseの開発準備

【プロジェクトの作成】
新たにプロジェクトを作成します。プロジェクト名はlibconとします。

(作成方法)
ファイルメニュー → 新規 → 動的Webプロジェクト → プロジェクト名:libcon
→ ターゲットランタイム:Tomcat9(Java17)→ 動的Webモジュールバージョン:4.0 → 完了


【ランダムウォークの仕様
以下の条件のシミュレーションを行います。
(条件)
  • コイントスを行います
  • 表がでたら100円もらえる
  • 裏がでたら100円取られる
  • 10万回の試行でコインを投げた時の期待値(予想金額)を計算する

【Beanの仕様】
(仕様)
  • 0か1の乱数を発生させる → int ran=new java.util.Random().nextInt(2);
  • 乱数値が0ならば期待値変数に100を加える
  • 乱数値が1ならば期待値変数から100を引く
  • 入力された試行回数繰り返し期待値を表示する
(実装)
  • Beanのpackage名は jp.ict.aso.model とします
  • 作成するクラスはSerializableインターフェースを実装します
  • 変数はprivate宣言します
  • 引数なしのコンストラクタを実装します
  • 適切な引数を与えるコンストラクタを実装し、引数はインスタンス変数に格納します
  • 処理ロジックを実装します、このとき処理結果はインスタンス変数に格納します
  • setterメソッドを実装します 
  • getterメソッドを実装します  


●ランダムウォークWebアプリケーションの内部設計(MVCモデル)

【ランダムウォークモデル



【ランダムウォーククラス図


●ランダムウォークWebアプリケーションの作成(MVCモデル)

①ランダムウォークロジック用JavaBeansクラスを作成します
     libconプロジェクトを右クリック→新規→クラス
            パッケージ:jp.ict.aso.model
            名前:RandomWalkBean

            ソースコード:考えましょう!(コードを保存すると自動的にコンパイルされます)


            

②リクエストコントロール用Servletクラスを作成します
     libconプロジェクトを右クリック→新規→その他→Web→サーブレット
            パッケージ:jp.ict.aso.controller
            クラス名:RandomWalkServlet

            チェック項目:

           
            ソースコード:アノテーションは/Walk ※import文は短縮しています
                        ※不必要なコメントは削除しています




③試行回数を入力するJSPファイルを作成します
     libconプロジェクトを右クリック→新規→その他→Web→JSPファイル
            保存場所:libcon/src/main/webapp/WEB-INF/jsp
            ファイル名:randomWalkForm.jsp


            ソースコード



④試行結果を表示するJSPファイルを作成します
     libconプロジェクトを右クリック→新規→その他→Web→JSPファイル
            保存場所:libcon/src/main/webapp/WEB-INF/jsp
            ファイル名:randomWalkResult.jsp


            ソースコード




⑤Webアプリケーションを実行します
サーブレットクラス(RandomWalkServlet.java)を右クリックしてサーバで実行します!!

Tomcat9_Java17を選択 → このプロジェクトを実行するときは常にこのサーバを使用 → チェック
→ 次へ

右側の構成済みペインにlibconがあることを確認 → 完了

⑥実行結果をスクショして報告します(内部ブラウザの出力でも大丈夫です!)



課題
10万回のランダムウォークの試行を5回行って結果の期待値がどのように変るのかを表示するようプログラムを変更してください。
※出力結果は以下のスクリーンショットのように実装すること

うまくいったらスクショで報告です!