IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Open source  >

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

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

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

原文はこちら

原文はこちら


レベル: 初級

Nathan A. Good, Author and Software Engineer, Alliance of Computer Professionals

2007年 5月 08日

Eclipse を Apache Tomcat と直接統合すると、Web 開発プラットフォームとしての Eclipse が一層使いやすくなります。Eclipseと Apache Tomcat V5.5 を設定する方法を、典型的な Hello World サーブレットを開発しながら学びましょう。

編集者からの注釈: この記事は 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 をインストールする

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 ウィンドウ

下記のように 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 プロジェクトの開発を開始することができます。

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 プロジェクトを作成する


図 5. 新しいサーバー・ランタイムを作成する

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


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

ランタイム構成
もし後でランタイム構成を変更したくなった場合には、Window > Preferences を選択して変更を行うことができます。フィルター・ボックスに Runtime と入力すると、インストールされたランタイム (Installed Runtimes) の構成設定のリストが Server カテゴリーの下に表示されます。ApacheTomcat ランタイムを選択し、Edit をクリックして、名前やディレクトリーの場所、JRE のバージョンなどを変更します。

ここで、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 に変化します。

問題が起きた場合には
場合によると、問題が起きることがあります。Tomcat によって起きたエラーを見るためには、Console ビューを使います。Consoleは、Servers ビューで設定されたサーバーからの出力をキャプチャーします。

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


図 10. ブラウザーに表示された 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 とを組み合わせることで、容易に統合環境を実現することができ、それによって開発をスピードアップすることができます。



参考文献

学ぶために

製品や技術を入手するために
  • 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 コミュニティーに加わってください。


著者について

Nathan A. Good はミネソタ州の Twin Cities エリアに住んでいます。彼はソフトウェアを書いている時以外は、PC やサーバーを構築し、新しい技術について資料を読み、そうした技術に取り組み、そして彼の友人達にオープソース・ソフトウェアに移行するように勧めて回っています。コンピューターに向かっていない時には (実はそういう時が多いのですが)、家族と時間を過ごしたり、教会に行ったり、そして映画を見に行ったりしています。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ