解答例の一部を公開していますが、 解答例へのアクセスには講習中にお知らせしたパスワードが必要です。
"My name is 〜."(〜は自分の名前)と出力するServletを作成せよ。 無名(デフォルト)パッケージに作成し、javacでコンパイルし http://localhost:8080/MyFirst/MyNameというURLで アクセスできるように、設定ファイルを書け。
上と同様のプログラムをhogeというパッケージに作成し、 javacでコンパイルし http://localhost:8080/MyFirst/MyName2というURLで アクセスできるように、設定ファイルを書け。
"My Birthday is 〜."(〜は自分の誕生日)と出力するJSPを作成せよ。
"Hello! "と100回出力するサーブレット or JSPを作成せよ。
できれば、
"Hello! (1回目) Hello! (2回目) … Hello! (100回目)"
のように表示してみよ。
赤から 緑までのグラデーションを 64階調程度で出力するサーブレット or JSPを作成せよ。
****************************************************************
アプリケーションルートのimagesディレクトリに、 1.png, 2.pngなどの名前で数字画像ファイルを用意して おいて、このアクセスカウンタや時刻表示 CGIで 1, 2, と表示する代わり に<img src='images/1.png'/>, <img src='images/2.png'/>などにしておくと、数字を画像で表示するアク セスカウンタができる。
数字を画像として表示するアクセスカウンタを作成せよ。
(正の)整数のパラメータnを受取り、Hello!(1回目), Hello!(2回目), ..., Hello(n 回目)とn回 Hello!を出力するサーブレット or JSPを作成せよ。
つまり、http://localhost:8080/…/NHello.jsp?12というパラメータ を渡されたときは、次のように出力する。
パラメータとしてファイル名を受取り、 そのファイルの内容をJavaのキーワード(public, void, classなど)に色をつけて表示するサーブレット or JSPを作成せよ。
補足: ある特定のフォルダ内のファイルだけ表示するようにして、 フォルダ外のファイルが表示されないように注意せよ。
特別なイベントの日(自分の??歳の誕生日、ワールドカップブラジル大会、 ロンドンオリンピック開幕など) を適当に決めて、パラメータとして日付をYYYYMMDDの形式で与えると イベントの日まであと何日かを表示するサーブレット or JSPを作成せよ。 (パラメータを与えなければ今日の日付を用いるようにせよ。)
ヒント: java.util.Calendarクラスを用いる。 Calendarクラスには差を求める直接のメソッドはないので、 getTimeInMillisメソッドを使ってその差を 1000*60*60*24で割る。
正規表現を用いて、HighLight.{java,jsp}でさらに、数値リテラルの部分、 文字列リテラルの部分、 コメントの部分などに色をつけて表示するサーブレット or JSPを作成せよ。
ヒント: java.util.regexパッケージのクラスを用いる。 あるいは、Stringクラスに正規表現を扱うメソッド (内部でjava.util.regexパッケージのクラスを使っている) があるので、それを用いる。
字句解析をするわけではないので、100%正確でなくても良い。 (コメントの内部や文字列リテラルの内部で間違っても良い。)
Quiz.javaを、 正解数だけではなくて、 どの問に対してどの選択肢を選んだか (間違っていたなら正解はどれだったか) までわかるように記録し、 その結果を「これで QUIZは終わりです。」のメッセージのあとに表示するようにせよ。
また、選択肢が3択だけとなっている制限を取り除き、問題ごとに選択肢の数 が変わっても構わないようにせよ。
ヒント: セッションに選択肢の記録を保存する。
どのようなデータ型が適切か?
配列(int[])は長さが決まってしまうのでふさわしくない。
ArrayListなど長さが可変なデータ型を使う必要がある。
次のようなオプションとその値段の情報のテキストファイルから
<html> <body> CPUを選んで下さい <br> <form method='post'> <input type='radio' name='answer' value='20000'> 3GHz 20000円 <input type='radio' name='answer' value='22000'> 3.2GHz 22000円 <input type='radio' name='answer' value='25000'> 3.4GHz 25000円 <br> <input type='submit' value='送る'> <input type='submit' value='キャンセル'> </form> </body> </html> |
ColorStore1 (同.zip)を参考に、 仮想熱帯魚ショップアプリケーション (実行例) を作成せよ。
ヒント: セッションに保存する「カート」はどのようなデータ型が適切か?
仮想讃岐塗ショップの場合は、色の順番を記録する必要があったので、
ArrayList<String>だったが、仮想熱帯魚ショップの場合、
魚の名前と匹数を記録する必要がある。
ColorStore3 (同.zip)の色情報データベースに 新しい色を追加するためのサーブレット or JSPを作成せよ。
仮想熱帯魚ショップアプリケーションを
ユーザーと熱帯魚の情報をDBから取得するように改造せよ。
仮想熱帯魚ショップアプリケーションを
サーブレットとJavaBeansとJSPを連係させて作成せよ。
ColorStore1 (同.zip) (またはColorStore3(同.zip)) の最後の作品をPNG形式で作成せよ。
X国ではpriceが単価15以上のものに対して10% の間接税がかかるという。 HSQLDBのテストデータの中の productテーブルのpriceは税抜の単価を示す ものとする。productテーブルの内容をX国での間接税を加えた値段を表に成形して 出力するServlet/JSPを作成せよ。
HSQLDBのテストデータの中の customerテーブルを利用して、顧客のイ ニシャルをQueryStringとして受け取り、そのイニシャルにマッチする 顧客の情報をテーブルとして表示するServlet/JSPを作成せよ。
Quizの情報をテキストファイルではなく、データベースから
獲得するServlet/JSPを作成せよ。
なお、データベースへのクエリの回数はできるだけ少ないこと(1つのセッションで1回)が望ましい。
参考にするプログラム: DBSelect.java,
次のようなオプションとその値段の情報をデータベース (SQLスクリプト)から獲得し、
<html> <body> CPUを選んで下さい <br> <form method='post'> <input type='radio' name='answer' value='20000'> 3GHz 20000円 <input type='radio' name='answer' value='22000'> 3.2GHz 22000円 <input type='radio' name='answer' value='25000'> 3.4GHz 25000円 <br> <input type='submit' value='送る'> <input type='submit' value='キャンセル'> </form> </body> </html> |
参考にするプログラム: Quiz.java, DBSelect.java,