サーバー: Windows 2000 Server と WebSphere 3.5.3 以上
- adminserverを起動します。
- 管理コンソールを起動します。
- struts-b1ディストリビューション等に含まれるstruts-example.warをConvert War Fileタスクで
変換します。
- default_server、default servlet engine、standard install directory (c:\WebSphere\AppServer\hosts\default_host)
を編集します。
訳者注:
デフォルトではc:\WebSphere\AppServer\hosts\default_host以下に生成される、struts-example以下を編集するという意味のようです。
このディレクトリ以下には"servlets"ディレクトリ、"web"ディレクトリが生成されています。"web"ディレクトリの配下に
"WEB-INF"ディレクトリが生成されているのですが"servlets"ディレクトリ以下にも作成し、設定する必要があるようです。
- WEB-INFディレクトリーを"servlets"ディレクトリー内に生成し、その中に
struts-config.xml、database.xml、web.xmlをコピーします。
("web"ディレクトリ下のWEB-INFディレクトリ内のTLDファイルは消さないでください - 両方のWEB-INFディレクトリが必要です).
- jaxp 1.0.1の (1.1.1のではなく) jaxp.jarとparser.jarをstruts-example Webアプリケーションの
"servlets"ディレクトリにコピーします。
- servletsディレクトリでstruts.jarをWinZipを使って開きます。
3つのDTDファイル(struts-config_1_0.dtd、web-app_2_2.dtd、web-app_2_3.dtd)を取り出し、
servletsディレクトリ内に該当のフォルダ(servlets/org/apache/struts/resources)
を作成して配置します。
- 管理コンソール内の"Default Server->Default Servlet Engine"の下にある
struts-exampleをクリックした後、右側の画面内の"拡張"タブをクリックします。
- エラー・ページの項目に、"/ErrorReporter"と入力して"適用"をクリックします。
- 管理コンソールを使用してDefault Serverを開始します。
default_host_stdout.log ファイルを見てActionServlet郡が例外の発生を報告していないことを確認します。
- ブラウザを使って http://localhost/struts-example/index.jsp に対してアクセスを行います。
- もし "Application not Available" と表示されたら管理コンソールに戻り、
struts-exampleを右クリックして"Webアプリケーションの最始動"を選択してください。
- リスタートが成功したと表示されたら、もう1度ブラウザから先程のURLにアクセスしてください。
ちゃんと動作するはずです。
いくつかの理由からPUBLIC DTDを参照するXMLファイルのインストール作業をうまく行うことが出来ません -
もしdefault_host_stdout.logファイルの中にDTDレジストレーションの中のpublic URLの参照が不正であるという
エラーを見つけた場合、 または表示されたページの中に"cannot find //logon or //saveRegistration" (つまりaction
mappingsが見つからない)と表示された場合には、以下の手順に従ってください。:
- Default Serverを停止します。
- servlets\WEB-INF\ にあるweb.xmlとstruts_config.xmlを編集します。
- DOCTYP 宣言の中のPUBLICの記述をSYSTEMに変更します。
web.xmlから"-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"と書かれている行を削除します。
struts-config.xmlから"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"の記述を削除します。
- 変更を保存し、手順10に戻ります。
トラブルが発生した際のガイド -
もし "Cannot find ActionMappings, etc..." または
"Cannot find key org.apache.struts.MESSAGE" のようなエラーが発生した場合、
アプリケーションはRichard の発見したstruts-configの問題を解決できていない可能性が高いと思われます。
上記の項目が正しく行われていることを確認してください。
もし "//logon or something not found"というような404エラーが発生した場合には
XMLの設定に問題があるためActionサーブレットのプロパティの初期化が行われていません。
上記DTDに関する項目にしたがって対処してください。
最後に、私は確かに十分なテストを行っていませんが、実際のStrutsソースに対しコード修正が必要であるとは「まったく」思っていません。
WebSphere上でStrutsを動作させる際の問題は、ここまでのとおり全てWebSphereの設定に関するものでした。
(そして、これ以上は問題があるとは思いません)
もしDTD内の記述をSYSTEMに変更する場合には、必ずConvert a Warユーティリティを使用した後に
行うようにしてください。Antは反対にこれを処理できないようです! :)
インストールへ戻る