JDKのインストール

Java™ 2 SDK, StandardEdition

j2sdk-1_3_1_07-windows-i586.exe

をインストールします。

インストールパッケージは以下のサイトからダウンロード出来ます。

http://java.sun.com/j2se/1.3/ja/download-windows.html

 

インストールパッケージを実行すると、確認画面、使用許諾の確認ダイアログが表示されます。

内容を確認して、「はい」をクリックします。

 

次にインストール先を指定します。初期設定のままで構いませんが、変更する場合には「Program Files」等の半角スペース等が含まれる配下には配置しないようにします。

次に利用対象とするブラウザー種別を選択します。

 

インストールする内容を選択します。特にHDDの容量が逼迫していなければ、そのまま全ての項目をチェックしたまま「次へ」をクリックします。最小限に留める場合には、Javaソース、デモ、古い〜ヘッダファイルのチェックを外します。

いんすとーるが終了したことを示すダイアログが表示されるので、「終了」をクリックします。

READMEを参照するにチェックを入れると、

   * Introduction

   * Release Notes

   * Bug Reports and Feedback

   * Java 2 SDK Documentation

   * Web Pages

といった内容を英語ですが確認することが出来ます。

JSP-ServletエンジンがJavaコードをコンパイルできるようにJavaコマンドにパスを通します。

マイコンピュータ→右クリック→プロパティ→詳細→環境変数→

を開いて、システム環境変数に以下の内容を新規追加します。既に同名の環境変数がある場合には;(セミコロン)に続いて値を追加します。

PATHF:\jdk1.3.1_07\binを追加。(実際にはインストール先のフォルダに合わせる)

CLASSPATHF:\jdk1.3.1_07を追加。(同上)

JAVA_HOMEF:\jdk1.3.1_07を追加。(同上)

Tomcatのインストール

tomcat-4.1.24.exe

上記のようなぢあろぐが表示される場合には、正しく環境変数JAVA_HOMEに値が格納されていません。値が正しい必要はなく、値が設定さえされていればこのダイアログ自体は出ないはずです。

正常に環境変数JAVA_HOMEが設定されていれば上記のようにJDKコンポーネントのパスについて確認のダイアログが表示されます。

 

使用許諾の内容を確認して「I Agree」をクリックします。

必要なコンポーネントを選択してインストール出来ますが、特に理由がなければ初期設定のままにしておきます。

 

インストール先フォルダを指定します。一般的には半角スペースを含まないように指定することが推奨されますが、ここでは初期値のパスを採用してインストールを進めます。

これは経験的にこのままで問題がないと判断するためです。

次にブラウザからApacheサーバーに接続するためのポート番号と、Administrator(アドミニストレーター:管理者)として作業を進める際に必要なIDとパスワードを設定します。

ここではパスワードを「password」とします。インターネットに公開されるApacheサーバーを構築する場合には、第三者に漏洩や想像されないパスワードを設定します。

 

以上でTomcatのインストールが終了し、自動的に作成されたスタートアップフォルダが表示されます。

この内容はスタート→プログラム→Apache Tomcat 4.1の内容と同じです。

Start TomcatTomcatを起動し、Stop Tomcatは停止することが出来ます。

試しにStart Tomcatをダブルクリックします。

上記のようなログが表示されて、Apacheサーバープロセスが起動します。

このサーバーに対して接続をするには、ブラウザから以下のURLを入力します。

http://localhost:8080

:8080」はポート8080にアクセスすることを意味しています。通常は指定がなければ80ポートにアクセスするようになっているため、今回は明示的に指定しています。

上記のような標準のページが表示されれば正しくサーバーが動作していることを確認出来ます。

実際に、フォルダ、ファイルをApacheHDD上に展開してこれらをブラウザから参照させるには、フォルダ、ファイルの実態を作成し、Apacheに認識させるために設定ファイルを編集します。

上記ページの実態は以下のフォルダに存在しています。

F:\Program Files\Apache Group\Tomcat 4.1\webapps

F:\Program Files\Apache Group\Tomcat 4.1\Apacheをインストールした場合)

従ってこの配下にフォルダやファイルを展開することになります。

ここではlessonsなるフォルダとその配下に幾つかのJSPファイルを展開します。

strcmpOutput.jsp

strcmpInput.jsp

次に、以下のファイルをテキストエディタで編集します。

F:\Program Files\Apache Group\Tomcat 4.1\conf\ server.xml

<!-- Tomcat Examples Context --> なる記述を検索して見つけ出します。

上記のフォルダを見て分かるとおり、インストール直後に既に存在しているexamplesというフォルダに対応した設定項目であることが分かります。これらの設定項目は、

<Context path="/examples" docBase="examples" debug="0"

                 reloadable="true" crossContext="true">

</Context>

の間に挟まれている各記述で定義・設定されています。

これは、xmlという拡張子から分かるとおりTomcatの設定がタグ言語であるXML形式で記述されていることからも理解出来ます。

このexamplesの定義が終了する</Context>の記述の下に以下の定義を追加します。

<!-- Tomcat Lessons Context -->

<Context path="/lessons" docBase="lessons" debug="0"

                 reloadable="true" crossContext="true">

</Context>

server.xmlを上書き保存します。

Tomcatを再起動します。スタート→プログラム→Apache Tomcat 4.1Stop Tomcat

をクリックして停止した後に、Start Tomcatをクリックして開始します。

Tomcatの起動を確認したら、今度はブラウザから以下のURLにアクセスします。

index.htmがあればそれが表示されますが、lessonsフォルダ配下にindex.htmはありませんのでフォルダの内容が一覧表示されるはずです。

Strutsのインストール

Strutsとは支柱という意味で、一からJSPを構築するのではなくて、共通化できる部分は共通化するなどより効率的に開発を進められるようにしたJakartaプロジェクトで提供されている開発環境下地のようなものです。

従来の開発

サーバーアプリケーション

プラットフォーム

フレームワーク(Struts)を導入した開発

サーバーアプリケーション

フレームワーク

プラットフォーム

このように、手作りしなくてはならない部分が簡略化される。

結果として、開発工数の削減、バグの削減等が期待できる。

インストールに際しては、

http://jakarta.apache.org/builds/jakarta-struts/release/v1.0.2/

から(トップから最新版を探してください)ダウンロードしました。

jakarta-struts-1.0.2.zipLhaplusでの解凍に失敗したため、jakarta-struts-1.0.2.tar.gzをダウンロードして解凍します。

http://www.ingrid.org/jajakarta/struts/struts1.0/ja/target/documentation/installation.html

に従ってインストールを進めます。

展開したファイルのそれぞれの役割は以下の通りです。

  • lib/struts.jar - このJARファイルはStrutsの全てのJavaクラスを含んでいます。同じServletコンテナ上で複数のStrutsをベースとしたアプリケーションを動作させるのであれば、 struts.jarファイルをコンテナのサポートする共有リポジトリに配置すれば良いように思われますが、実はアプリケーションの全てのクラスを共有リポジトリに格納しなければ ClassNotFoundExceptionエラーの原因となります
  • lib/struts*.tld - これらは、"タグライブラリ記述子"と呼ばれる、さまざまなStrutsタグライブラリの中のカスタムタグを記述したものです。

実際に必要となるのは、上記の二つのコンポーネント群になります。
これより以下に記載のコンポーネントは基本的にサンプルや、開発の参考となる付加的コンポーネントです。

  • webapps/struts-blank.war - これは、Strutsベースのアプリケーションを作る際の出発点となる、 シンプルな "Webアプリケーションアーカイブ"ファイルです。 上記の二つの必須コンポーネントが含まれたアプリケーションフォルダを作成してくれます。
  • webapps/struts-documentation.war - これは、 Struts web サイトにあるStrutsドキュメントの全てを含んだ "Webアプリケーションアーカイブ"ファイルです) Servlet API 2.2以降互換のServletコンテナにインストールすることができます。
  • webapps/struts-example.war - これは、 Strutsの機能の大部分を利用したサンプルWebアプリケーションです。 Servlet 2.2(またはそれ以降)JSP 1.1(またはそれ以降)互換のServletコンテナにインストールすることができます。 もし、コンテナにおいてwebアプリケーションがXMLパーサを利用できないのであれば、 そのwebアプリケーションのWEB-INF/libディレクトリにXMLパーサを追加する必要があります。
  • webapps/struts-exercise-taglib.war - このwebアプリケーションは、 Strutsのサポートするさまざまなカスタムタグのためのテストページを含んでいます。 これは、Strutsカスタムタグを拡張しようとする開発者のためになり、 さまざまなStrutsタグの利用方法の簡単なサンプルとしても有用です。
  • webapps/struts-template.war - このwebアプリケーションは、 Strutsテンプレートタグの紹介とデモです。
  • webapps/struts-upload.war - このwebアプリケーションは、 Strutsフレームワークを用いたファイルのアップロードの簡単なサンプルです。

blank.warを利用せずに、手動でStrutsを利用する環境を作成するには以下の操作を行います。

  • lib/struts.jarを、Strutsのディストリビューションから、webアプリケーションのWEB-INF/lib ディレクトリにコピーします。
  • Strutsのディストリビューションからlib/struts*.tldに一致する全てのファイルを、 あなたのwebアプリケーションのWEB-INF ディレクトリにコピーします。
  • webアプリケーションのWEB-INF/web.xmlファイルを修正して<servlet> 要素を追加し、コントローラサーブレットを定義します。 そして<servlet-mapping>要素を追加し、どのリクエストURIがこのServletにマップするのかを確立させます。 StrutsサンプルアプリケーションのWEB-INF/web.xmlファイルを、 必要なシンタックスの詳細なサンプルとして利用します。
  • webアプリケーションのWEB-INF/web.xmlファイルを修正して、 以下のタグライブラリ宣言を含めるようにします:
<taglib>
  <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
 
<taglib>
  <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
 
<taglib>
  <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
 
<taglib>
  <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
  • アプリケーション固有のアクションマッピングやその他の特徴を定義する WEB-INF/struts-config.xmlファイルを作成します。 Strutsサンプルアプリケーションのstruts-config.xmlファイルを、 必要なシンタックスの詳細なサンプルとして利用します。
  • Strutsカスタムタグを使う各JSPページの先頭に、下記のようにStrutsカスタムタグライブラリの宣言文を追加します:
<@ taglib uri="/WEB-INF/struts-bean.tld" prefix="struts-bean" %>
<@ taglib uri="/WEB-INF/struts-html.tld" prefix="struts-html" %>
<@ taglib uri="/WEB-INF/struts-logic.tld" prefix="struts-logic" %>
<@ taglib uri="/WEB-INF/struts-template.tld" prefix="struts-template" %>
  • アプリケーションを構成するJavaクラスをコンパイルする際、 (先ほどコピーした)struts.jarファイルをコンパイラが認識するCLASSPATHに確実に追加します。

warファイルを使って環境を展開した方が簡単なので、以下の操作を行います。

生成されたファイルから、以下のファイルをF:\Program Files\Apache Group\Tomcat 4.1\webappsにコピーします。

このとき、Tomcatは停止しておきます。

コピー後にTomcatを起動すると自動的に必要なフォルダを作成し、ファイルを展開します。

ファイルが展開されたことはTomcatのログを見れば分かりますので、正しく展開されたら以下のURLにアクセスして内容を確認します。

http://localhost:8080/struts-example/

このようなページが表示されればインストール成功です。

以下のサイトを参考にさせて頂きました。

http://www3.coara.or.jp/~agt/struts/

http://homepage2.nifty.com/ymagic/struts/

以下のサイトではStrutsについて理解できます

http://www-6.ibm.com/jp/developerworks/java/010824/j_j-struts.html

Extension for Struts

ここまでは、Jakartaプロジェクトで公開されているフレームワークですが、IBMがそのノウハウを反映して拡張を行った「Extension for Struts」というものが存在します。以下は、@ITの記事からの抜粋です。

Extension for Struts」は、Struts v.1.0.2をベースに、同社がこれまでWebSphereビジネスで積み重ねてきたノウハウを投入し、Webアプリケーション構築において頻繁に使用される6つの機能拡張を追加した。

事前/事後処理機能の提供

セッション・マネジメントの機能拡張(HTTPSessionオブジェクトが必ず同期化され、一時点で同一Webブラウザからのリクエストが1つだけ処理される)

スクリーン・オーダー・コントロールの機能拡張(画面の呼び出しが正しい順序で行われることを保証する)

ログ機能の強化

リソース・ラッパーの追加(リソースの取得を補助し、JNDI LookUpによるオーバーヘッドを回避する)

キャラクター・タイプ・チェックの追加(入力された文字の妥当性検査を提供する)

 時期は確定していないが、同社ではJakartaプロジェクトへの「Extension for Struts」の“寄贈”も予定している。

 「Extension for Struts」は、日本IBMが手を加えたとはいえ、オープンソースのフレームワークであり、ソースコードもすべて無償で提供されることになる。ただし、同社の動作検証はWebSphere4.0.3上でしか行っておらず、「他ベンダのアプリケーション・サーバ上でも、論理的には動作するが、保証はできない」

つまり、Windows上のTomcatStrutsでも理論上は動作すると言うことになります。

実際、動作しなければJAVAのオープンプラットフォーム性は意味をなさなくなります。

そこで、この「Extension for Struts」をWindows上の環境に構築することにしました。

Extension for Struts」のダウンロード

http://www-6.ibm.com/jp/software/websphere/developer/download/wasstx.html

からダウンロードできます。2003428日時点ではstx-1.1です。

インストールや使用方法についてはあまり情報がありません。

あまり詳細な情報とはいえませんが、インストールに関しては以下のサイトにあるPDFが参考になります。

http://www-6.ibm.com/jp/software/websphere/developer/j2ee/struts/

http://www.apache.org/dist/jakarta/commons/lang/

からSTXで利用されるCommon Loggingコンポーネントをダウンロードします。

ダウンロードしたアーカイブファイルを解凍してファイルを展開します。

STXのファイルを手動で配置するには、クラスと設定ファイルをコピーする必要がありますが、blankアーカイブを使えば簡単にベースとなるフォルダ構造を展開することができます。

たとえばTomcat 4.1\webapps\struts-blankを利用して構成する場合には、struts-blankなるフォルダの名前を変更してstxtestなどとしてから構成を変更したり編集していきます。

http://localhost:8080/stxtest/

にアクセスして、上記のようなメッセージが表示されれば準備が出来ていることを確認出来ます。

Blankアーカイブを使わずに、手動でSTXのアーカイブファイルを展開したファイル群からコピーをする場合は以下のようにします。

stx-1.1\target\library\classesTomcat 4.1\webapps\stxtest\WEB-INFにフォルダ毎コピー

(既にフォルダが存在しているため、上書き確認されるがそのまま続行します)

stx-1.1\target\blank\WEB-INF \lib\ stx.jarTomcat 4.1\webapps\stxtest\WEB-INF\libにコピー

stx-1.1\target\blank\WEB-INF \lib\ wsx-stx-character.tldおよび、wsx-stx-screen.tldTomcat 4.1\webapps\stxtest\WEB-INFにコピー

stx-1.1\target\blank\WEB-INF \lib\ wsx-stx-config.xmlTomcat 4.1\webapps\stxtest\WEB-INFにコピー

stx-1.1\sample\*.warファイルはSTXを使ったサンプルのアーカイブです。

これらをTomcat 4.1\webappsにコピーして、Tomcatを再起動します。

(Tomcat起動中にコピーを行うと直ちに展開されますので、それでも構いません)

更に、stx-1.1\dist\webappsにあるサンプル*.warファイルをTomcat 4.1\webappsにコピーします。

サンプル用のフォルダTomcat 4.1\webapps\wsx-stx-sampleが展開されます。

実際に動作させるにはDBMSとの連携が必要となるため、連携しなくても表示できるように以下の変更を施します。

Tomcat 4.1\webapps\wsx-stx-sample\WEB-INF\wsx-stx-config.xml

を編集します。

前略

    <datasources>

       <datasource>

           <property name="user" value="db2inst1"/>

           <property name="password" value="db2inst1"/>

           <property name="transactionIsolation" value="TRANSACTION_NONE"></property>

           <property name="readOnly" value="true"/>

           <property name="autoCommit" value="true"/>

       </datasource>

       <datasource jndiName="java:comp/env/jdbc/StoreDS">

           <property name="user" value="db2inst1"/>

           <property name="password" value="db2inst1"/>

           <property name="transactionIsolation" value="TRANSACTION_READ_UNCOMMITTED"/>

           <property name="readOnly" value="true"/>

           <property name="autoCommit" value="false"/>

       </datasource>

       <datasource jndiName="java:comp/env/jdbc/SampleDS">

           <property name="user" value="db2inst1"/>

           <property name="password" value="db2inst1"></property>

           <property name="transactionIsolation" value="TRANSACTION_READ_COMMITTED"/>

           <property name="readOnly" value="true"/>

           <property name="autoCommit" value="true"/>

       </datasource>

    </datasources>

中略

    <jms>

       <QueueConnectionFactory jndiName="java:comp/env/jms/Q_FACTORY">

           <property name="user" value="db2inst1"/>

           <property name="password" value="db2inst1"/>

        </QueueConnectionFactory>

    </jms>

後略

なる内容の<datasources>タグと、<jms>タグに囲まれた部分をコメントアウトします。実際には<!--および-->で囲めばコメントアウトできます。

これらは設定の内容を見ても「db2」といった記述があることからも分かるとおり、DB2を用いたDBMSの利用を抑制するためです。当然、DBMSを使用するサンプルは全てを検証することは出来ません。

DB2IBMが提供するDBMSで、検証用のパッケージを入手することも出来るので、実際にはこれらの設定を生かした構成を再現することも可能です。

http://localhost:8080/wsx-stx-sample

にアクセスして以下のような画面が表示されれば正しく構成されていると判断できます。

Copyright (c)1998-2006
Fujigoma Project Presents.
CNXGROUP All Rights Reserved.