Web アプリケーションには、アプリケーションの機能を構成するサーブレットを必要な数だけ入れることができます。このセクションでは、サーブレットをアプリケーションに追加する方法と、アプリケーション内のサーブレットの設定を変更する方法について説明します。
サーブレットの追加または登録を行う場合、JMC でこれを定義してから JRun サーバを再起動し、コンテキスト パス内でサーブレットを認識させる必要があります。このセクションでは、JMC を使用してサーブレットを追加し、サーブレットごとの設定を変更する方法について説明します。また、JRun サーバを起動するときに、サーブレットをロードするかどうかを指定することも可能です。既定の設定では、サーブレットはプリロードされません。
[サーブレット定義] パネルを表示します。
サーブレット定義の編集ウィンドウが表示されます。
プロパティ |
説明 |
---|---|
名前 |
サーブレット名を入力します。この値にはスペースや特殊文字を使用することはできません。たとえば、「DbFuncs」と入力します。 このフィールドは必須です。 |
クラス名 |
サーブレットの完全修飾クラス名を入力します。たとえば、サーブレット名が DbFuncs で、これが allaire.jrun.rds というパッケージに入っている場合、「allaire.jrun.rds.DbFuncsServlet」と入力します。このフィールドは必須です。 |
表示名 |
JMC に表示されるサーブレットの短い名前を入力します。 |
説明 |
サーブレットの説明を入力します。このフィールドはオプションです。 |
小さいアイコン |
このサーブレットを表す 16x16 ピクセルのアイコンの位置を指定します。この情報は、web.xml ファイルに保存されます。このプロパティは、所有するカタログのサーブレットをそれぞれのアイコンで表示する場合に使用するものです。このフィールドはオプションです。 |
大きいアイコン |
このサーブレットを表す 32x32 ピクセルのアイコンの位置を指定します。この情報は、web.xml ファイルに保存されます。このプロパティは、所有するカタログのサーブレットをそれぞれのアイコンで表示する場合に使用するものです。このフィールドはオプションです。 |
Init 引数 |
このサーブレットに渡される初期化パラメータの一覧を入力します。 アプリケーション変数エディタを使用して、アプリケーション内にあるすべてのサーブレットに同じパラメータを渡すことができます。詳細については、"アプリケーション パラメータの追加"を参照してください。このフィールドはオプションです。 |
[プリロードの順番] ダイアログ ボックスが表示されます。
矢印キーを使用して、[プリロード] リストと [プリロードなし] リストの間でサーブ レットを移動します。次に、[ロード順の調節] 矢印をクリックして、リスト内で サーブレットを上下に移動します。
サーブレットをサーブレット定義の編集ウィンドウで変更した後で、このサーブレット名を変更するには、既存のサーブレットの定義をすべて削除し、再追加する必要があります。
JMC を使用すると、URL パターンにサーブレットをマッピングできます。
JRun で HTTP の要求を受信すると、サーブレット エンジンによって、定義済みコンテキスト パスと URL パターンが比較され、次にアプリケーション内にある登録済みサーブレットと URL パターンの次の部分が比較されます。最後に、残っているパス情報があれば、この情報がサーブレットに渡されて処理されます。パターンがどのコンテキスト パスにも一致しない場合、要求は既定のアプリケーションに渡されます。
また、ファイル拡張子をサーブレットにマッピングし、サーブレットのチェーンを構成して、1 つずつ実行することも可能です。次のセクションでは、JMC を使用してこれらのタスクを実行する方法について説明します。
JRun サーバによるファイルの処理方法と、URL 要求を解析する方法の詳細については、JRun によるアプリケー』を参照してションの開発ください。
JRun を使用すると、サーブレットを URL 接頭辞にマッピングすることによって、HTTP の要求からサーブレットにアクセスする方法を制御できるようになります。JMC の使用により、次のことが実行できます。
既定の設定では、/servlet 接頭辞を含む HTTP の要求は
http://www.yourdomain.com/demo/servlet/SimpleServlet と同様に、invoker にマッピングされます。サーブレットにマッピングできる URL の数に制限はありません。
[サーブレット URL のマッピング] パネルが表示されます。
サーブレット URL のマッピングの編集ウィンドウが表示されます。
JRun では、どのようなファイル拡張子でもサーブレットにマッピングできます。既定では、拡張子 *.jsp は暗黙的に invoker サーブレットにマッピングされていますが、明示的にマッピングすることによって書き換えることができます。
[サーブレット URL のマッピング] パネルが表示されます。
サーブレット URL のマッピングの編集ウィンドウが表示されます。
サーブレットの URL マッピングの編集ウィンドウを使用して、エイリアスでサーブレットを参照できます。これにより、サーブレットの実名など実装の詳細をユーザに対して非表示にできます。たとえば、ShoppingCart という名前のエイリアスに shop_05022001 という実名のサーブレットを参照させることができます。新しい名前を持つサーブレットの新しいバージョンを作成するには、1 か所のみ名前を変更します。
同様に、このサーブレットにエイリアスを設定する方法でサーブレットのチェーンも参照できます。詳細については、"エイリアスを使用したサーブレットのチェーン化"を参照してください。
このセクションでは、エイリアスを 1 つのサーブレットに割り当てる方法について説明します。
[サーブレット URL のマッピング] パネルが表示されます。
サーブレット URL のマッピングの編集ウィンドウが表示されます。
JRun ではサーブレットのチェーン化がサポートされています。この機能を使用すると、あるサーブレットの出力をほかのサーブレットの入力として使用できます。最も基本的なサーブレット チェーン化の方法は、要求を行うときにサーブレットを、カンマ区切りリストとしてパス情報に追加することです。
たとえば、次の要求によって Servlet1 が実行され、その出力が Servlet2 に送信されます。
http://www.yourdomain.com/servlet/Servlet1,Servlet2
この簡単なチェーン化方法では実用的でない場合もあります。JRun でのサーブレットのチェーン化には、このほかに次の 2 種類の方法があります。
後続のセクションで、JRun でサーブレットをチェーン化するこれらの方法について説明します。
JRun では、1 つの名前、つまりエイリアスで、チェーンを形成するサーブレット リストを表すことができます。これはエイリアス設定と呼ばれます。
[サーブレット URL のマッピング] パネルが表示されます。
サーブレット URL のマッピングの編集ウィンドウが表示されます。
たとえば、SnoopServlet からの出力を UpperCaseFilter に送信するチェーンを作成 する場合は、「SnoopServlet, UpperCaseFilter」と入力します。
応答タイプの設定だけではなく、MIME タイプのマッピングを使用しても、サーブレット チェーンを実行できます。しかし、エイリアスを使用する場合のように、要求に基づいてどのサーブレットをチェーン化するのかを明確に指定するのではなく、サーブレットやサーブレット チェーンの実行をトリガする送信 MIME タイプを指定します。
たとえば、text/plain MIME タイプを UpperCaseFilter サーブレットにマッピングすると、このアプリケーションで text/plain というコンテンツ タイプで応答するサーブレットがすべて、UpperCaseFilter にチェーン化されます。コンテキスト タイプ text/plain で応答するその他のタイプの要求でも、UpperCaseFilter サーブレットが起動されるため注意が必要です。
ある応答の出力が JRun サーバでフィルタリングされ、別のサーブレットやサーブレット チェーンに渡されるので、このプロセスはフィルタリング と呼ばれます。
[MIME タイプのチェーン化] パネルが表示されます。
MIME タイプのチェーン化の編集ウィンドウが表示されます。
text/vnd.wap.wml
text/plain
text/html
image/gif
image/jpg
JRun を WML (Wireless Markup Language) ページを読み込むように設定するには、JMC を使用して次の拡張子を MIME タイプにマッピングします。
拡張子 |
MIME タイプ |
---|---|
bmp |
image/bmp |
wbmp |
image/vnd.wap.wbmp |
wmls |
text/vnd.wap.wmlscript |
wml |
text/vnd.wap.wml |
Web アプリケーションの web.xml ファイルへのエントリは、次のようになります。
<mime-mapping> <extension>bmp</extension> <mime-type>image/bmp</mime-type>
</mime-mapping> <mime-mapping> <extension>wbmp</extension> <mime-type>image/vnd.wap.wbmp</mime-type></mime-mapping> <mime-mapping> <extension>wmls</extension> <mime-type>text/vnd.wap.wmlscript</mime-type> </mime-mapping> <mime-mapping> <extension>wml</extension> <mime-type>text/vnd.wap.wml</mime-type> </mime-mapping>
JRun には、サーバ側インクルード (SSI) タグレットを使用して HTML ファイルに Java サーブレットを埋め込むオプションが用意されています。タグレットにより、SHTML ファイルで固有のタグをフレキシブルに定義し、実装できます。
SSI は、以前はダイナミック コンテンツの作成に広く使用されていました。JRun では主に古い実装をサポートする目的で使用します。現在では、JavaServer Pages (JSP) および Java サーブレット テクノロジが タグレット付きの SSI の代わりに使用されるようになり、機能的にも大幅に拡張されています。
このセクションでは、JRun で使用する SSI タグレットの構成方法について説明します。SSI タグレットの使用の詳細については、『JRun によるアプリケーションの開発』を参照してください。
[サーバ側インクルードの設定] パネルが表示されます。
サーバ側インクルードの設定の編集ウィンドウが表示されます。