第1回:JSPによる入出力の基礎

Java2プログラミングの手始めとして何から手を付けたらよいのか分からない。そのように感じる人は多いかもしれない。この特集では、Tomcat上で動作させる単純なサンプルソースを挙げ、一から始めるJSPプログラミング入門をお送りしよう。

Javaラーニング特集記事「Tomcatで知るJSP/サーブレットの基礎」では、Tomcatの設定方法と、JSP・サーブレットのプログラムを配置して実際に動作させるという、おもに環境設定の手法を解説している。

一方、この特集「JSPプログラミング入門」では、Tomcatを基盤とした具体的なプログラミング手法に特化していく。手元に動作環境が無い場合には、ぜひ前述の特集で構築してから読むことをおすすめする。

この記事で解説する事項
1. 入力フォーム処理の基本
HTMLコード内に記述するためのFORMタグ記述の注意点など
2. JSPで入力フォームを解釈し出力する
test.jspを作成しメソッドの使い方を解説
3. JSPの標準オブジェクト概要
一覧で標準オブジェクトの役割を解説
4. JSP構文の基礎を知っておこう
最も基礎となるJSP記述のための構文を紹介

この特集「JSPプログラミング入門」の目的は、プログラミングついて深く追求していくことにある。そして、実際にTomcat上で動作するJSPのWebアプリケーションを、どのように作成すればよいのかを紹介することだ。第1回目は「JSPによる入出力の基礎」と題し、入出力方法をマスターする上で重要となる手法について解説していく。

第1回:JSPによる入出力の基礎

一般的に、Webアプリケーションは入力フォームを用い、ユーザーから何かしらの入力が行われ、その入力に応じてWebアプリケーションソフトが実際の処理に移る。その結果、ユーザーへ応答結果が返されるのが基本的な仕組みだ。第1回目から3回目までは、JSPはどのようにして入力フォームに入力されたデータを読み取るのか、そして、どのようにしてユーザーにデータを返すのかを解説する。

コラム:JSPアプリケーションを構築する準備
特集記事「Tomcatで知るJSP/サーブレットの基礎」で説明したように、Tomcatを使ってJSPのプログラムを動作させるためには、何らかのディレクトリを作成し、Tomcatに、そのディレクトリ情報を登録しなければならない。 JSPファイルなどを格納するディレクトリは、どのようなものでもよいが、この記事の中では「/home/jsptest」というディレクトリを仮定し、その中にHTMLファイルやJSPファイルなどのファイルを配置しよう。実行環境は、「Tomcatで知るJSP/サーブレットの基礎」で解説したRed Hat Linux 7.3+J2SE、Apache 1.3、Tomcat 4.1を基準とした。移行の解説は、あらかじめTomcat環境が構築されているものとして進めていく。

# mkdir /home/jsptest
# chown tomcat4.tomcat4 /home/jsptest

JSPの動作環境では、「TomcatでJSP/サーブレット実行環境を構築しよう」で解説したようにhttpアクセスが行われるディレクトリを用意する必要がある。この特集では、上記のように「/home/jsptest」ディレクトリをTomcatから参照させるため、/etc/tomcat4/(これは/var/tomcat4/confディレクトリへのシンボリックリンクである)内のserver.xmlファイル内の「<Host>〜</Host>」で囲まれた部分に、次のようなContextエレメントを追加する。

<Host …>
…中略…
<Context path="/jsptest" docBase="/home/jsptest" debug="0" reloadable="true"/>
</Host>

Tips:Administration Toolを使う際の注意
「Tomcatで知るJSP/サーブレットの基礎」にて解説をした「Administration Tool」を利用している場合には、直接「server.xml」ファイルを書き換えずにAdministration Toolから設定したほうがよい。直接server.xmlファイルを書き換えると、Administration Toolで行った設定を無効にしてしまう恐れがある。

現在の設定が最新になるよう、テスト実行の前にTomcatを再起動させておこう。

# /etc/rc.d/init.d/tomcat4 restart

 これにより、「http://[サーバー名]:8080/jsptest/」というURLで/home/jsptestディレクトリ内容がTomcatを通じて参照できるようになる。つまり、/home/jsptest/ディレクトリ下にJSPファイルを置けば、「http://[サーバー名]:8080/jsptest/[JSPファイル名]」のURL指定でJSPプログラムが実行できるわけだ。