サーブレットの要求とパラメーター

サーブレットは、「イメージ」要求、「イメージ・マップ」要求、「能力」要求の 3 つのタイプの HTTP 要求に対して応答できます。イメージ要求は、Rogue Wave® JViews マネージャーからのイメージを返します。能力要求は、マネージャーおよびマネージャーのグローバル領域で使用できるレイヤーなど、クライアントに対する情報を返します。この情報を利用すると、クライアントはイメージ要求を作成するためのサーブレットの能力を知ることができます。アプリケーションのクライアント・サイドの開発に際しては、Rogue Wave JViews が提供する JavaScript スクリプトまたは JavaBeans™ を使用し、どちらもユーザーに代わって HTTP 要求を作成するため、ユーザーは自分で HTTP 要求を書き込みする必要はありません。

イメージ要求

イメージ要求はマネージャーからの JPEG イメージを作成します。myservlet がサーブレットの名前であると仮定すると、要求には次の構文が含まれます。
http://host/myservlet?request=image
   &bbox=x,y,width,height (area in the manager coordinate system)
   &width=width of the returned image
   &height=height of the returned image
   &layer=comma separated list of layers
   &format=JPEG
   &bgcolor=0xFFFFFF
次にパラメーターとその意味の一覧を表示します。
IlvManagerServlet のパラメーター
パラメーター名
パラメーター値
説明
request
イメージ
サーブレットにイメージの生成をリクエスト。
bbox
浮動小数、浮動小数、浮動小数、浮動小数
イメージに表示されるマネージャーの領域。最初の 2 つの値が領域の左上隅。最後の 2 つの値が領域の幅と高さ。
width
整数
最終イメージの幅
height
整数
最終イメージの高さ
format
JPEG
最終イメージのフォーマット
layer
カンマで区切ったストリングの一覧。例: Cities, Roads
表示される IlvManager のレイヤー。
bgcolor
0xrrggbb
例えば、白は 0xffffff
最終イメージの背景色。このパラメーターはオプションです。
action
actionName(param1, param2)
イメージを生成する前に、サーバー上で実行するアクションを指定
次の要求はマネージャーの領域 (0、0、1000、1000) を表示するサイズ (250、250) の JPEG イメージを作成します。「都市」および「道路」という名前の付いたレイヤーのみが表示されます。
http://host/myservlet?request=image
        &bbox=0,0,1000,1000
        &width=250
        &height=250
        &layer=Cities,Roads
        &format=JPEG

能力要求

能力要求はクライアントに対する情報を作成します。この要求はマネージャーに関する情報を返します。
この要求には以下の構文があります。
http://host/myservlet?request=capabilities
        &format=(html|octet-stream)
      [ &onload= <a string> ]
image ではなく、capabilities に設定された request パラメーターは、能力情報を返すようにサーブレットに指示します。format パラメーターはどのフォーマットを返すかを通知します。
結果は、HTML または 8 ビット・バイト・ストリームのうちのいずれかのフォーマットになります。

HTML フォーマット

HTML フォーマットは、クライアントが JavaScript クライアントの場合に使用されます。この場合、結果は JavaScript™ コードが含まれる空の HTML ページです。JavaScript コードはクライアント・サイドで実行され、いくつかの情報変数が利用できるようになります。
<html>
<head>
<script language="JavaScript">
var minx=0.0;
var miny=0.0;
var maxx=1024.0;
var maxy=512.0;
var themes=new Array();
var overviewthemes=new Array();
themes[0]="a layer name";
overviewthemes[0]=true;
themes[1]="another layer";
overviewthemes[1]=true;
themes[2]="a third layer";
overviewthemes[2]=true;
var maxZoom=6;
</script>
</head>
<body>
</body>
</html>
変数 minxminymaxxmaxy は、照会可能なマネージャーのグローバル領域を定義しています。themes 変数は、サーバー・サイドで使用できるレイヤーの一覧です。overviewthemes 変数は、レイヤーを概要ウィンドウに表示するかどうかを通知します。maxZoom 変数は、アプリケーションが実行できるズームの最大レベルです。
onload パラメーターを使用すると、生成した HTML ページのオンロード・イベントに使用するストリングを指定できます。onload パラメーターが指定されると、HTML ページの本文タグは次のようになります。
<body onLoad="+onload+">

8 ビット・バイト・ストリーム・フォーマット

Octet ストリーム・フォーマットは、クライアントが Java™ アプレットの場合に使用されます。この場合、結果は 8 ビット・バイトのストリームです。データは java.io.DataOutput で作成され、java.io.DataInput で読み込めます。以下のように構成されます。
 Float: left coordinate of manager’s bounding box. 
    Float: top coordinate of manager’s bounding box. 
    Float: right coordinate of manager’s bounding box. 
    Float: bottom coordinate of manager’s bounding box. 
    Int: number of layers.
    
    for each layer:
       String (UTF format): name of the layer.
       Boolean: is the layer an overview layer. 
    
    Float: Maximum zoom level
このフォーマットは HTML フォーマットと同じタイプの情報を提供します。これらのフォーマットの解読または読み込みは必要ありません。Rogue Wave JViews が提供しているクライアント・サイドのコンポーネントが代わりに行います。

イメージ・マップ要求

イメージ・マップ要求は、イメージとクライアント・サイドのイメージ・マップを作成します。この要求のパラメーターは、request パラメーターの値が imagemap である必要があること以外は、イメージ要求のパラメーターと同じです。
例えば、サーブレットに対する次のコードは、
http://host/myservlet?request=imagemap
        &width=400
        &height=200
        &bbox=0,0,500,500
        &format=JPEG
        &layer=Cities,Links,background%20Map
例えば以下のものを生成することができます。
<html>
<body>
<map name="imagemap">
<area shape="rect" coords="242,81,261,83" href="..." >
....
</map>
<img usemap="#imagemap" width="400" height="200" 
		src="myservlet?request=image&layer=Cities,Links,background%20Map&width=400
		&format=JPEG&bbox=0,0,500,500&height=200" border=0>
</body>
</html>
呼び出しすると、クライアント・サイドのイメージ・マップとイメージを含む HTML ドキュメントが生成されます。イメージの内容はサーブレットへの別の呼び出しで生成されます。
地図を作成する際に考慮するグラフィック・オブジェクトのほかに、クリック可能領域の形状およびクリックすると追加される内容も指定することができます。 詳細は、「クライアント・サイド・イメージ・マップの生成」を参照してください。
イメージ・マップ要求には追加オプション・パラメーターが 2 つあります。
  • mapname パラメーターは、地図の名前を定義できます。デフォルト名は imagemap です。
  • onload パラメーターを使用すると、生成した HTML ページのオンロード・イベントに使用するストリングを指定できます。onload パラメーターが指定されると、HTML ページの本文タグは次のようになります。
    <body onLoad="+onload+">