編集者からの注釈: この記事は 2004年5月に Geoffrey Duck が執筆した「Eclipse を Jakarta Tomcat の開発環境として使う」の続編です。
Eclipse V3.2 Callisto IDE (integrated development environment: 統合開発環境)には、Web 開発を行うための、そしてサーバーと統合するためのツールが含まれています。そのため、SDK (software developmentkit) の他には、Eclipse と Apache Tomcat とをインストールすればよいだけです。この記事で使用するバージョンは下記のとおりです。
表 1. この記事で使用するコンポーネントとバージョン
| コンポーネント | この記事で使用するバージョン |
|---|---|
| Eclipse Platform | 3.2.2 |
| Java EE 5 SDK | 1.5.0_09 |
| Apache Tomcat | 5.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 IDE をインストールするためには、Eclipse からダウンロードした、圧縮された (.zip あるいは .tar.gz)ファイルを解凍し、解凍されたフォルダーを適当な場所に移動します。私は、使用しているオペレーティング・システムの通常の規則に従った場所にインストールするようにしています。例えばEclipse を Macintosh にインストールする場合には、Eclipse フォルダーを Applications フォルダーに置きます。もしMicrosoft™ Windows™ を使用している場合には、解凍されたフォルダーを C:\Program Filesディレクトリーに置きます。
Eclipse をダウンロードしてインストールしたら、Eclipse を起動します。Web プロジェクトを作成する前に、J2EE 開発プラグインとWeb 開発プラグインをインストールする必要があります。幸い、Callisto Discovery Site を使えば、これらのプラグインのインストールは簡単です。
Eclipse IDE が実行している状態で、Help > Software Updates > Find and Installを選択します。このオプションを使うと、Web サイトに行かなくても Web ツールをダウンロードしてインストールすることができます。
下記のように Search for New Features to Install を選択し、そして Next をクリックします。
図 1. Install/Update ウィンドウ
下記のように Callisto Discovery Site を選択し、そして Next をクリックします。
図 2. 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 プロジェクトの開発を開始することができます。
Apache Tomcat をインストールするためには、ダウンロードしたアーカイブからファイルを抽出し、それらをどこかのディレクトリーに置きます。私は後で見つけやすいように、C:\appsディレクトリーに置きました。これで、とりあえず終了です。後ほど、Eclipse を使って Tomcat を起動します。
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 プロジェクトを作成する
図 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 サーバー
この新しい動的な 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 の出力
このプロジェクトに 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 のスキルを磨いてください。
- developerWorks podcastsでは、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
- Eclipse プラットフォームへの入門として、「Eclipse Platform 入門」を読んでください。
- developerWorks のTechnical events and webcastsで最新情報を入手してください。
- IBM オープンソース開発者にとって関心のある、世界中で今後開催される会議や業界展示会、ウェブキャスト、その他のイベントについて調べてみてください。
- 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 で入手することができます。
議論するために
- Eclipse に関する質問を議論するための最初の場所として、Eclipse Platform newsgroupsがあります (このリンクをクリックすると、デフォルトの Usenet ニュース・リーダー・アプリケーションが起動し、eclipse.platformが開きます)。
- Eclipse newsgroupsには、Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。
- developerWorks blogsからdeveloperWorks コミュニティーに加わってください。