NetBeansでサーブレットを作る
では、実際にサーブレットを作成してみましょう。まずは、NetBeans 5.0からです。NetBeansの場合、サーブレットの作成は非常に簡単です。Webアプリケーションのプロジェクトを作成すると、自動的にweb.xmlは作成されますし、サーブレットを作るための専用機能もあらかじめ用意されていますから。
まず、<ファイル><新規ファイル>メニューを選び、新規ファイル作成のウィザードを呼び出しましょう。そして、「Web」カテゴリを選択し、その中にある「サーブレット」を選んで次へ進みます。
新規ファイルで「サーブレット」を選ぶ。 |
続いて、クラス名を入力します。ここでは、パッケージ名に「jp.tuyano」、そしてクラス名に「NewServlet」と入力します。場所や作成されるファイルはそのままにしておきます。
クラスメイトパッケージを入力。 |
最後に、web.xmlへの設定情報を記述します。「配備記述子に情報を記述」をONにし、サーブレット名「NewServlet」、URLパターン「/NewServlet」と記します。これで、http://[Webアプリケーション]/NewServletというURLで作成したサーブレットにアクセスできるようになります。
サーブレットのURLパターンを指定する。 |
作成すると、プロジェクトのソースパッケージ内に「NewServlet.java」というソースコードファイルが作成されます。これが、サーブレットのクラスのソースコードです。このNewServletクラスを修正して記述することで、サーブレットが作成できます。
また、後で実際に見てみますが、作成した際に自動的にweb.xmlが更新され、NewServletを利用するための情報が追記されているはずです。要するに、「web.xmlをどうするか」なんて、NetBeansでは全く考えなくていいのです。これは、ビギナーのうちは便利ですね。
もう1つ、Eclipseでのサーブレット作成についても触れておきましょう。一般的なEclipse + Tomcatプラグインといった環境の場合、サーブレットやweb.xmlを作成するための特別な機能は全く用意されていません。したがって、サーブレットは普通の「Javaクラス」として、web.xmlは普通の「テキストファイル」として、それぞれ新規にファイルを作成してやる必要があります。
WEB-INFについて
NetBeans、Eclipseなど開発環境に関係なく、共通して理解しておくべきことは、それぞれのファイルの配置場所です。サーブレットのクラスファイルもweb.xmlファイルも、いずれもWebアプリケーション内の「WEB-INF」というフォルダの中に入れておかなければいけません。
この「WEB-INF」は、既にJSPを使ったWebアプリケーションのプロジェクトのときから用意されていたはずです。これを見て、「なんに使うんだろう?」と思っていた人もいたことでしょう。この「WEB-INF」は、web.xmlのようにWebアプリケーションに関する各種の情報を保管したファイルなどを入れておくのに用いられます。
非常に重要なのは、「WEB-INFの中身は外部からアクセスできないようになっている」という点です。WEB-INF内にあるものは、Webブラウザなどから一切利用できないのです。このため、一般のユーザに見られたくないファイル類を保管しておくのにWEB-INFは多用されます。web.xmlやサーブレット・クラスに限らず、「直接アクセスされては困るもの」を入れておくのにWEB-INFはとても重宝します。
もちろん、これは「外部からアクセスできない」ということですので、例えばサーブレット・クラスの中からWEB-INF内のファイルを利用したりすることは問題なくできます。