テスト環境: Microsoft IIS 5.0, Windows 2000
重要なお知らせ:
現在のところ、JRun は JSP 1.1/1.2 の仕様に準拠していません。
具体的には、 JSP 1.1 修正の "課題点 7" 及び JSP 1.2 最終ドラフト案にある、
独自タグのパラメータの自動での型変換に関する仕様を実装していません。
そのため、JSP ページを Struts taglibs を使用して作成し、
それらがパラメータの(ブール値などの)変換を必要とする場合は JRun
によるコンパイルを行うことができません。
これは Struts サンプルアプリケーションにも含まれており、
試しにサンプルアプリケーションを実行してみると、
結果として次に示すような例外をスローします:
/struts-example/index.jsp:
javax.servlet.ServletException: Compilation error occured:
allaire.jrun.scripting.DefaultCFE:
Errors reported by compiler:
c:/JRun/servers/default/Struts
Example/WEB-INF/jsp/jrun__index2ejspa.java:41:1:41:27:
Error: No match was found for method "setLocale(java.lang.String)".
(詳細についてはこちらを参照してください:
http://www.mail-archive.com/struts-user@jakarta.apache.org/msg01860.html)
次に JRun 配下に Struts サンプルアプリケーションをインストールする方法について記述します。
後に続く章で Struts を動作させるために Struts
サンプルアプリケーションにパッチを当てる方法について記述します。
後続の記述は、以下に記述されていることを前提とします
- 適当な Web サーバに JRun をインストールし、稼動可能にします。
- $APP_SERVER_NAME はアプリケーションが稼動するアプリケーションサーバの名前です(
JRun のインストール直後は、JRun デフォルトサーバをアプリケーションサーバとします)。
- $APP_SERVER_DIR は $APP_SERVER_NAME によって稼動されるアプリケーションを保管するためのディレクトリです。
JRun デフォルトサーバの場合、 JRun をインストールしたディレクトリ $JRUN_HOME 配下の
$JRUN_HOME/servers/default がそのディレクトリになります。
Struts サンプルアプリケーションのインストール
- JRun 管理コンソールにログインします。
- 左枠内から、$APP_SERVER_NAME を選択します。
右枠内のページに選択したサーバの状態が表示されます。
- 右枠内、 WAR 公開リンクをクリックします。
ページ内に現在、公開されている Web アプリケーションのリストが表示されます。
- 右枠内の、アプリケーションの公開をクリックします。
次のようにして Web アプリケーションの情報フォームの入力を完了します:
- サーブレット War またはディレクトリ: struts-example.war
がある場所の完全パスを打ち込むまたは、参照をクリックして選択したパスを入力します。
- JRun サーバー名: $APP_SERVER_NAME
- アプリケーション名: Struts Example
- アプリケーション ホスト: すべてのホスト
- アプリケーションの URL: /struts-example
- アプリケーションの 公開 ディレクトリ: デフォルトでは、
$APP_SERVER_NAME/Struts Example (またはアプリケーション名で指定した名前)
- フォーム入力が完了したら、公開ボタンをクリックします。
- 公開が成功したら、アプリケーションサーバを再起動するために、左枠内の
$APP_SERVER_NAME をクリックします。
右枠内のページに現在のサーバの状態が表示されます。
サーバー再起動ボタンをクリックしてアプリケーションを再起動します。
- 次の URL を入力してブラウザによるサンプルアプリケーションのテストをします:
http://hostname/struts-example/index.jsp
同様の手順を用いて struts-documentation.war をインストールすることができます。
パックされていない Web アプリケーションのインストール
以上のステップによって *.war ファイルによるアプリケーションの公開を行うことができます
パックされていない Web アプリケーションについては、次のステップを踏む必要があります:
- JRun 管理コンソールから、(左枠内の)
$APP_SERVER_NAME
を選択し、(右枠内の) WAR 公開をクリックします。
- 右枠内、アプリケーションの作成をクリックし、
次のようにして Web アプリケーション情報フォームの入力を完了します:
- JRun サーバの名前: $APP_SERVER_NAME
- アプリケーション名: myApplication
- アプリケーション ホスト: すべてのホスト
- アプリケーションの URL: /myApplication
- アプリケーションのルート ディレクトリ: デフォルトでは、
$APP_SERVER_NAME/myApplication
- 作成ボタンをクリックしてフォームを送信します。
- Web アプリケーションが作成されたら、この Web アプリケーションのために Struts コンポーネント
( struts.jar 、 struts*.tld 、など)を
$APP_SERVER_NAME/myApplication/WEB-INF
配下へインストール及び設定します。
- 配備するアプリケーションのコンポーネントをインストールします: .class ファイル、
JSP ページ、 properties ファイルなどが必要です。
- 要求されるアクションサーブレットへの URI の拡張子マッピング(つまりは *.do )を設定するために、
左枠内の
$APP_SERVER_NAME を展開し、さらに Web アプリケーションを展開して
配下の myApplication をクリックします。
右枠内に myApplication の設定オプションが表示されます。
サーブレット URL のマッピングをクリックします。既存のマッピングのリストが表示されます。
編集ボタンをクリックし、次のエントリを作成します:
- 仮想パス/拡張子: *.do
- 呼び出されるサーブレット: action
- 更新ボタンをクリックして変更内容を保存します。
- アプリケーションサーバを再起動します。
- これでブラウザからアプリケーションに接続することができるでしょう。
JRun アプリケーションサーバは Web アプリケーションに対して、
以下のような変更を行うたびに再起動しなければなりません:
.class または .jar ファイルの変更
.properties ファイルの変更
.xml ファイルの変更
Struts サンプルアプリケーションにパッチを当てる
この文書の冒頭で記述したように、 Struts サンプルアプリケーションは修正を行わなければ
JRun 配下で実行することができません。以下の修正を施す必要があります:
- index.jsp, logon.jsp: <html:html locale="true"> から
<html:html locale=<%= true %>> へ変更
- registration.jsp, subscription.jsp: 全てのインスタンスで filter="true" から
filter=<%= true %> へ変更
インストールへ戻る