この課題はJavaServlet基本文法の卒業課題です。
個々人でチャレンジしてください。

以前JavaSE基本文法の卒業課題で作成したような数当てゲームを作成しなさい。

なお、答えの数は乱数を使って、ユーザーごと(ブラウザごと)に別の答えを用意する。

また、0-99以外の整数値や文字列が入力された際のエラー処理は余裕があれば作成すること。

数当てゲームを作成してください。

1.リクエストスコープを使う

制約条件:

JSPに表示を担当させる(ファイル名:game1.jsp)

Servletに処理を担当させる(ファイル名:Game1.java)

コンピュータが生成する答え(乱数)はServletのインスタンス変数に持たせる

データの受け渡しはリクエストスコープを使う

問:このように、数当てゲームでは答えをServletのローカル変数ではなくインスタンス変数に持たせることが適切である。その理由を述べよ。

<出力例1:成功ケース>

<出力例2:もっと大きい>

<出力例3:もっと小さい>

2.セッションスコープを使う

上記1のプログラムにおいて答えをセッションスコープを通じてやり取りするように変更せよ。

制約条件:

JSPに表示を担当させる(ファイル名:game2.jsp)

Servletに処理を担当させる(ファイル名:Game2.java)

コンピュータが生成する答え(乱数)はServletのインスタンス変数に持たせる

データの受け渡しはセッションスコープを使う

問:このように答えをリクエストスコープまたはセッションスコープに保存することがゲームとしては一番適切である。その理由を述べよ。

3.アプリケーションスコープを使う

上記1のプログラムを答えをアプリケーションスコープを通じてやり取りするように変更せよ。

制約条件:

JSPに表示を担当させる(ファイル名:game3.jsp)

Servletに処理を担当させる(ファイル名:Game3.java)

コンピュータが生成する答え(乱数)はServletのインスタンス変数に持たせる

データの受け渡しはアプリケーションスコープを使う

問:このように答えをアプリケーションスコープに保存することはゲームとしてどのような不都合があるか?

JavaWebアプリケーションの問題集に戻る