サーブレットを作ろう! (3/5)
作成:2012-05-27 11:03
更新: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アプリに影響はありません。
それは、「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アプリに影響はありません。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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>
※関連コンテンツ