サーブレットは、Java Servlet API 2.2以降を利用して作成します。
サーブレットを作成する場合の留意点を次に示します。
電子フォームから送信された入力データを受け取る場合は、HTTPのメソッドはPOSTです。doPost()メソッドを使用してください。
電子フォームを送信する場合は、コンテントタイプに「text/html;charset=UTF-8 」または「text/html;charset=Shift_JIS 」を指定してください。
正しく設定するには、OutputDataBuilderクラスのgetContentType()メソッドを利用して設定する必要があります。正しく設定しないと、電子フォームが正しく表示されない場合があります。詳細については、「C.1.2 クラス:OutputDataBuilder」の「getContentType()」を参照してください。
電子フォームを送信する場合、Formcoordinatorが生成するHTML以外のデータを送信しないでください。送信すると、電子フォームが正しく表示されません。
コンパイル時および実行時のCLASSPATH環境変数に次に示すjarファイルを追加してください。
ファイル名 | ファイルの格納場所 |
---|---|
f3hksjsv.jar |
|
xmlpro.jar |
|
xmltrans.jar |
(注1) | 「フレームワークのインストールフォルダ」は、Business Application Serverの標準の設定では次に示すフォルダです。 |
(注2) | 「オペレーティングシステムの共通フォルダ」は、オペレーティングシステムの標準の設定では次に示すフォルダです。 |
複数のスレッド間で、Java APIが提供する各クラスのオブジェクトを共有しないでください。
Java APIで提供される各クラスのオブジェクトは、複数のスレッドから同時にアクセスされることを想定していません。したがって、複数のスレッドから同時にアクセスされた場合の動作は保証されません。
Webブラウザによっては、キャッシュの設定や[戻る]ボタンで再度同じページを表示した場合など、キャッシュが有効となり、サーブレットで作成したページが更新されないことがあります。その場合は、HTTPのヘッダーに対して、キャッシュを無効にする指定を行ってください。詳細については、使用するWebブラウザの仕様を確認してください。
例:
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control","no-cache");
FormcoordinatorのJava APIで、スキーム名に「file://」を指定する場合(以降、fileプロトコルと称します)およびWebアプリケーションの仮想パスを指定する場合、URIエンコードする必要があります。
文字列をMIMEタイプ(「x-www-form-url 符号化」形式と呼ばれる)に変換することをURIエンコードといいます。
URIエンコードはSun MicrosystemsのJava APIであるjava.net.URLEncoderを利用できます。
java.net.URLEncoderを利用する場合は以下のように指定してください。
例:
// 電子フォーム格納パスが「file:///c:/電子フォーム格納パス」の場合 String formPath = java.net.URLEncoder.encode("file:///c:/電子フォーム格納パス", System.getProperty("file.encoding"));
例:
// 電子フォーム格納パスが「file:////home/電子フォーム格納パス」の場合 String formPath = java.net.URLEncoder.encode("file:////home/電子フォーム格納パス", System.getProperty("file.encoding"));
注意
プラットフォームのデフォルトの文字エンコーディングで変換してください。