<servlet>要素
では<servlet>要素について見ていきましょう。下記のように定義されています。
<xsd:complexType name="servletType"> <xsd:sequence> <xsd:group ref="j2ee:descriptionGroup" /> <xsd:element name="servlet-name" type="j2ee:servlet-nameType" /> <xsd:choice> <xsd:element name="servlet-class" type="j2ee:fully-qualified-classType"> </xsd:element> <xsd:element name="jsp-file" type="j2ee:jsp-fileType" /> </xsd:choice> <xsd:element name="init-param" type="j2ee:param-valueType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="load-on-startup" type="j2ee:xsdIntegerType" minOccurs="0"></xsd:element> <xsd:element name="run-as" type="j2ee:run-asType" minOccurs="0" /> <xsd:element name="security-role-ref" type="j2ee:security-role-refType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" /> </xsd:complexType>
※XMLにおける要素の出現頻度に関する記述は下記の通り
minOccurs 出現頻度の最低値 maxOccurs 出現頻度の最高値 unbounded 無制限 minOccurs及びmaxOccursはデフォルトが1。1の場合は省略可能
要素と記述する回数だけ抜き出してみると下記のようになります。
<servlet> | +- <description> (0回以上無制限) | +- <servlet-name> (1回) | +- <servlet-class> (jsp-fileのどちらかを1回) | +- <jsp-file> (servlet-classのどちらかを1回) | +- <init-param> (0回以上無制限) | +- <load-on-startup> (0回か1回) | +- <run-as> (0回か1回) | +- <security-role-ref> (0回以上無制限) | </servlet>
上記の中で必ず1回以上記述が必要となるのが<servlet-name>要素と<servlet-class>要素です。(<servlet-class>要素は<jsp-file>要素のどちらかを1回記述します)。
<servlet-name>要素と<servlet-class>要素
Servletで作成したクラスファイルに色々な設定を行う場合、クラス名を直接使うのではなく、そのクラスに名前を付けその名前に対して様々な設定を行います。そのためのクラス名と名前の組み合わせを登録するのが<servlet-name>要素と<servlet-class>要素になります。
<web-app> <servlet> <servlet-name> サーブレット名 </servlet-name> <servlet-class> 実際のクラス名 </servlet-class> </servlet> </web-app>
サーブレット名は好きな文字で構いませんが、1つのWebアプリケーション内では他で使っている名前は使用出来ません。
例えば"HelloWorld.class"というクラスに対して、"hello"というサーブレット名を付けた場合は下記のように記述します。
<web-app> <servlet> <servlet-name> hello </servlet-name> <servlet-class> HelloWorld </servlet-class> </servlet> </web-app>
※クラス名は".class"の前の部分を記述します。
これで実際のクラスファイルに対してweb.xml内で記述するための名前を付けることができました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。