エンタープライズ:特集 | 2003/08/01 12:50:00 更新 |
特集:第3回:WebSphereでサーブレットとJSP開発を始める (4/6)
「Javaエディタ」利用のコツ
「Javaエディタ」を利用する編集のコツを少しだけ紹介しよう。すでに定義されている変数名やクラス名などは、途中まで名前を入力したら「Ctl+space」を押すと一覧が表示される。そのため、この中から選択するだけで入力ができるのだ。これを「コンテンツアシスト」と呼んでいる。「import パッケージ名」なども同時に自動的に挿入されるため、とても使いやすいだろう。
コンパイル面だが、「Ctrl」+「S」キーを押すとファイルが保存され、その瞬間に自動でコンパイル実行される。この際コンパイルエラーがエディタ上に表示されるので、マウスを赤い「×」マークの上で止め、エラーメッセージを読んでから修正する、という作業を繰り返す。例外処理など、幾つかのエラーに関しては自動修正機能もあり、選択するだけで(たとえばthrows句を追加する)修正が可能だ。エラーを修正した場合、そのファイルを参照している別のソースコードのコンパイルエラーも自動解消される。
クラス変数にアクセスするアクセサ メソッド(setter、getter)を追加する作業は、どちらかというと退屈な作業だ。しかし、これも自動化が実現できる。Javaソースがエディタでオープンされている状態で「アウトライン」ビューを探し表示して、変数アイコンの上で右クリックしてから「GetterおよびSetterの生成」を選択する。生成したいアクセサをチェックして「OK」を押せば、すべてのアクセサが自動的に追加されるのだ。
コード記述を終えたらまずはローカル実行
ここまでの手順が行えたら、とりあえずローカル環境で実行テストをしよう。WebプロジェクトはJavaプロジェクトでもあるため、mainメソッドを持ったJavaプログラムをこのまま実行することができる。以下の手順で可能だ。
1. ワークベンチ左上にある「パースペクティブを開く」ボタンを押し、Javaを選択するとJavaパースペクティブが表示される。
2. コンソールビューを切り替えられるようにするため、デバッグビューを表示する。メニューで「ウィンドウ」−「ビューの表示」−「その他」を選択後、デバッグツリー下の「デバッグ」を選択し、「OK」をクリックする。左下辺りに配置しておくと使いやすいだろう。
3. パッケージエクスプローラ上でEmpList.javaを選択し、メニューから「実行」−「次を実行」−「Javaアプリケーション」を選択する(人が走っているマークのボタン脇にある、下向きの矢印アイコンでも同等に選択ができる)。
4. デバッグビューでEmpListを選択すると、実行結果が見られる。
Webアプリケーションに組み込む
EmpListの実行が確認できれば、Webアプリケーションに組み込む操作をしてみよう。この作業は、Webパースペクティブが使いやすい。まずは、社員を1人だけ表示するためのJSPを作ってみよう。
1. Web Contentの下に、「新規」で「EmpResult.jsp」という名称のJSPファイルを作成する(HTML/JSP専用エディタ「ページデザイナー」が表示される)。
2. 「Ctrl」+「A」キーを押して全選択し、削除キーを押していったんすべて消す。
3. メニューから「JSP」−「Beanの挿入」を選択し、ID「list」、クラス「yone.EmpList」、有効範囲「セッション」を指定して「OK」をクリックする。これは、JSPがサーバ内で実行される際に使われるオブジェクトだ。
4. 再度、メニューから「JSP」−「beanから結果を挿入」を選択し、ウィザードを開始する。
5. Beanの選択で「list:yone.EmpList」を選択し、「次へ」をクリック。
6. プロパティおよびメソッド結果表示で「選択なし」をクリックし、いったんチェックマークをすべて外す。さらに、getEmpolyee(String) と、その下のempno、name、ageにチェックマークを付けオンにする。右側にどのように表示されるかがサンプル表示される。もしラベル名を変更したければ、ツリー上で選択してからラベル値を変えればよい。「終了」をクリックすると、表示内容が追加される。
7. 「Ctrl」+「S」キーを押してファイルを保存したら、J2EEナビゲータでEmpResult.jspを右クリックし、「サーバーで実行」をクリックしてみよう。ここではエラーが表示されたはずだ。実はこれだけではうまく実行できず、なぜならば、このページはパラメータを要求するタイプなためだ。
8. JSPの中の「(=)list.getEm……」という表示部分をクリックし、左下の「属性」を表示させてみよう。そこには、結果を表示するためのJava表現が書かれている。この中に以下のような記述があるはずだ。
getParameter("getEmployee_java_lang_String__empno") |
これは、getEmployee_java_lang_String__empnoという名称のパラメータが、このページを呼び出すHTTPリクエストに含まれることを前提とする意味が書かれている。
9. エラーが表示されたブラウザURLの後に、次のような記述を追加してみよう。
? getEmployee_java_lang_String__empno=001 |
これで山田氏が表示されれば、アプリケーションが稼動したことが分かる。
[米持幸寿,ITmedia]