Strutsフレームワーク
ようこそ
トップページ
キックスタートFAQ
ユーザガイド
リソース
私たちは誰でしょう
ダウンロード
バイナリ
ソースコード
はじめよう
インストール
リリースノート
APIドキュメント
メーリングリスト
バグ データベース
開発者ガイド
Beanタグ
HTMLタグ
Logicタグ
Templateタグ
Digester
Utilities
タグライブラリ ドキュメント
Beanタグ
HTMLタグ
Logicタグ
Templateタグ
現在の開発
インストール(ナイトリビルド)
リリースノート(ナイトリビルド)
APIドキュメント(ナイトリビルド)
ワークフローの提案
TODOリスト
Strutsをサーブレットコンテナにインストールする

WebSphere Application Server 3.5 FixPack 2

  • 以下の記述で $WAS_HOME は、WebSphereアプリケーションサーバーを インストールしたディレクトリー、$STRUTS_HOME は Strutsのバイナリ配布版を展開したディレクトリーを指します。
  • 3.5.2以前のWebSphereはJSP 1.1 と Servlet 2.2をサポートしていないため、 Strutsを動作させるためには非常に多くのコードの変更を必要とします。 ぜひStrutsを利用する前に3.5.2へのアップグレード(3.5にFixPack 2を適用する)を行ってください。 http://www.ibm.com/software/webservers/appserv/efix.html のWebSphere 3.5 FixPack 2のダウンロード方法、インストール方法を参照してください。
  • 注意: WebSphere 3.5.2でStrutsを動作させるためには一部修正が必要となります。 WebSphere 3.5.3 (このドキュメント記述時にはまだリリースされていません) ではこの問題は修正されているはずです。 しかし、WebSphere 3.5.2 で Strutsを起動させることは可能です。
  • WebSphere Application Serverが起動していることを確認します。 Windows NT/2000の場合、"IBM WS AdminServer" サービスがこれに該当します。
  • WebSphere 管理コンソールを起動します。
  • Administrative コンソールが起動したら、 "Convert a War File"を ツールバー上のウィザードボタンのオプションまたはコンソール->タスクから選択します。 "Convert War File" ウィザードダイアログが表示されます。
  • Warファイルを展開して生成したWebアプリケーションを動作させるサーブレットエンジン (例. "Default Servlet Engine")をツリーコントロールを展開して選択し、"次へ"ボタンを押します。
  • 登録するWebアプリケーションに関連付ける仮想ホスト(例. "default host")を選択し、 "次へ"ボタンを押します。
  • "Browse"ボタンを押し、$STRUTS_HOME/webapps/struts-example.warを選択して、 "次へ"ボタンを押します。
  • 登録するWebアプリケーションリソースの対象ディレクトリ (例. $WAS_HOME/hosts/default_host) を選択し、"次へ"ボタンを押します。
  • "Web Application Web Path" (例. struts-example)と "Web Application Name" (例. struts-example) を入力し、"終了"ボタンを押します。
  • ある程度待たされた後、「コマンド"warfile.convert"は正常に終了しました。」 と表示された情報ダイアログが 表示されるはずです。OKを押してください。
  • JAXP 1.0.1からjaxp.jar とjaxpに互換性のあるパーサー(例. parser.jar)を struts-example Webアプリケーションのサーブレットのディレクトリ (例. $WAS_HOME/AppServer/hosts/default_host/struts-example/servlets)に配置します。
  • WAS 3.5.2 がServlet 2.2の仕様に完全に準拠していれば問題はないはずなのですが、 WAS 3.5.2 は ServletContext.getResource(String) または、 ServletContext.getResourceAsStream(String)をコールするとnullをリターンします。 これはアプリケーションサーバーのstdoutログ(例. default_server_stdout.log.)内の exceptionを見れば明らかです。
  • 注意: 管理コンソールからのWebアプリケーションの起動が成功しても、それを鵜呑みにしないでください。 実際には正常に起動していません。管理コンソールは嘘をつきます。 Webアプリケーション(例. http://localhost/struts-example/)にアクセスしても失敗します。
  • Strutsのソースを修正する必要があります。 getResourceAsStream をコールしている 以下の3箇所を修正してください。
    ResourceTag.doStartTag()
    ActionServlet.initMapping()
    PropertyMessageResources.loadLocale(String)

中でも ActionServlet が一番重要です。

  • ソースの以下の部分
    // Acquire an input stream to our configuration resource
    InputStream input = getServletContext().getResourceAsStream(config);

を以下のように変更します。

    // Acquire an input stream to our configuration resource
    InputStream input = new 
      java.io.FileInputStream(getServletContext().getRealPath(config));
 
  • 必要があれば他のクラスにも同様の変更を行ってください。.
  • ActionServletをリコンパイルし、.class ファイルを
    $WAS_HOME/AppServer/hosts/default_host/struts-example/servlets/
    org/apache/struts/action/ActionServlet.class

    にコピーします。
  • WAS 3.5.2のクラスローダーには Class.getResource() が jar からリソースをロードできないというバグがあるため、
    $STRUTS_HOME/lib/struts-config_1_0.dtd

    $WAS_HOME/AppServer/hosts/default_host/struts-example/servlets/org/apache/struts/resources/struts-config_1_0.dtd
    にコピーするか、インターネットに接続し、jakarta WEBサイトのDTDを参照できるようにしてください。
  • 管理コンソール内のWebアプリケーションを起動します。
  • ブラウザから次のURLをロードし、サンプルアプリケーションをテストします。 http://localhost/struts-example/

  • 著者: dIon Gillard

インストールへ戻る


[訳注: これは日置 聡が翻訳しました。日本語訳に対するコメントがあれば、report@jajakarta.orgに送って下さい。]
Copyright (c) 2000-2002, Apache Software Foundation