【開発環境とサンプルアプリケーション】
Strutsのアプリケーションを開発するのに必要な最低限度の開発環境を準備し、Apacheから提供されているサンプルアプリケーションを動かします。
今回は以下の順番で説明していきます。
(1)必要なソフトウェアを準備する
(2)struts-1.3.10-allの構成
(3)サンプルアプリケーションを動かす
(1)必要なソフトウェアを準備する
・Struts 1.3.10
・Tomcat
・JDK
・Eclipse
正直、Struts以外のバージョンは、古すぎなければ何でも良いと思います。
ちゃんとしたい人は下に記した対応表に従って、TomcatとJDKは揃えましょう。
Strutsが要求するjavaやservletのバージョンを示す資料が見当たらなかったのですが、私が開発していた頃は「Tomcat 6.0.x」と「Java 5」の組み合わせでした。
バージョンは上記以降を使えば問題は起きないと思います。(恐らく下位互換はするので)
「サーブレット/JSP/Tomcat/Java」の対応表は以下。
Servlet | JSP | Apache Tomcat | Java |
4.0 | TBD (2.4?) |
9.0.x | 8以前 |
3.1 | 2.3 | 8.0.x | 7以前 |
3.0 | 2.2 | 7.0.x | 6以前(WebSocket 1.1が7以降を要求) |
2.5 | 2.1 | 6.0.x | 5以前 |
2.4 | 2.0 | 5.5.x(archived) | 1.4以前 |
2.3 | 1.2 | 4.1.x(archived) | 1.3以前 |
2.2 | 1.1 | 3.3.x(archived) | 1.1以前 |
参考URL:tomcat(apache)のサイト
Strutsアプリケーションを動かす(Tomcatをインストールする)コンピュータはWindowsでもLinuxでもどちらでもOKです。ひとまずWindowsの前提で記述していきます。Linux環境の場合もディストリビューションに合わせて同様のソフトウェアインストール等を行うだけです。
【環境構築手順】
①JDK(Java)ダウンロード+セットアップ
OracleのJava SEダウンロードサイト(ここ)にアクセスします。
最新版のJDKを入れる場合は、そのまま最新版のJDKのDownloadボタンを押下します。
次のページではマシン環境ごと、ファイルをダウンロードすることができます。
Windows環境であれば以下のどちらかをダウンロード。
・64bitOS環境→ Windows x64
・32bitOS環境→ Windows x86
過去のバージョンのJDKを入れる場合は、画面を一番下までスクロールし、Java ArchiveのDownLoadボタンを押下します。
次のページでメジャーバージョン(Java SE 5やJava SE 6など)を選択し、「Java SE Development Kit メジャーバージョンuマイナーバージョン」のリンクを選択。その後はマシン環境ごとのファイルリンクを選択し、ダウンロードを行います。
インストール手順については指示通り進むぐらいなので割愛。
インストール後は以下の環境変数を設定しておきましょう。
・Path:Javaインストールフォルダ\binのパス(既存の環境変数に追加)
・JAVA_HOME:Javaインストールフォルダのパス(なければ新規作成)
②Tomcatダウンロード+セットアップ
Apacheのサイトにアクセスします。(ここ)
左側のDownloadの項目から、ダウンロードしたいバージョンのTomcat x.0のリンクを選択。
(Which version?を選択すると、JSP/サーブレットとTomatのバージョンごと対応が確認できる)
Coreの項目から、マシン環境に該当するものをダウンロードします。Windowsが64bitか32bitかに応じてzipを選択。
※Windowsサービス登録を行いたい場合はインストーラ形式(…Installer)をDL
※Linux環境の場合はtar.gzをDLしてLinux上で展開
※ItaniumはIA64/32というx86とは別の特殊なアーキテクチャ用
ファイルダウンロード後は解凍し、作成されたフォルダを適当な場所に置いておきます。
こちらも以下の環境変数を設定しておく必要があります。
・CATALINA_HOME:Tomcat解凍後フォルダのパス(なければ新規作成)
※解凍後のフォルダとは、binフォルダ等の1つ上の階層を指します
※既存の設定値に追記する場合の区切り文字(;)があるが、最後に設定した値の後ろには必要ない(付けると、起動時にエラーとなるので注意)
Tomcat解凍後フォルダ\bin\startup.batを実行します。(停止はshutdown.bat)
実行に失敗する場合、後述のポート変更対応を行ってください。
その後ブラウザで、URL「http://localhost:8080」にアクセスし、以下のような画面が表示されればOKです。
もしTomcatが使用する通信ポート8080が他のアプリケーションで使用されている場合、以下のようにファイルを編集する事でポートを変えましょう。
ファイル「Tomcat解凍後フォルダ\conf\server.xml」をテキストエディタ等で開き、以下の箇所を編集。8080を適当に競合しないポートに変えます。ちなみに以下と同じような記述(コメントアウト済み)が複数個所にあるので、コメントアウトされた箇所を修正してもポートは変わりません。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
ブラウザでURL「http://localhost:変更後ポート番号」にアクセスし、Tomcatの画面が表示されるか確認しましょう。
③Eclipseダウンロード+セットアップ
必須ではありませんが、strutsは構成ファイル数がそれなりにあるので、IDE(統合開発環境)があると助かります。NetBeansでも何でも良いですが、とりあえずEclipseのみセットアップ方法を記述しておきます。
私はマシンスペックが高ければ①Eclipse All in One、マシンスペックが低ければ②Eclipse classicを使ってます。
とりあえずダウンロード。
①Eclipse All in One(ここから)
※Eclipseのバージョンはお好みで、JDKインストール済みならStandard Edition、ないならFull Editionを選択
②Eclipse classic(ここから)
※4.2.2のリンクですが、作業時点で最新のものを検索してダウンロードする方が良いと思います
Eclipseはダウンロード後、展開してすぐ使えます。
プラグインとしてプロパティエディタを入れておくと、Strutsでvalidationを使う際のプロパティファイル編集が可能になります。
④strutsダウンロード
当然ながらサイト上ではStruts 2がメインのページになっていますが、Struts 1.3もダウンロード可能です。(ここから)
画面を下にスクロールすると、Struts 1.3.10の項目があります。サンプルソース等が含まれるFull Distributionの「struts-1.3.10-all.zip」をダウンロードします。
これで、一通り開発に必要なファイルが揃いました。
(2)struts-1.3.10-allの構成
「struts-1.3.10-all.zip」を展開すると多くのファイルが内包されています。初めて見る人は良くわからないと思うので、以下の説明資料を残します。
■struts-1.3.10-all全体構成
■ライブラリ(最低限必要なファイル)
■サンプルコード(struts 1.3.10\apps内)
■struts-1.3.10-all全体構成
ファイル/フォルダ名 | 内容 | 備考 |
LICENSE.txt | ライセンスについて | とても長い |
NOTICE.txt | 注意事項 | とても短い |
appsフォルダ | サンプルアプリケーション | warファイル(WEBアプリケーションをアーカイブ(1ファイル化)したもの) |
docフォルダ | struts1のドキュメント(HTML) | index.htmlを開く |
lib | struts用ライブラリ | 20個のjarファイル |
src | ソースコード | サンプルコード及びライブラリのソースコード |
■ライブラリ(最低限必要なファイル)
ライブラリ名 | 内容 |
antlr-2.7.2.jar | パーサ(構文解析)/レキサー(字句解析)ジェネレータ |
commons-beanutils-1.8.0.jar | JavaBeans用のユーティリティ(役立つ機能) |
commons-chain-1.2.jar | Chain of Responsibility パターン(デザインパターン)サポート用API |
commons-digester-1.8.jar | XML→Javaのデータバインディングツール(データの結合) |
commons-logging-1.0.4.jar | ログ出力機能 |
commons-validator-1.3.1.jar | 妥当性チェック機能 |
oro-2.0.8.jar | Perl5互換正規表現API |
struts-core-1.3.10.jar | 各種Strutsコアライブラリ |
struts-extras-1.3.10.jar | 拡張アクション(DispatchActionクラス等)、標準プラグイン等 |
struts-taglib-1.3.10.jar | タグライブラリ(HTMLタグ等) |
struts-tiles-1.3.10.jar | Tilesタグライブラリ(画面の部品再利用等) |
■サンプルコード(struts 1.3.10\apps内)
warファイル名 | 内容 |
struts-blank-1.3.10.war | 各処理(Action)のないクラス、propertiesの値表示画面(JSP) |
struts-cookbook-1.3.10.war | 各種Strtus処理のサンプルページ |
struts-el-example-1.3.10.war | 各種タグのサンプルページ |
struts-examples-1.3.10.war | タグ、validator等の様々な処理のサンプル |
struts-faces-example1-1.3.10.war | JSF(MVCモデル2,POJO使用フレームワーク)関連のサンプル |
struts-faces-example2-1.3.10.war | JSF(MVCモデル2,POJO使用フレームワーク)関連のサンプル |
struts-mailreader-1.3.10.war | メール関連のStrtusサーバーアプリサンプル(アカウント統合管理) |
struts-scripting-mailreader-1.3.10.war | メール関連のStrtusサーバーアプリサンプル(アカウント統合管理) |
(3)サンプルアプリケーションを動かす
サンプルアプリケーションを動かす手順は非常に簡単で、warファイルをTomcatのwebapps内に配置するだけです。
【手順】
①warファイルを移動
struts 1.3.10\apps内のwarファイルを全て、tomcat展開フォルダ直下のwebappsフォルダ内にコピーします。(特定のサンプルだけを動かしたい場合は、全て移動しなくてもよい)
②Tomcat起動
Tomcatを起動します
③ブラウザでアクセス
ブラウザを開き、URLに「http://localhost:ポート番号/サンプルアプリのwarファイル名(.war除く)」を入力。
例)tomcatがローカルで動作し、ポート番号が8080の環境でstruts-blank-1.3.10.warを動作させる場合
URL「http://localhost:8080/struts-blank-1.3.10/」
以上でサンプルアプリケーションの動作確認は完了になります。
最後に、実はサンプルアプリの1つを使うだけで基本的なstrutsの学習を行う事が出来ます。ファイル「struts-cookbook-1.3.10.war」はstrutsの基本挙動、strutsタグ、validator(エラーチェック)等の全てのサンプルとソースコードを見る事ができるようになっています。
サンプルさえあれば学習できる方はこのままサンプルを編集しながら、挙動を確認して学習するのが手っ取り早いかと思います。
とりあえず以下が「struts-cookbook-1.3.10」の画面。
左側にMultiboxやLinks等の使用している技術について書かれており、それぞれ「Execute」が実際の挙動、「View Source」で使用したソースコードが閲覧できます。
本サイトでは、サンプルアプリの編集→新規strutsアプリ作成→タグ/validatorの学習の順で進めていきます。