libro
www.tuyano.com
初心者のためのJSP/サーブレット入門

サーブレットを作ろう! (3/5)

作成:2012-05-27 11:03
更新:2012-05-27 11:03

■web.xmlにサーブレット情報を登録する

Servlet 3.0を使っているなら、これでサーブレット作成はおしまいです。後はデプロイするだけ。ですが、GAEのようにまだ3.0に対応していない環境では、サーブレット本体の他に「サーブレット情報を記述した設定ファイル」を用意しないといけません。

それは、「web.xml」というファイルです。通常、Webアプリケーションの「WEB-INF」フォルダ(外部からアクセスされない特別なフォルダでしたね)の中に用意されます。GAEのプロジェクトでは、デフォルトで自動的に生成されているはずです。

このweb.xmlは、Webアプリケーションに関するさまざまな設定情報が記述されます。サーブレットについては、「サーブレットの名前」「使用するクラス」「公開アドレス」といった情報をここに記述しておく必要があります。

下のリスト欄に、サーブレット関係の情報の基本形を整理しておきました。web.xmlは、<web-app>というルートタグ内に設定のタグを記述していきます。サーブレット情報は、以下の2つのタグとして用意されます。

<servlet>タグ
サーブレットの登録を行うためのものです。この中に、以下の2つのタグが用意されます。サーブレットクラスは、単にクラス名だけではなく、パッケージ名から記述しておきます。

<servlet-name> サーブレットの名前を登録します。
<servlet-class> 使用するサーブレットクラスを記述します。

<servlet-mapping>タグ
サーブレットのURLマッピング(どういうアドレスで公開するか)を設定するためのものです。この中に、更に以下の2つのタグが用意されます。これにより、サーブレットを指定のアドレスで公開できます。

<servlet-name> サーブレット名を指定します。
<url-pattern> 公開するアドレスを記述します。

これらのタグにより、作成したサーブレットクラスが指定のアドレスで公開されるようになります。何度もいうようですが、これは「Servlet 3.0より前」の場合に必要です。3.0以降は、アノテーションさえ書いてあれば必要ありません

ちなみに、web.xmlには、この他に<welcome-file-list>というタグもあるはずです。これは、ファイル名を指定せずにアクセスしたときに、ディレクトリ内のどのファイルを表示するかを指定するものです。これはなくても別にWebアプリに影響はありません。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※web.xmlの基本形

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns="http://java.sun.com/xml/ns/javaee"
		xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
		xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

	<servlet>
		<servlet-name>サーブレット名</servlet-name>
		<servlet-class>サーブレットのクラス</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>サーブレット名</servlet-name>
		<url-pattern>公開するアドレス</url-pattern>
	</servlet-mapping>

	……その他のタグが続く……

</web-app>
※関連コンテンツ

「初心者のためのJSP/サーブレット入門」に戻る