Interstage Application Server 移行ガイド |
目次
索引
![]() ![]() |
第2章 旧バージョン・レベルからの変更 | > 2.1 主な変更内容 |
Interstage Application Server V6.0(以降V6.0)では、Tomcat 4.1ベースのサーブレット実行環境(Servletサービス)を提供します。また旧バージョンのサーブレット実行環境として、Tomcat3.1ベースのサーブレット実行環境(旧バージョンのServletサービス)を提供します。なお旧バージョンのServletサービスでは、V6.0の新機能を使用できません。
業界標準であるTomcat 4.1をベースとしたサーブレット実行環境によるアプリケーションの移植性向上や、V6.0の新機能であるIJServerワークユニットによる高度なアプリケーション運用操作/監視を行う上でも、V6.0のServletサービスへの移行を推奨します。
旧バージョンのServletサービスからV6.0のServletサービスに移行する場合には、以下の注意が必要です。
旧バージョンのServletサービス環境設定とV6.0のServletサービス環境設定は異なります。Interstage管理コンソールでIJServerワークユニットを作成した後、Webアプリケーションを配備しなおしてください。なお、Webアプリケーションを配備する際には、WARファイルまたはEARファイルの形式である必要があります。
V6.0のServletサービスの操作はすべてInterstage管理コンソールから行います。
旧バージョンのServletサービスの環境定義ファイルに対して行っていた各種設定または閲覧は、Interstage管理コンソールから行うことができます。以下に旧バージョンのServletサービスの環境定義ファイルと、Interstage管理コンソールの操作画面の対応を示します。
Interstage管理コンソールについては、“Interstage運用ガイド”を参照してください。
旧バージョンのServletサービス |
V6.0のServletサービス |
---|---|
JServlet環境定義ファイル |
[システム]>[ワークユニット]>[新規作成]タブ> |
サーブレット・ゲートウェイ環境定義ファイル |
【WebサーバとIJServerワークユニットを同一マシンで運用する場合】 【WebサーバとIJServerワークユニットを別マシンで運用する場合】(注1) |
サーブレット・コンテナ環境定義ファイル |
【Servletコンテナの設定】 【Webアプリケーションの設定】 |
名前変換定義ファイル
|
名前変換ファイル ※J2EE共通ディレクトリのデフォルト
旧バージョンのServletサービスから移行する時には、名前変換を使うWebアプリケーションを配備したIJServerのIJServerディレクトリ(J2EE共通ディレクトリ\ijserver\[IJServer名])に名前変換定義ファイルをコピーして、ファイル名をFJebeProperties.xmlへ改名してください。
また、旧バージョンの名前変換定義ファイルには、すべてのIJServerの名前変換が含まれていますので、適宜削除して使用するようにしてください。 |
配備時の名前変換定義(interstage.xml)の<app-name>タグ |
旧バージョンでは指定しても意味がありませんでしたが、V6.0のServletサービスでは名前変換定義情報の設定対象であるWebアプリケーションの名前を正しく指定してください。Webアプリケーションの名前については、名前変換定義ファイルを参照してください。 |
JServletプロパティファイル |
(注2) |
(注1) WebサーバコネクタとIJServerワークユニットが別マシン([システム]>[環境設定]タブの“Servletサービスの詳細設定”で“Webサーバとワークユニットを同一のマシンで運用しない”を選択)の場合。
(注2) JServletプロパティファイルの“com.fujitsu.interstage.jservlet.session.cookie.secure.mode”のみ、以下のJavaVMオプションで移行可能です。
移行に際しての定義項目の対応については、“旧バーションServletサービス環境定義の移行”を参照してください。
以下の操作により旧バージョンのInterstage HTTP Serverの資源を使用する場合には、WebサーバからServletサービスへの通信を行うWebサーバコネクタの設定が必要です。
【バージョンアップの上書きインストールをした場合】
上書きインストールを行うことで、Interstage HTTP Serverの環境定義ファイル(httpd.conf)の末尾に以下に示す定義情報が追加されます。先頭の"#"を削除して定義情報を有効にしてください。
# LoadModule jk2_module "C:/Interstage/F3FMjs4/gateway/mod_jk2.dll" |
# LoadModule jk2_module "/opt/FJSVjs4/gateway/mod_jk2.so" |
【旧バージョンでバックアップした資源をリストアした場合】
Interstage HTTP Serverの環境定義ファイル(httpd.conf)の末尾に以下に示す定義項目を追加してください。
LoadModule jk2_module "C:/Interstage/F3FMjs4/gateway/mod_jk2.dll" |
LoadModule jk2_module "/opt/FJSVjs4/gateway/mod_jk2.so" |
Interstage HTTP Serverの環境定義ファイル(httpd.conf)に以下の旧バージョンのサーブレット・ゲートウェイの定義が設定されている場合には、その定義情報を削除してください。以下に旧バージョンのサーブレット・ゲートウェイの定義について記載します。
LoadModule jsvlt_module "C:/Interstage/F3FMjs2/gateway/jsgw_apapi_is.dll" |
LoadModule jsvlt_module "/opt/FJSVjs2/gateway/jsgw_apapi_is.so" |
V6.0のServletサービスとの接続をサポートするWebサーバはInterstage HTTP Serverです。
旧バージョンのServletサービスで、その他のWebサーバを使用していた場合には、Interstage HTTP Serverへ移行してください。
InfoProvider ProからInterstage HTTP Serverへ移行する場合には、“Webサーバ(Interstage HTTP Server)への移行”を参照してください。
Webアプリケーション環境定義ファイル(deployment descriptor)のタグの指定方法をDTD(文書型定義)によりチェックします。
タグの指定方法が誤っている場合には、Interstage管理コンソールで配備を行った際に、画面上のメッセージ領域にエラーメッセージを出力して配備を中断します。
また、IJServerの起動時にタグの指定方法の誤りが検出された場合には、IJServerのコンテナログに以下のエラーメッセージが出力されますので、“J2EEユーザーズガイド”の“Webアプリケーション環境定義ファイル(deployment descriptor)”を参照して修正してください。たとえば、servlet-mappingタグをservletタグよりも前に定義した場合にエラーとなります。
[ERROR] Digester - -Parse Error at line [行数] column [列数]: [原因]
Webアプリケーション環境定義ファイル(deployment descriptor)修正後、IDE(統合開発環境ツール)等に付属しているdeployment descriptorの検証機能(Apworksのワークベンチ ApdesignerのXMLエディタ)を使用して、修正内容の妥当性を検証することを推奨します。
V6.0のサーブレットは、Webアプリケーション環境定義ファイル(deployment descriptor)のサーブレット・マッピングで定義されたものしか動作しません。
旧バージョンのServletサービスで、サーブレット・マッピングの定義を行わず、以下のURLの形式でサーブレットの呼び出しを行っていた場合は、Webアプリケーション環境定義ファイルにサーブレット・マッピングの定義を行う必要があります。
http://サーバホスト名:ポート番号/Webアプリケーション名/servlet/サーブレット名
IJServerワークユニットの環境設定で、サーブレット・マッピングの定義を行わずに、上記URLの形式で呼び出すことができる設定に切り替えることができますが、クラス名が分かればすべてのサーブレットが動作できてしまうため、セキュリティの面から推奨しません。
また本設定を行った場合には、Filterアプリケーションの呼び出しはサポートされません。
JSP1.2の仕様により、以下のJavaパッケージのクラスは、importすることなくクラス名のみで直接スクリプトレット使用できます。
また、Interstage管理コンソールの[システム] > [ワークユニット] > [IJServerワークユニット名を選択] > [環境設定]タブ > [ワークユニット設定]の“JavaVMオプション”に以下のプロパティを設定することで、他システムからのJSPアプリケーションの移行性を高めることができます。
上記以外のパッケージのクラスをクラス名のみで使用するためには、pageディレクティブのimport属性を使用してimportが必要です。
旧バージョンのServletサービスでは、一部クラスはimportせずにクラス名のみで使用できましたが、V6.0のServletサービスではJSPの仕様どおりimportしてください。
Interstage管理コンソールでWebアプリケーションの配備を行う場合、Webアプリケーション名の省略値には以下の値が使用されます。旧バージョンのServletサービスでWebアプリケーション名の省略値として使用されていたweb.xmlのdisplay-nameは、V6.0のServletサービスではWebアプリケーション名の省略値として使用されません。
旧バージョンのサーブレットでHTTPトンネリング機能を使用していた場合には、Webアプリケーションのみ運用のタイプのIJServerへ配備し直す必要があります。以下のタイプのIJServerではHTTPトンネリング機能は使用できません。
HTTPトンネリングの設定の詳細については、“セキュリティシステム運用ガイド”の“J2EEのHTTPトンネリング”−“IJServer(Webアプリケーションのみ運用)でのHTTPトンネリングの使用方法”を参照してください。
旧バージョンのServletサービスとV6.0のServletサービスの非互換項目を以下に示します。該当する機能をWebアプリケーションで使用している場合には、Webアプリケーションを修正してください。
No. |
機能 |
旧バージョンの |
V6.0のServletサービス |
|
---|---|---|---|---|
1 |
カスタムタグのTag#release()メソッド |
カスタムタグの開発で実装するjavax.servlet.jsp.tagext.Tagインタフェースのpublic void release()メソッドは、カスタムタグを使用したページの呼び出しが終るごとに呼び出されます。 |
カスタムタグの開発で実装するjavax.servlet.jsp.tagext.Tagインタフェースのpublic void release()メソッドは、Webアプリケーション終了時に呼び出されます。 |
|
2 |
Webブラウザに返却されるステータスコード |
Webアプリケーション環境定義ファイルに<error-page>タグが設定されている場合や、JSPのerrorPage属性が設定されている場合は、ステータスコードは200が返却されます。 |
Webアプリケーション環境定義ファイルに<error-page>タグが設定されている場合や、JSPのerrorPage属性が設定されている場合にも、発生した現象のステータスコードがそのまま返却されます。 |
|
3 |
JSPの呼び出し |
JSPのリロードを行う設定の場合、前回コンパイルされたJSPファイルとファイル更新日時が異なるJSPファイルの場合にリロードされます。 |
JSPのリロードを行う設定の場合、前回のコンパイルで生成されたクラスファイルよりも新しい更新日時のJSPファイルの場合にリロードされます。 |
|
4 |
Webアプリケーション環境定義ファイルの<servlet>タグ内の<load-on-startup>タグ |
0を指定した場合は、Servletコンテナ起動時にロードされません。 |
0を指定した場合は、最後にロードされます。負の数を指定した場合は、Servletコンテナ起動時にロードされません。 |
|
5 |
Servletコンテナの実行ディレクトリ |
JServlet環境定義ファイルのdefault.execdir または [containername].execdir定義で指定します。 |
|
|
6 |
Webブラウザにスタックトレースを表示 |
サーブレット・コンテナ環境定義ファイルのContextManagerタグのerrResponse属性で、リクエストの処理でErrorやExceptionが発生した場合、Webブラウザにスタックトレースを表示するかどうかを指定します。 |
内部の情報が漏洩する可能性があるため、リクエストの処理でErrorやExceptionが発生した場合、Webブラウザにスタックトレースを表示しません。 |
|
7 |
Webアプリケーション環境定義ファイルの<servlet-mapping>タグ内の<servlet-name>タグ |
指定していない名前を記述した場合は、無効となります。 |
指定していない名前を記述した場合は、Webアプリケーションの起動に失敗します。 |
|
8 |
Webアプリケーション環境定義ファイルの<welcome-file-list>タグ内の<welcome-file>タグ |
welcome fileを省略した場合、サーブレット・コンテナ環境定義ファイルで記述するContext定義のdirList属性の指定により、その実体となるディレクトリ配下のディレクトリやファイルの一覧、またはステータスコード404(ファイルが存在しない)が表示されます。 |
welcome fileを省略した場合、デフォルト設定が使用されます。デフォルト設定のファイルは以下の順番で有効になります。
welcome file(省略時はデフォルト設定)に該当するファイルがない場合は、Interstage管理コンソールの[システム]>[ワークユニット]>[IJServerワークユニット名を選択]>[環境設定]タブ>“Servletコンテナ設定”の“ファイルの一覧表示”で設定されている値によって、ステータスコード404(ファイルが存在しない)、またはその実体となるディレクトリ配下のディレクトリやファイルの一覧が表示されます。 |
|
9 |
Webアプリケーション環境定義ファイルの<env-entry>タグ内の<env-entry-value>タグ |
<env-entry-value>タグを省略して環境エントリをlookupした場合にはjavax.naming.NameNotFoundExceptionが発行されます。 |
<env-entry-value>タグを省略した場合には、デフォルト値が 以下のように設定されます。 |
|
env-entry-type |
エントリ値 |
|||
java.lang.Boolean |
Boolean.FALSE |
|||
java.lang.Byte |
値0のByteオブジェクト |
|||
java.lang.Character |
値0のCharacterオブジェクト |
|||
java.lang.String |
なし (注1) |
|||
java.lang.Short |
値0のShortオブジェクト |
|||
java.lang.Integer |
値0のIntegerオブジェクト |
|||
java.lang.Long |
値0のLongオブジェクト |
|||
java.lang.Float |
値0のFloatオブジェクト |
|||
java.lang.Double |
値0のDoubleオブジェクト |
|||
旧バージョンの動作と同じ動作をさせる場合には、Interstage管理コンソールの[システム]>[ワークユニット]>[IJServerワークユニット名を選択]>[環境設定]タブ>“ワークユニット設定”の“JavaVMオプション”に“-Dcom.fujitsu.interstage.jservlet.naming.defaultenventry=FALSE”を設定してください。 |
||||
10 |
Webアプリケーション環境定義ファイルの<taglib-location>タグ |
存在しないパスを記述した場合は、無効となります。 |
Webアプリケーションの起動に失敗します。 |
|
11 |
JNDIのHTTPトンネリングの設定タイミング |
JNDIが行うHTTPトンネリングの設定は、lookupメソッド等のjavax.naming.Contextのメソッド呼び出しのタイミングで行われます。 |
JNDIが行うHTTPトンネリングの設定は、javax.naming.InitialContextをインスタンス化するタイミングで行われます。 |
|
12 |
WEB-INF配下に誤ったTagLibraryDescriptorファイルが存在した場合 |
“XML parsing error on file”がコンテナの標準出力、標準エラー出力のログに出力されるが、サーブレット・コンテナ起動に成功します。 |
メッセージ“IJServer15111”がコンテナログに出力され、Servletコンテナの起動に失敗します。 |
|
13 |
Webアプリケーション環境定義ファイルの<servlet-mapping>タグ内の<url-pattern>タグ |
特定の拡張子をもつURLを指定した場合(例:*.jsp)は、URL内の“/”と“/”で囲まれた箇所もマッピング対象となります。 |
特定の拡張子をもつURLを指定した場合(例:*.jsp)は、URL内の“/”と“/”で囲まれた箇所もマッピング対象とならず、一番最後の“/”以降がマッピング対象となります。 |
|
14 |
Webアプリケーション環境定義ファイルの<welcome-file-list>タグ内の<welcome-file>タグに指定されたファイルを表示する場合の動作 |
|
|
|
15 |
複数のAccept-Languageヘッダを持つリクエストを受け付けた場合のHttpServletRequest#getHeaders()メソッドの動作 (注3) |
※サーブレット・コンテナ環境定義ファイルのContextManagerタグ内 |
“,”で区切られた値を1つの要素としてEnumerationが返されます。 |
注1) javax.naming.NameNotFoundExceptionが発行されます。
注2) 以下の製品で提供している“セキュリティシステム運用ガイド”を参照してください。
注3) 例)
----------------------------------
Accept-Language: ja
Accept-Language: es
----------------------------------
目次
索引
![]() ![]() |