Interstage Application Server 移行ガイド |
目次
索引
![]() ![]() |
第1章 旧バージョン・レベルからの変更 | > 1.1 主な変更内容 |
Interstage Application Server V6.0(以降V6.0)から、Tomcat 4.1ベースのサーブレット実行環境(Servletサービス)を提供しています。またV5.1以前のサーブレット実行環境として、Tomcat3.1ベースのサーブレット実行環境(V5.1以前のServletサービス)を提供します。なおV5.1以前のServletサービスでは、V6.0以降の新機能を使用できません。
業界標準であるTomcat 4.1をベースとしたサーブレット実行環境によるアプリケーションの移植性向上や、V6.0の新機能であるIJServerワークユニットによる高度なアプリケーション運用操作/監視を行う上でも、V6.0以降のServletサービスへの移行を推奨します。
V5.1以前のServletサービスからV6.0以降のServletサービスに移行する場合には、以下の注意が必要です。
V5.1以前のServletサービス環境設定とV6.0以降のServletサービス環境設定は異なります。Interstage管理コンソールでIJServerワークユニットを作成した後、Webアプリケーションを配備しなおしてください。なお、Webアプリケーションを配備する際には、WARファイルまたはEARファイルの形式である必要があります。
V6.0以降のServletサービスの操作はすべてInterstage管理コンソールから行います。
V5.1以前のServletサービスの環境定義ファイルに対して行っていた各種設定または閲覧は、Interstage管理コンソールから行うことができます。以下にV5.1以前のServletサービスの環境定義ファイルと、Interstage管理コンソールの操作画面の対応を示します。
Interstage管理コンソールについては、“Interstage運用ガイド”を参照してください。
V5.1以前の |
V6.0以降のServletサービス |
---|---|
JServlet環境定義ファイル |
[ワークユニット] > [新規作成]タブ > [詳細設定] > [ワークユニット設定] |
サーブレット・ゲートウェイ環境定義ファイル |
【WebサーバとIJServerワークユニットを同一マシンで運用する場合】 |
サーブレット・コンテナ環境定義ファイル |
【Servletコンテナの設定】 |
名前変換定義ファイル |
[ワークユニット] > “ワークユニット名” > “モジュール名” > [名前変換]タブ |
配備時の名前変換定義(interstage.xml)の<app-name>タグ |
V5.1以前では指定しても意味がありませんでしたが、V6.0以降のServletサービスでは名前変換定義情報の設定対象であるWebアプリケーションの名前を正しく指定してください。app-nameタグを指定しない場合や、タグに間違ったWebアプリケーション名を指定すると名前変換は動作しません。
|
JServletプロパティファイル |
(注2) |
(注1) WebサーバコネクタとIJServerワークユニットが別マシン([システム] > [環境設定]タブ > [Servletサービスの詳細設定] > [Webサーバとワークユニットを同一のマシンで運用する]で[運用しない]を選択)の場合。
(注2) JServletプロパティファイルの“com.fujitsu.interstage.jservlet.session.cookie.secure.mode”のみ、以下のJava VMオプションで移行可能です。
“com.fujitsu.interstage.j2ee.ijserver.SessionCookieSecurity”
移行に際しての定義項目の対応については、“旧バーションServletサービス環境定義の移行”を参照してください。
以下の操作により旧バージョンのInterstage HTTP Serverの資源を使用する場合には、WebサーバからServletサービスへの通信を行うWebサーバコネクタの設定が必要です。
【バージョンアップの上書きインストールをした場合】
上書きインストールを行うことで、Interstage HTTP Serverの環境定義ファイル(httpd.conf)の末尾に以下に示す定義情報が追加されます。
【旧バージョンでバックアップした資源をリストアした場合】
Interstage HTTP Serverの環境定義ファイル(httpd.conf)の末尾に以下に示す定義項目を追加してください。
Interstage HTTP Serverの環境定義ファイル(httpd.conf)に以下のV5.1以前のサーブレット・ゲートウェイの定義が設定されている場合には、その定義情報を削除してください。以下にV5.1以前のサーブレット・ゲートウェイの定義について記載します。
V6.0以降のServletサービスでは、以下のWebサーバとの接続をサポートしています。
なお、接続するWebサーバとしてはInterstage HTTP Serverを推奨しています。
V5.1以前のServletサービスで、その他のWebサーバを使用していた場合には、Interstage HTTP Serverへ移行することをお勧めします。
各Webサーバでの設定については、“J2EEユーザーズガイド”の“Webサーバの環境設定”を参照してください。
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)のサーブレット・マッピングで定義されたものしか動作しません。
V5.1以前のServletサービスで、サーブレット・マッピングの定義を行わず、以下のURLの形式でサーブレットの呼び出しを行っていた場合は、Webアプリケーション環境定義ファイルにサーブレット・マッピングの定義を行う必要があります。
http://サーバホスト名:ポート番号/Webアプリケーション名/servlet/サーブレット名
IJServerワークユニットの環境設定で、サーブレット・マッピングの定義を行わずに、上記URLの形式で呼び出すことができる設定に切り替えることができますが、クラス名が分かればすべてのサーブレットが動作できてしまうため、セキュリティの面から推奨しません。
また本設定を行った場合には、Filterアプリケーションの呼び出しはサポートされません。
JSP1.2の仕様により、以下のJavaパッケージのクラスは、importすることなくクラス名のみで直接スクリプトレット使用できます。
また、Interstage管理コンソールの[ワークユニット] > “ワークユニット名” > [環境設定]タブ > [詳細設定] > [ワークユニット設定] > [JavaVMオプション]に以下のプロパティを設定することで、他システムからのJSPアプリケーションの移行性を高めることができます。
上記以外のパッケージのクラスをクラス名のみで使用するためには、pageディレクティブのimport属性を使用してimportが必要です。
V5.1以前のServletサービスでは、一部クラスはimportせずにクラス名のみで使用できましたが、V6.0以降のServletサービスではJSPの仕様どおりimportしてください。
Interstage管理コンソールでWebアプリケーションの配備を行う場合、Webアプリケーション名の省略値には以下の値が使用されます。V5.1以前のServletサービスでWebアプリケーション名の省略値として使用されていたweb.xmlのdisplay-nameは、V6.0以降のServletサービスではWebアプリケーション名の省略値として使用されません。
V5.1以前のサーブレットでHTTPトンネリング機能を使用していた場合には、Webアプリケーションのみ運用のタイプのIJServerへ配備し直す必要があります。以下のタイプのIJServerではHTTPトンネリング機能は使用できません。
HTTPトンネリングの設定の詳細については、“セキュリティシステム運用ガイド”の“J2EEのHTTPトンネリング”−“IJServer(Webアプリケーションのみ運用)でのHTTPトンネリングの使用方法”を参照してください。
V5.1以前のServletサービスとV6.0以降のServletサービスの非互換項目を以下に示します。該当する機能をWebアプリケーションで使用している場合には、Webアプリケーションを修正してください。
No. |
機能 |
V5.1以前の |
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管理コンソールの[ワークユニット] > “ワークユニット名” > [環境設定]タブ > [詳細設定] > [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オブジェクト |
|||
V5.1以前の動作と同じ動作をさせる場合には、Interstage管理コンソールの[ワークユニット] > “ワークユニット名” > [環境設定]タブ > [詳細設定] > [ワークユニット設定] > [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>タグに指定されたファイルを表示する場合の動作 |
|
|
注1) javax.naming.NameNotFoundExceptionが発行されます。
注2) 以下の製品で提供している“セキュリティシステム運用ガイド”を参照してください。
目次
索引
![]() ![]() |