585x22●JSP・BeansのMVアーキテクチャ(世界のナベアツ問題)
世界のナベアツ問題(FizzBuzz問題)の実装ーMVモデル
以下の仕様を実現するJavaアプリケーションを作成し、その処理ロジックをBean化してMVパターンのWebアプリケーションで実装してください。
ドキュメントルート(プロジェクト名)はfizzbuzzとしサーブレットクラス(urlパターン)はfbとします。
※動的Webプロジェクトで「fizzbuzz」プロジェクトを作成して実装してください。
【仕様】
入力された正の整数値の範囲にある数値を画面に表示するWebアプリケーションを作成します。
原則として範囲内の正の数字をそのまま出力します(0は正でも負でもないので何も表示しません)。
ただし、入力値が3の倍数の時は「ナベ」、5の倍数の時は「アツ」、3の倍数かつ5の倍数の時は「ナベアツ」と表示するようにします。
課題1. %演算子でプログラミングしてください。(これは簡単ですね!)
課題2. %演算子を使わずにプログラミングしてください。(配列を使う方法などいろいろあります!)
※まずは課題1.を実装してください
※課題2.はロジックを色々調べて実装してください
※エラー処理は、とりあえず抜きにしましょう
この問題は、実はFizzBuzz問題と言ってプログラミングの能力試験や研修時の演習問題などによく出題される課題です。
クラス図の例を提示しますので、これを参考にしてFizzBuzzBean.javaを作成し動きを確認してください。
FizzBuzzBeanのクラス図
-------------------------------------- //クラス名
FizzBuzzBean
-------------------------------------- //フィールド(プロパティ)
- startNum:int //開始の整数値
- endNum:int //終了の整数値
- resultHtml:String //結果のhtml形式
-------------------------------------- //メソッド
+ FizzBuzz() //コンストラクタ
+ execute():void //ロジック
+ setStartNum(startNum:String):void //セッター Webのリクエストは文字列のため
+ setEndNum(endNum:String):void //セッター Webのリクエストは文字列のため
+ getResultHtml():String //ゲッター
--------------------------------------
- private
+ public
【プロジェクトの作成】
新たにプロジェクトを作成します。プロジェクト名はfizzbuzzとします。
ファイルメニュー→新規→動的Webプロジェクト→プロジェクト名:fizzbuzz
→ターゲットランタイム:Tomcat(Java17)→動的Webモジュールバージョン:4.0→完了
※プロジェクトをTomcatサーバに追加するのを忘れないように!
【課題1】
①世界のナベアツ用JavaBeansクラスを作成します
fizzbuzzプロジェクトを右クリック→新規→クラス
パッケージ:jp.ict.aso.model
名前:FizzBuzzBean
ソースコード:考えましょう
②開始と終了の正数値を入力しBeanを実体化するJSPファイルを作成します
fizzbuzzプロジェクトを右クリック→新規→その他→Web→JSPファイル
保存場所:fizzbuzz/src/main/webapp/ ← ここに保存ですよ!
ファイル名:fizzBuzz.jsp
ソースコード:考えましょう
③Webアプリケーションを実行します
JSPファイル(fizzBuzz.jsp)を実行します!!
開始値:5685
終了値:5690 の結果の画面のスクショを提出してください。
(実行例)
【課題2】
FizzBuzzBean.javaを%演算子を使わないロジックに変更します。
ソースコードを提出してください!!!
【課題3】
エラー処理を加えてください。
1.数値しか入力できないようにします(jspで実装)
2.0が入力されると何も出力しません(Beanで実装)
3.開始値と終了値が逆転しているときは入れ替えます(Beanで実装)
ソースコードを提出してください!!!