ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

8.1.2 マッピングが不要な呼び出し方


サーブレット名

サーブレットは、サーブレット名を指定して呼び出します。
サーブレット名は、ファイル名から拡張子(.class)を除いた名前です。
サーブレット名の大文字、小文字は区別されます。


サーブレットの格納先

サーブレットは、以下のどちらかに格納します。

パッケージとして作成されている場合

サーブレット名にはパッケージ名を付加して呼び出します。
パッケージは、サーブレットのソースコードにpackage宣言をすることで作成できます。
パッケージ名org.xxx.zzzz、サーブレット名HelloWorldServletのときは、以下のようになります。

org.xxx.zzzz.HelloWorldServlet


URLで指定して呼び出す場合

http://サーバホスト名:ポート番号/Webアプリケーション名/servlet/サーブレット名

“:ポート番号”は省略できます。省略したときのポート番号は80になります。


HTML文書の中で呼び出す場合

<A HREF="/Webアプリケーション名/servlet/サーブレット名">Click Here</A>

HTML文書の中に入力フィールド(HTMLのFORMタグ)を作って入力した情報を渡すこともできます。
サーブレットは以下のように呼び出します。METHODはGETも指定できます。

<FORM ACTION="/Webアプリケーション名/servlet/サーブレット名" METHOD=POST>


サーブレットに情報を渡す方法

サーブレットにパラメタを渡したい場合は、サーブレット名の後ろに次の形式で指定します。

サーブレット名?パラメタ名1=値1&パラメタ名2=値2&・・・

また、CGIと同じようにPATH_INFOを使用して、サーブレットにパス情報を渡すことができます。
サーブレット名の後ろに“/”で始まるパス情報を指定します。

サーブレット名/パス情報?パラメタ名1=値1&パラメタ名2=値2&・・・


エイリアスによる指定

サーブレット名は、エイリアスで指定することができます。
エイリアスは、“7.5 Webアプリケーション環境定義ファイル(deployment descriptor)”の“7.5.7 サーブレットの属性”(servletタグ)で定義します。

エイリアスを使用しない例(サーブレット名での指定)

http://hostname/webapl1/servlet/HelloWorldServlet

エイリアスを使用した例("HelloWorldServlet"をエイリアス"Hello"で定義)

http://hostname/webapl1/servlet/Hello

注意

  • Webブラウザにサーブレットの実行結果が表示されず、ステータスコードやメッセージが表示される場合は、Webサーバの環境設定やサーブレットの呼び出し方法に誤りがあるなどの原因が考えられます。
    “トラブルシューティング集”を参照して、エラーの原因を取り除いてください。

  • “WEB-INF/classes”配下と“WEB-INF/lib”配下のJARファイルに同名のサーブレットが存在する場合、“WEB-INF/classes”配下のサーブレットが呼び出されます。


  • Windows(R)システムでは、指定したサーブレット名の大文字/小文字が間違っている場合、Javaの例外java.lang.NoClassDefFoundErrorが発生します。
    この場合、Webブラウザに“500 Internal Server Error”が表示されます。
    大文字/小文字が間違っていることを伝えるエラーページや“404 Not Found”を伝えるエラーページを作成し、“7.5 Webアプリケーション環境定義ファイル(deployment descriptor)”の“7.5.12 エラー発生時のリソース”(error-pageタグ)で定義することをお勧めします。