目次


Tomcat と Eclipse を使って Web アプリケーションを開発する

Apache Tomcat と Eclipse Platform の組み合わせは素晴らしい Web 開発プラットフォームです

Comments

編集者からの注釈: この記事は 2004年5月に Geoffrey Duck が執筆した「Eclipse を Jakarta Tomcat の開発環境として使う」の続編です。

必要なコンポーネント

Eclipse V3.2 Callisto IDE (integrated development environment: 統合開発環境)には、Web 開発を行うための、そしてサーバーと統合するためのツールが含まれています。そのため、SDK (software developmentkit) の他には、Eclipse と Apache Tomcat とをインストールすればよいだけです。この記事で使用するバージョンは下記のとおりです。

表 1. この記事で使用するコンポーネントとバージョン
コンポーネントこの記事で使用するバージョン
Eclipse Platform3.2.2
Java EE 5 SDK1.5.0_09
Apache Tomcat5.5.20

Eclipse IDE は、JSP (Java™ Server Page) や Java ファイルの開発環境として使われるオープン・ソースのIDE です。Web 開発ツールと J2EE (Java 2 Platform, Enterprise Edition) 開発ツールがインストールされているため、Eclipseは HTML や JSP、そしてサーブレットを作成するための強力なツールです。

マシン上でサーブレットを実行するためには Java SDK が必要です。そして最後の Apache Tomcat はオープンソースの Web/サーブレット・コンテナーであり、Javaサーブレットと JSP の正式な基準実装に使われています。

インストール

Eclipse と Tomcat のインストール方法は似ています。どちらもアーカイブ・ファイル・フォーマットからハードディスク上のフォルダーに解凍されます。何らかの理由でいずれかをアンインストールしたい場合には、ファイルを解凍したディレクトリーを単純に削除すればよいだけです。

Eclipse をインストールする

Eclipse IDE をインストールするためには、Eclipse からダウンロードした、圧縮された (.zip あるいは .tar.gz)ファイルを解凍し、解凍されたフォルダーを適当な場所に移動します。私は、使用しているオペレーティング・システムの通常の規則に従った場所にインストールするようにしています。例えばEclipse を Macintosh にインストールする場合には、Eclipse フォルダーを Applications フォルダーに置きます。もしMicrosoft™ Windows™ を使用している場合には、解凍されたフォルダーを C:\Program Filesディレクトリーに置きます。

Eclipse をダウンロードしてインストールしたら、Eclipse を起動します。Web プロジェクトを作成する前に、J2EE 開発プラグインとWeb 開発プラグインをインストールする必要があります。幸い、Callisto Discovery Site を使えば、これらのプラグインのインストールは簡単です。

Web ツールをインストールする

Eclipse IDE が実行している状態で、Help > Software Updates > Find and Installを選択します。このオプションを使うと、Web サイトに行かなくても Web ツールをダウンロードしてインストールすることができます。

下記のように Search for New Features to Install を選択し、そして Next をクリックします。

図 1. Install/Update ウィンドウ
Install/Update ウィンドウ
Install/Update ウィンドウ

下記のように Callisto Discovery Site を選択し、そして Next をクリックします。

図 2. Callisto Discovery Site を選択する
Callisto Discovery Site を選択する
Callisto Discovery Site を選択する

Callisto Discovery Site で、Web and J2EE Development ボックスをチェックします。そうするとウィザードは即座に、依存関係がないという警告を表示します。Select Required をクリックすると、これらの警告は消えるはずです。Graphical Editors and Frameworks と Models andModel Development のカテゴリーの、一部あるいはすべてのコンポーネントが選択されています (図 3)。この理由は、これらのコンポーネントがWeb プラグインと J2EE プラグインのインストールに必要なためです。

図 3. インストール用のフィーチャーを選択する
インストール用のフィーチャーを選択する
インストール用のフィーチャーを選択する

Next をクリックして続けると、選択した各フィーチャーに対する使用許諾条件が表示されます。使用許諾条件に合意する場合には、それらを受け入れ、ウィザードに従って残りのプロセスを続けます。IDEがプラグインのインストールを終了すると、変更を有効にするために Eclipse を再起動するように指示されます。先に進む前に、必ず IDE を再起動します。

IDE を再起動すると、新しいフィーチャーを利用して動的な Web プロジェクトの開発を開始することができます。

Tomcat をインストールする

Apache Tomcat をインストールするためには、ダウンロードしたアーカイブからファイルを抽出し、それらをどこかのディレクトリーに置きます。私は後で見つけやすいように、C:\appsディレクトリーに置きました。これで、とりあえず終了です。後ほど、Eclipse を使って Tomcat を起動します。

新しい Web プロジェクトを作成する

Eclipse IDE から File > New > Project を選択すると、プロジェクト・ウィザードが表示されます。Wizards ボックスに Web と入力すると、New Project ウィンドウがウィザードをフィルターし、一致するウィザードを表示します。この方法を使うと、各項目を調べるよりも容易に、必要なウィザードを見つけることができます。

リストから Dynamic Web Project を選択します。Standard Web Project Wizard を使って静的な HTML Web プロジェクトを作成します。技術的にはTomcat を使って静的な Web サイトを実行することもできますが、静的なコンテンツの場合には Apache Web Server のようなWeb サーバーの方が適切なことがあります。静的なページのサービス専用に作られた Web サーバーはオーバーヘッドが少なく、また静的なサービスに最適に調整されていることが多いものです。

対象のランタイムを決定する

Target Runtime の下に <None> が表示されています (図 4)。これは、まだ Apache Tomcat 用のランタイムを作成していないためです。New をクリックして New Target Runtime Wizard を開きます。Apache フォルダーから Apache Tomcat V5.5 を選択し (図 5)、そしてNext をクリックします。

図 4. 新しい動的 Web プロジェクトを作成する
新しい動的 Web プロジェクトを作成する
新しい動的 Web プロジェクトを作成する
図 5. 新しいサーバー・ランタイムを作成する
新しいサーバー・ランタイムを作成する
新しいサーバー・ランタイムを作成する

ここで、ランタイムに名前を付けることができますが、デフォルト名である Apache Tomcat V5.5 でも問題はありません。Browse をクリックし、Apache Tomcat を構成するためのベース・フォルダーを見つけます (私の場合は図 6 のように C:\apps\apache-tomcat-5.5.20です)。IBM® JRE (Java Runtime Environment) のバージョンを、(特別な理由がない限り) ワークベンチにデフォルトのJRE と同じままにしておくように推奨します。有効なディレクトリーを入力したら、Finish をクリックしてランタイム構成を作成します。

図 6. サーバーの場所を定義する
サーバーの場所を定義する
サーバーの場所を定義する

ここで、J2EE Perspective に切り替えるかどうかを尋ねられます。私は必ず yes と答えるようにしています。その理由は、このパースペクティブにはServers ビューのようなビューが含まれており、後で Tomcat を起動停止するために便利だからです。Window > Show View を選択すれば、いつでも Servers ビューを開くことができます。

サーバーを追加する

Servers ビューには、何も含まれていないビューがあります。このビューは、アプリケーション・サーバーと Web サーバーのためのものです。このビューでそれらをコントロールし、それらの状態をモニターすることができます。IDEという便利な環境から直接 Tomcat をコントロールするためには、コンテキスト・メニューから New < Serverを選択し、Tomcat への参照を追加します。New Server ウィザード (図 7) はデフォルトとして、先ほど作成した Apache Tomcat V5.5 ランタイムを選択します。

図 7. 新しいサーバーを定義する
新しいサーバーを定義する
新しいサーバーを定義する

Next をクリックすると、サーバーにプロジェクトを追加したいかどうかを尋ねられます。前のステップで作成したプロジェクトを選択し、次に Add をクリックします。

図 8. サーバーにプロジェクトを追加する
サーバーにプロジェクトを追加する
サーバーにプロジェクトを追加する

Finish をクリックしてウィザードを閉じます。すると Servers ビューには、このプロジェクトを配下に持つ Tomcat V5.5 Serverが含まれています。

図 9. Servers ビューでの Tomcat サーバー
Servers ビューでの Tomcat サーバー
Servers ビューでの Tomcat サーバー

サンプル・ページを作成する

この新しい動的な Web プロジェクトと Tomcat サーバーとの統合をテストするための最も簡単な方法は、単純な JSP を作成し、それをTomcat にデプロイする方法です。新しい JSP ファイルを作成するためには、File > New > Other を選択するか、あるいはコンテキスト・メニューを使います (Project Explorer ビューでプロジェクト名を右クリックし、そして New > JSP を選択します)。

親フォルダーが WebContent であることを確認し、そのファイルの名前を index.jsp にします。Finish をクリックし、デフォルトのテンプレートを使ったページを作成します。もし Next をクリックすると、新しいページに使用するための、さまざまなテンプレート (HTML あるいは XHTML など) を選択することができます。このテストの場合にはデフォルトで十分です。

下記のページ・コードは、動作していることがわかるように、単純な日付を表示します。

リスト 1. index.jsp の内容
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Title</title>
</head>
<body>
<% java.util.Date d = new java.util.Date(); %>
<h1>
Today's date is <%= d.toString() %> and this jsp page worked!
</h1>
</body>
</html>

ページをデプロイする

テスト・ページが完成したので、Eclipse を使ってこのページを Apache Tomcat に再度デプロイします。Servers ビューで、Stateが Republish に設定されていることに注目してください。これは、このプロジェクトが最後にサーバーにデプロイされた後で変更されているためです。サーバーを右クリックし、メニューからPublish を選択します。プロジェクトがサーバーにデプロイされると、State は Synchronized に変化します。

プロジェクトが正常にデプロイされ、サーバーが起動したら、ブラウザーを開き、http://localhost:8080/[ProjectName]/までナビゲートします ([ProjectName] は作成された動的 Web プロジェクトの名前です)。先ほど作成した新しい Web ページが表示され、日付が現在の日付になっているはずです。ページを更新すると、日付が変化します。

図 10. ブラウザーに表示された index.jsp の出力
ブラウザーに表示された index.jsp の出力
ブラウザーに表示された index.jsp の出力

Hello World サーブレット

このプロジェクトに Java サーブレットを追加し、それらをデプロイすることができます。テスト用に使用するサーブレットを素早く作成するためには、ServletWizard を使って、Project Explorer ビューでこの動的 Web プロジェクトを右クリックし、そして New > Other を選択します。Web フォルダーの下で Servlet を選択し、そして Next をクリックします。

Java Package の隣にパッケージ名 com.example.servlets を追加し、Class name の隣に HelloServlet を追加します。Finish をクリックします。これは単なる例なので、デフォルトで構いません。Eclipse IDE がサーブレット・クラスを作成してくれます。テスト・サーブレットの動作を見るためには、ResponseWriterにメッセージを出力するための 1 行を doGet() メソッドに追加します。このサーブレット・クラスは下記のようなものになるはずです。

リスト 2. HelloServlet.java の内容
package com.example.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class for Servlet: HelloServlet
 *
 */
 public class HelloServlet extends javax.servlet.http.HttpServlet 
     implements javax.servlet.Servlet {

    /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#HttpServlet()
         */
        public HelloServlet() {
                super();
        }       
        
        /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, 
             HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
response.getWriter().write("Hello, world!");
        }       
        
        /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, 
             HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
                // TODO Auto-generated method stub
        }                   
}

サーブレットを追加すると、Eclipse IDE はプロジェクトが変更されたことを通知します。再度 Servers ビューを見ると、Tomcatサーバーの隣の Status 列に Restart now が表示されます。サーバーを再起動するためには、Servers ビューでサーバーを右クリックし、次にRestart > Start を選択します。ブラウザーを開き、http://localhost:8080/[ProjectName]/HelloServlet までナビゲートします([ProjectName] は動的 Web プロジェクトの名前です)。「Hello, world!」というテキストが、ブラウザー・ウィンドウに表示されます。index.jspファイルのコードと同じような日付を doGet() メソッドに追加し、そして Eclipse IDE を使ってサーブレットを再デプロイします。

まとめ

サーバーを起動し、停止し、そしてサーバーにデプロイするための JSP やサーブレットの開発を、IDE から出ることなく行えた方が生産的です。Eclipseと Apache Tomcat とを組み合わせることで、容易に統合環境を実現することができ、それによって開発をスピードアップすることができます。


ダウンロード可能なリソース


関連トピック

  • この記事は 2004年5月に Geoffrey Duck が執筆した「EclipseをJakarta Tomcatの開発環境として使う」の続編です。
  • Java サーブレット技術について学び、強力で動的な Web アプリケーションの構築を始めてください。
  • Sun Microsystems を訪れ、動的な Web サイトのための JSP の作成に必要な JavaServer Pages 技術に関する情報を入手してください。
  • Eclipse Web Tools Platform (WTP) Projectについて調べ、Eclipse を使った Web アプリケーションの構築に利用できるプラグインの情報を入手してください。
  • 「Eclipse オススメ情報リスト」を調べてください。
  • developerWorks には他にもEclipse に関する資料が豊富に用意されています。
  • IBM developerWorks の Eclipse project resourcesを利用して Eclipse のスキルを磨いてください。
  • Eclipse プラットフォームへの入門として、「Eclipse Platform 入門」を読んでください。
  • developerWorks のOpen source ゾーンをご覧ください。オープンソース技術を使った開発や、IBM 製品でオープンソース技術を使用するためのハウ・ツー情報やツール、プロジェクトの更新情報など、豊富な情報が用意されています。
  • Eclipseプロジェクトの正式 Web サイトから、Java や JSP その他のための強力な (そしてフリーの) IDE である、Eclipse をダウンロードしてください。
  • Apache Tomcatをダウンロードし、Web アプリケーションの実行に使用してください。
  • Sun Microsystems からJava EE 5 SDKをダウンロードしてください。
  • IBM alphaWorksに用意された最新のEclipse technology downloadsを調べてください。
  • IBM 製品の試用版をダウンロードし、DB2® や Lotus®、Rational®、Tivoli®、WebSphere® などのアプリケーション開発ツールやミドルウェア製品を実際に試してみてください。
  • 皆さんの次期オープンソース開発プロジェクトをIBM trial softwareを使って革新してください。ダウンロード、あるいは DVD で入手することができます。

コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=246384
ArticleTitle=Tomcat と Eclipse を使って Web アプリケーションを開発する
publish-date=05082007