■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
                      2008年04月27日

    楽しいJava講座 - 初心者から達人へのパスポート
                  vol.101

                                セルゲイ・ランダウ
 バックナンバー: http://www.flsi.co.jp/Java_text/
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


[このメールマガジンは、画面を最大化して見てください。]


========================================================
◆ 01.Tomcatのアプリケーション開発
========================================================


では、Webアプリケーションをデプロイしましょう。
デプロイとは何ぞや、については、既にvol.072で説明していま
すので、忘れた人はそちらを参照してください。

一般にWebアプリケーションを実行するサーバーは
オペレーティング・システムとしてはUNIX(ユニックス)または
Linux(リナックス)を使っている場合が多いのですが、Linuxは
UNIXと操作の仕方がほとんど同じで、かつ、Linuxはオープン・
ソースなので無料で手に入ります。また、Linuxは普通のパソコン
にインストールできます。

という訳で、できればLinuxのサーバーを作って、そこにデプロイ
する方法を説明したかったのですが、そのためにはLinuxのインス
トールや操作方法を説明する必要があり、それにかなりの時間を
要しますので、別途時間をとって説明することにします。

今回はとりあえず、今まで使ってきたWindows(Windows 2000または
Windows XP)の環境にデプロイする方法を説明いたします。
(なお、Windows環境のパソコンをもう1台持っている人は、その
パソコンにTomcatとMySQLをインストールして、そこにデプロイして
みてください。後で説明するように、絶対的なURLを指定してしまっ
た場合の問題点などがよくわかります。)


Webアプリケーションをデプロイするためには、関連ファイルを
WAR(Web Archive)ファイルと呼ばれるアーカイブ・ファイル
(JARファイルと同様に必要なファイルを取りまとめて圧縮したファイル)
にまとめて行う方法があり、この方法を使うと作業が楽になります。
しかし、この方法を使ったのでは、デプロイの仕組みがわかりにくくなっ
てしまいますので、今回は、デプロイに必要な環境と作業をよく理解
してもらうために、手動でデプロイする方法を説明します。


(1) Webページの配置

まず、Tomcatをインストールした環境に、Webアプリケーションを
保管するためのディレクトリーを以下のようにして用意しましょう。
(ディレクトリーとは、Windowsでフォルダーと呼んでいるものです。)
(vol.070に従って、TomcatがC:\Tomcat6.0にインストールされている
ことを前提とします。)

C:\Tomcat6.0ディレクトリーの下(あるいは下というより中といったほうが
わかりやすいかな?)にwebappsというディレクトリーがあることを
確認してください。このディレクトリーがWebアプリケーションを配置
するためのディレクトリーです。
このディレクトリーの下に、今回作成したWebアプリケーションを配置する
ためのディレクトリーを作成します。ディレクトリー名(フォルダー名)
は、JStudy2(= Eclipseでのプロジェクト名)とします。
つまり、

C:\Tomcat6.0\webapps\JStudy2

というフォルダーを作成します。
(このJStudy2というディレクトリー名は学習用のディレクトリーとして
適当に付けたものですが、実用的なWebアプリケーションでは、そのアプリ
ケーションを表現する適切な名前にすべきです。)

このディレクトリーはWebのページが保管されるトップのディレクトリー
となり、いわゆる「ドキュメント・ルート」(document root = Webの文書を
保管するディレクトリーの木構造の根に相当する部分)と呼ばれるもの
です。

つまり、これまでに作成したHTMLやJSPのファイルはここに保管する
ことになります。(あるいはこのディレクトリーの下にさらにサブ
ディレクトリーを作成してWebページを保管してもかまわないのですが、
当アプリケーションでは簡単のためにこのディレクトリーにすべての
HTMLやJSPのファイルを保管するようにしました。)

では、Eclipseのワークスペースのフォルダーの中のJStudy2フォルダー
つまり、

C:\JavaWorks\JStudy2

から

C:\Tomcat6.0\webapps\JStudy2

にHTMLやJSPのファイルをコピーしましょう。(Eclipseは起動しない
でください。)
HTMLやJSPのファイルというのは、拡張子が.htmlになっているファイルや
.jspになっているファイルです。他のファイル(たとえば.classpathや
.projectなど)はEclipse用のファイルであって、Webアプリケーションの
ファイルではありませんので、コピーしないでください。

(2) サーブレットやBeanの配置

さて、ここで、Eclipseのワークスペースのフォルダーの中のJStudy2フォルダー
の下にある(サブ)フォルダーを見てください。WEB-INFというフォルダーが
ありますね。つまり、

C:\Tomcat6.0\webapps\JStudy2\WEB-INF

というディレクトリーがあります。このフォルダーの中を見ると、

web.xml

というファイル(これはお馴染みのファイルですね)と

classes

というフォルダーと

lib

というフォルダーがありますね。
これらのファイルやフォルダーもそのまま

C:\Tomcat6.0\webapps\JStudy2

の下に、同じ階層構造のままコピーしてください。
つまり、それぞれ、

C:\Tomcat6.0\webapps\JStudy2\WEB-INF

C:\Tomcat6.0\webapps\JStudy2\WEB-INF\classes

C:\Tomcat6.0\webapps\JStudy2\WEB-INF\lib

というフォルダーおよびその中のファイルが作成されることになります。
classesフォルダーにはさらにいくつかのサブフォルダーが作られること
になります。
(あるいは、面倒だと思う人は、WEB-INFを中身も含めて丸ごとコピー
して、あとで不要なファイルや不要なフォルダを削除すればいいです。)

web.xmlが何であるかは既に説明してある通りです。また、
classesディレクトリーやlibディレクトリーは、サーブレットや
BeanなどのJavaのクラスを入れるためのディレクトリーです。

このうち、classesディレクトリーにはクラスやインターフェース
などの通常のJavaのバイトコードを入れます(以前にもお話したように
パッケージは、ディレクトリーの階層構造で表現されますので、その階層
構造を含めた形で、このclassesディレクトリー下に入れられます)が、
JARファイルにした場合はlibディレクトリーに入れることになってい
ます。

(3) その他の参照しているクラスやJARファイルの配置

さて、このclassesディレクトリーやlibディレクトリーに配置された
ファイルは、クラスパスに登録するのと同等に扱われますので、自分で
クラスパスをきる必要はありません。

ということは、MySQLのJDBCドライバーのJARファイルもこのlibディレクトリー
に入れておけば、当Webアプリケーションの各クラスから参照できるようになる
わけです。

ただし、(今回作成したINTSHOPのWebアプリケーションのほかに)他にも
いくつかWebアプリケーションがある場合には、それらからも共通してJDBC
ドライバーを参照したいかも知れません。
このように、複数のWebアプリケーションから共通して参照したいJARファイル
がある場合は、

C:\Tomcat6.0\lib

の下に入れておきます。

という訳で、MySQLのJDBCドライバーのJARファイルをここにコピーしておき
ましょう。

以前(vol.083で)作成しておいた

C:\MySQL_Driver

の中に入っているJDBCドライバーのJARファイル(mysql-connector-java-5.0.8-bin.jar)


C:\Tomcat6.0\lib

の中にコピーしてください。



これまでEclipseで使用してきたパソコンと同じパソコンでここまでの作業を行った
人は、これでデプロイ作業は終わりです。

(Eclipseを使わずに)Tomcatを起動してテストしてみましょう。
「スタート」ボタン→「(すべての)プログラム」→「Apache Tomcat 6.0」
→「Monitor Tomcat」を選択することにより、Tomcatのモニターを起動してください。

タスク・バーの通知領域(タスク・バーの右端)にApache Tomcat
のアイコン(マウス・ポインターをそこに持っていくと「Apache Tomcat」
という文字列が表示されるアイコン。正確に言うとTomcatのモニター
(Monitor)のアイコンである)が表示されますので、それを右クリッ
クし、「Start service」を選択します。

Webブラウザーを起動して、下記のURLを入力してください。

http://localhost:8080/JStudy2/itemSelect.html

あとは、いつものように操作して、Webアプリケーションをテストしてみて
ください。


これまでEclipseで使用してきたパソコンとは別のパソコンにデプロイを行っている
人は、もう少し作業が必要です。

(続く)


では、今日はここまでにします。

何か、わからないところがありましたら、下記のWebページまで質問を
お寄せください。



┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
★ホームページ:
      http://www.flsi.co.jp/Java_text/
★このメールマガジンは
     「まぐまぐ(http://www.mag2.com)」
 を利用して発行しています。
★バックナンバーは
      http://www.flsi.co.jp/Java_text/
 にあります。
★このメールマガジンの登録/解除は下記Webページでできます。
      http://www.mag2.com/m/0000193915.html
★このメールマガジンへの質問は下記Webページにて受け付けて
 います。わからない所がありましたら、どしどしと質問をお寄
 せください。
      http://www.flsi.co.jp/Java_text/
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Copyright (C) 2008 Future Lifestyle Inc. 不許無断複製