Eclipse を使用しての Java サーブレット+データベース・プログラム開発(Java 25 / Jakarta EE 対応)
【概要】
このページでは, Eclipse を使い, Java サーブレットプログラムを作る手順を,見本となるプログラムで説明する. ここでの Java サーブレットプログラムは,JDBC を使って,リレーショナルデータベースを操作する. 実行環境は Java 25(Eclipse Temurin 25 JDK),Jakarta EE 11 相当の Jakarta Servlet 6.1,Apache Tomcat 11 を前提とする.
- Java プログラムの中に SQL プログラムを埋め込む.
⇒ SQL とは,リレーショナルデータベースを扱うためのプログラミング言語である. Java と SQL を組み合わせて動かすために,JDBC を使う. このとき,Java のプログラムが SQL のプログラムをリレーショナルデータベースに送り,結果を受け取る,という振る舞いになる. 変数を使って,Java と SQL との間でデータをやり取りする.
- Web サーバと連携させる.
⇒ そのために,Tomcat(バージョン 11)を使う.
- Java サーブレットのクラスの doGet() メソッドの中に,表示したい Web ページの中身を生成するプログラムを書く.ここに SQL プログラムを埋め込む.
【補足説明】
下記の 2 つのサーバは別物である. 2 つを同時に動かすことはできない(同じポートを使うため).一方を動かすときは,もう一方を止める.
- Eclipse 内部の Tomcat サーバ:
Eclipse 内部の Tomcat サーバが動き,Java サーブレットの動作テストなどに使う.
- 公開 Tomcat サーバ:
Eclipse とは無関係の Tomcat サーバ(Tomcat インストールディレクトリの bin にある起動スクリプトで起動する Tomcat サーバのこと). 公開 Tomcat サーバが管理するディレクトリも Eclipse とは独立している.
なお,「Eclipse 内部の Tomcat サーバ」を使えるようにするには, Eclipse で「新規サーバの定義」を行う必要がある.これは 1 回行うだけでよい.
【目次】
【関連する外部ページ】
- Eclipse Temurin 25 のダウンロード(Adoptium)
- Apache Tomcat 11 のダウンロード
- MySQL Connector/J のダウンロード
- PostgreSQL JDBC ドライバのダウンロード
【サイト内の関連情報】
必要となるソフトウェア
【関連情報】
Java 25(Temurin 25 JDK) のインストール
Eclipse Temurin(Adoptium)のインストールを行い、Javaのプログラムをコンパイル・実行する環境を整える。扱う環境は、Windows搭載パソコンである。現時点(2026年6月)での最新LTS版である Java 25(Temurin 25 JDK)を推奨する。
[Windows での Java 25(Temurin 25 JDK) のインストール手順を見るには、ここをクリック]
Windows での Java 25(Temurin 25 JDK) のインストール
以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。
方法 1:winget によるインストール
【インストールコマンドの実行方法】
管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。
Temurin の Windows インストーラー(.msi)は、ユーザー単位ではなくマシン単位でインストールされる(1台に1つのインストール)。そのため、システム全体(全ユーザー向け)にインストールするには管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。
REM Java 25(Temurin 25 JDK) をインストール(PATH と JAVA_HOME を更新)
winget install --id EclipseAdoptium.Temurin.25.JDK -e --silent --accept-source-agreements --accept-package-agreements --override "ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome INSTALLDIR=\"C:\Program Files\Eclipse Adoptium\jdk-25\" /quiet"
上記の --override 内の指定の意味は次のとおりである。FeatureEnvironment はPATH環境変数の更新、FeatureJavaHome は JAVA_HOME 環境変数の更新、FeatureJarFileRunWith は .jar ファイルとJavaアプリケーションの関連付けである。INSTALLDIR はインストール先フォルダの指定である。
方法 2:インストーラーによるインストール
- Adoptium公式サイト(https://adoptium.net/temurin/releases/)にアクセスし、Version として「25 - LTS」、Operating System として「Windows」を選び、
.msi形式のWindows用インストーラーをダウンロードする。 - ダウンロードした
.msiファイルを実行し、インストールプログラムを起動する。 - ライセンス条項を確認し、同意できる場合はチェックを入れて次へ進む。
- 「Installation Scope」画面では「Install for all users of this machine」を選ぶ
- 「Custom Setup(カスタムセットアップ)」画面で、インストールする機能を選択する。既定では「Add to PATH(PATH環境変数への追加)」と「Associate .jar」(.jarファイルの関連付け)が有効になっている。さらに、ツリー内でバツ印(×)が付いている「Set JAVA_HOME variable(JAVA_HOME環境変数の更新)」をクリックして有効に変更することを推奨する。これらを有効にしないと、コマンドプロンプトから
javaコマンドを実行できなかったり、開発ツールがJDKを見つけられなかったりする。 - 「次へ (Next)」をクリックし、続いて「インストール (Install)」をクリックしてインストールを開始する。完了後「Finish」で閉じる。
インストールの確認
コマンドプロンプトで以下を実行する。
java --version
バージョン番号(例:openjdk 25.x.x)が表示されればインストール成功である。「'java' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していないか、PATHが反映されていない(コマンドプロンプトを再起動して再度確認する)。
あわせて、コンパイラと JAVA_HOME も確認しておくとよい。
javac --version
echo %JAVA_HOME%
Eclipse のインストール
Eclipse をインストールする。扱う環境は、Windows搭載パソコンである。
Windows での Eclipse のインストール 以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。 方法 1:winget によるインストール 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → winget が使えない場合や,インストール先・パッケージ種類を画面で選びながら導入したい場合は,次の方法を用いる。 方法 2:インストーラーによるインストール 公式サイトからダウンロードしてインストールできる。詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。 Eclipse の初期設定、使用方法の基本 詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。[Windows での Eclipse のインストール手順を見るには、ここをクリック]
cmd と入力 → 右クリック → 「管理者として実行」)。そして,コマンド全体をコマンドプロンプトにコピー&ペーストする。REM Temurin 25 JDK をインストール
winget install --id EclipseAdoptium.Temurin.25.JDK -e --accept-source-agreements --accept-package-agreements
- Eclipse のWebページの記述に従って,Eclipse(Enterprise Java and Web Developers 版など,Web ツールを含むもの)のインストールが終わっていること.
- Eclipse の 「Web, XML, Java EE and OSGi Enterprise Development」に関するプラグインのインストールが終わっていること.
- リレーショナルデータベース・ソフトウェアのインストールが済んでいること.
インストールしていないときは,下記の Web ページを参考に,インストールを済ませておくこと.
- 「Tomcat インストール」の Web ページの記述に従って,Apache Tomcat 11 のインストールが終わっていること.Tomcat 11 は Java 17 以降で動作し,Jakarta Servlet 6.1 を実装する(Java 25 で動作する).
- 「Eclipse 内部の Tomcat サーバ」を使えるようにするために, 「Eclipse を使用しての Java サーブレット・プログラムの開発」の Web ページに記載 の「新規サーバの定義」を行っておくこと.
あらかじめ決めておく事項と設定内容
前もって,Tomcat インストールディレクトリを調べておくこと.
このサーブレットは,DB 接続に JDBC ドライバを直接使う.依存ライブラリとして必要なのは,使用するデータベースの JDBC ドライバ jar だけである(Spring は使わない).
データベースシステムに関する項目
データベースシステムに関するいくつかの設定内容がある. このページでは設定内容を下記のように書くので, 違う設定にする場合には, この Web ページの説明を読み替えること.
- PostgreSQL の利用 を使う場合
データベース名と, PostgreSQL にログインするために使うデータベース・一般ユーザのアカウント(ユーザ名とパスワード)を決めておくこと. このページでは次のように書く.
- データベース名: testdb
使用するデータベースの名前を「データベース名」と呼ぶ. データベース名は自由に決めてよいが,半角文字(英字と英記号)を使い,スペースを含まないこと. すでに存在するデータベースを使ってもよいし,新しいデータベースを作ってもよい.
- PostgreSQL にログインするために使うデータベース・一般ユーザのアカウント(ユーザ名とパスワード)
- ユーザ名: testuser
- パスワード: hoge$#34hoge5
データベース名 testdb の権限を持ったユーザにすること(そうでないとエラーが出る).
この Web ページの手順を試すために,新しいデータベースと新しい一般ユーザのアカウントを作りたい場合は, phpPgAdmin などを使うこと.
psql のようなコマンドライン・クライアントを使う場合は,次のようになる.
CREATE ROLE testuser LOGIN PASSWORD 'hoge$#34hoge5' NOINHERIT VALID UNTIL 'infinity'; CREATE DATABASE testdb WITH ENCODING='UTF8' OWNER=testuser;パスワードは,説明を簡単にするために hoge$#34hoge5 と書いているが,実際にはこれとは違うものを必ず設定すること.
PostgreSQL の利用 を使うために,次の設定を行うので確認しておく.
- JDBC ドライバ: org.postgresql.Driver (PostgreSQL に依存する値)
- PostgreSQL 用 JDBC の jar ファイル:postgresql-42.7.x.jar(pgJDBC 公式サイトから入手する)
- データベース名: testdb
- MySQL の利用 を使う場合
データベース名と,MySQL にログインするために使うデータベース・一般ユーザのアカウント(ユーザ名とパスワード)を, このページでは次のように書く.
- データベース名: testdb
使用するデータベースの名前を「データベース名」と呼ぶ. データベース名は自由に決めてよいが,半角文字(英字と英記号)を使い,スペースを含まないこと. すでに存在するデータベースを使ってもよいし,新しいデータベースを作ってもよい.
- MySQL にログインするために使うデータベース・一般ユーザのアカウント(ユーザ名とパスワード)
- ユーザ名: testuser
- パスワード: hoge$#34hoge5
データベース名 testdb の権限を持ったユーザにすること(そうでないとエラーが出る).
この Web ページの手順を試すために,新しいデータベースと新しい一般ユーザのアカウントを作りたい場合は, MySQL コマンドライン・クライアントの主な機能 や MySQL Workbench などを使い,次のコマンドを実行すること.
* それぞれのツールの操作法(起動法,ログインの方法など)は,MySQL コマンドライン・クライアントの主な機能 や MySQL Workbench の Web ページを見ること.
create database `testdb` default character set utf8mb4 collate utf8mb4_ja_0900_as_cs; create user 'testuser'@'localhost' identified by 'hoge$#34hoge5'; grant all on `testdb`.* to 'testuser'@'localhost';パスワードは,説明を簡単にするために hoge$#34hoge5 と書いているが,実際にはこれとは違うものを必ず設定すること.
MySQL の利用 を使うために,次の設定を行うので確認しておく.
- JDBC ドライバ: com.mysql.cj.jdbc.Driver (MySQL に依存する値)
- MySQL 用 JDBC の jar ファイル名: mysql-connector-j-9.x.x.jar
JDBC で MySQL を使うために必要になるので, https://dev.mysql.com/downloads/connector/j/ から Connector/J をダウンロードして,解凍しておく.
ダウンロードの手順は, 「MySQL コネクタ (Connector) Java のダウンロード」の Web ページで説明している.
- データベース名: testdb
- Apache Derby を使う場合
次の設定を確認しておく.
- Derby データベースディレクトリ(相対): dbdir
Derby のデータベースファイルが置かれるディレクトリのことである. これは自由に決めてよいが,半角文字(英字と英記号)を使い,スペースを含まないこと. データベース名と Derby データベースディレクトリとは別ものである.混同しないこと.
- JDBC ドライバ(組み込み): org.apache.derby.jdbc.EmbeddedDriver (Derby に依存する値)
- Derby 用 JDBC の jar ファイル:derby.jar および derbyshared.jar(現行の Derby ではこれらを分けて配布している.Apache Derby インストールの手順に従って入手する)
- Derby データベースディレクトリ(相対): dbdir
第1章 テスト用データベースの作成
テスト用データベースとして,下記の SQL コマンドで,テーブル commodity を作り,データを入れておくこと.
create table commodity (
id integer primary key not null,
name varchar(32) not null,
price integer );
insert into commodity values( 1, 'apple', 50 );
insert into commodity values( 2, 'orange', 20 );
insert into commodity values( 3, 'strawberry', 100 );
insert into commodity values( 4, 'watermelon', 150 );
insert into commodity values( 5, 'melon', 200 );
insert into commodity values( 6, 'banana', 100 );
select * from commodity;
第2章 Eclipse での操作手順
以下,Eclipse を使う. プロジェクトの作成,クラスの定義と実行という一連の操作を説明する.
Eclipse の使用にあたって,事前に決めておく事項
Java サーブレット・プログラムを動かすために,Eclipse のプロジェクト等を作る. このページでは,Eclipse のプロジェクト名,Java パッケージ名,Java サーブレットのクラス名を次のように記述する (すでに同じ名前のプロジェクトがある場合は,プロジェクト名を変えること).
- Eclipse のプロジェクト名: hoge
- Java パッケージ名: hoge.hoge.com
- Java サーブレットのクラス名: HelloWorld
動的 Web プロジェクトの新規作成
下記の手順で,動的 Web プロジェクトを新規に作成する.
- (もし,プロジェクト・エクスプローラが開いていなければ)プロジェクト・エクスプローラを開く
「ウインドウ (Window)」→「ビューの表示 (Show View)」→「プロジェクト・エクスプローラ (Project Explorer)」 と操作する.
- プロジェクトの新規作成の開始
「ファイル」→「新規 (New)」→「プロジェクト (Project)」
または,プロジェクト・エクスプローラ内で,右クリック→「新規 (New)」→「プロジェクト (Project)」 - 「Web」の展開
新規プロジェクトのウインドウが開くので, 「Web」を展開する.
- 「動的 Webプロジェクト (Dynamic Web Project)」の選択
展開した「Web」の下にある 「動的 Webプロジェクト (Dynamic Web Project)」を選び, 「次へ」をクリック.
- プロジェクト名の設定など
設定用のウインドウが開くので,下記の設定を行う. 設定が終わったら,「次へ」をクリック.
- 「プロジェクト名 (Project name)」: hoge と設定.
プロジェクト名は,好きな名前でよいが,スペースや全角文字は避けること. ここではプロジェクト名を「hoge」とする.
- 「プロジェクト・コンテンツ (Project location)」では,ファイルの保存場所を指定する.
「デフォルトの使用 (Use default location)」にチェックを入れたままでよい.
- 「ターゲット・ランタイム (Target Runtime)」:「Apache Tomcat v11.0」になっていることを確認.
他のもの(例えば「なし」)になっていたら,「Apache Tomcat v11.0」に変更しておく.
* 変更のとき,「なし」だけしかなく「Apache Tomcat v11.0」が候補として表示されない場合は, 「Eclipse を使用しての Java サーブレット・プログラムの開発」の Web ページに記載の「新規サーバの定義」を行うこと.
- 「動的 Web モジュール・バージョン (Dynamic web module version)」:「6.1」(Jakarta Servlet 6.1)を選ぶ.
- 「プロジェクト名 (Project name)」: hoge と設定.
- 次の「Java」設定は,デフォルトのままでよい
「次へ」をクリック.
- 次の「Web モジュール」は,デフォルトのままでよい
「終了」をクリック.
- もし「関連付けられたパースペクティブを開きますか?」と聞いてきたら,「はい」をクリック
* このウインドウが開かないことがある.気にしなくてよい.
- 作成されたプロジェクトの確認
プロジェクト・エクスプローラで,いま作成した動的 Web プロジェクト hoge が表示されていることを確認する.
(Apache Derby を使うときのみ) Derby サーバの開始
Apache Derby をネットワーク・サーバとして使うときに限り,Derby サーバを開始する. これは, Derby を使うための追加的な設定である.
- プロジェクト・エクスプローラで,プロジェクト名 hoge を右クリック.
- 「Apache Derby」→「Derby ネットワーク・サーバの開始」
ポート 1527 で Derby サーバが起動する.
「Apache Derby」が候補として現れないときは, Apache Derby インストール の手順に従って,インストールと設定を行う.
「Derby ネットワーク・サーバの開始」が選べない状態になっているときは, すでに開始済みなので,この手順は不要.
リレーショナルデータベース・ソフトウェアとして,Derby 以外を使う場合や,Derby を組み込みモードで使う場合は,上記は不要である.
WEB-INF/lib への,jar ファイルの配置
使用するリレーショナルデータベースの JDBC ドライバ jar を,Web アプリの WEB-INF/lib に配置する. (JDBC の jar は,使用するリレーショナルデータベース・ソフトウェアごとに異なる).
配置する JDBC の jar ファイルは,次のとおりである.
- PostgreSQL の場合: postgresql-42.7.x.jar
- MySQL の場合: mysql-connector-j-9.x.x.jar
JDBC の jar ファイルがないときは,MySQL Connector Java のダウンロードの Web ページを見ること.
- Derby の場合: derby.jar と derbyshared.jar(組み込みモードのとき.ネットワーク接続のときは derbyclient.jar と derbyshared.jar)
Eclipse のプロジェクトでは,動的 Web プロジェクトの src/main/webapp/WEB-INF/lib(または WebContent/WEB-INF/lib)に jar を置くと,ビルドパスとデプロイに反映される. プロジェクト・エクスプローラで lib フォルダを右クリックして「インポート」→「一般」→「ファイル・システム」から jar を取り込むか,jar を直接コピーする.
Java パッケージ作成
Eclipse のプロジェクト・エクスプローラを使って, Java パッケージを作成する. Java パッケージ名には hoge.hoge.com のようにドメイン名を逆順にした名前を付ける習慣があることに注意すること. このページでは,作成する Java パッケージ名を hoge.hoge.com と書く (Java パッケージ名を変えるときは読み替えること).
- (もし,プロジェクト・エクスプローラが開いていなければ)プロジェクト・エクスプローラを開く
「ウインドウ」→「ビューの表示」→「プロジェクト・エクスプローラ」 と操作する.
Java パッケージの作成,クラスの作成などの作業は,プロジェクト・エクスプローラで行う.
- Java パッケージを新規作成すべきプロジェクトの選択
Java パッケージを新規作成したいプロジェクト名 hoge の下の「Java リソース; src/main/java」を右クリックして, 「新規」→「パッケージ」と操作する.
- Java パッケージ名の設定
「Java パッケージ (Java package)」の名前として,Java パッケージ名 hoge.hoge.com を記入する.
その後,「終了」をクリック.
- Java パッケージの確認
プロジェクト・エクスプローラで, Java パッケージ hoge.hoge.com が増えていることを確認する.
第3章 サーブレットの作成
- 新規サーブレットの作成の開始
プロジェクト・エクスプローラで, サーブレットを作成したい Java パッケージ名 hoge.hoge.com を右クリック.
- 「新規 (New)」→「その他 (Other)」と操作する.
- サーブレットの選択
サーブレットを作成したいので, 「Web」→「サーブレット (Servlet)」と操作し, 「次へ」をクリックする.
- サーブレットのクラス名等の指定
新規に作成するサーブレットについて,Java パッケージ名,クラス名等を入力できるウインドウが開くので,設定を行う.
- 「Java パッケージ (Java package)」: Java パッケージ名
「hoge.hoge.com」を設定.
* 「hoge.hoge.com」になっていなければ修正すること.
- 「クラス名 (Class name)」: HelloWorld
- 「Java パッケージ (Java package)」: Java パッケージ名
「hoge.hoge.com」を設定.
- 次はデフォルトのままでよい
「次へ」をクリックする.
- 次はデフォルトのままでよい
「終了」をクリックする.
- 作成されたクラスの確認
プロジェクト・エクスプローラで, Java パッケージ名 hoge.hoge.com を展開すると, クラスファイル HelloWorld.java が現れる.確認しておく.
クラス定義と実行
- 定義したいクラスのファイルを開く
HelloWorld クラスを定義したいので, プロジェクト・エクスプローラの クラスファイル一覧の中から 「HelloWorld.java」をダブルクリックする. すると,エディタが開く.
このように,Eclipse のプロジェクト・エクスプローラで定義したいクラスの「クラス名.java」 をダブルクリックすると,エディタが開く.
* なお,別のクラスを追加したいときは, Java パッケージ名を右クリックして「新規」→「クラス」と操作する.
- エディタでクラス HelloWorld を定義する
下記のクラス定義をカットアンドペーストすること(テスト用に作ったクラス定義である). サーブレット API は Jakarta EE の jakarta.servlet パッケージを使う(Tomcat 10 以降はこの名前空間である). JDBC ドライバは JDBC 4.0 以降で自動登録されるため,
Class.forNameによる明示的なロードは不要である. (Java パッケージ名を「hoge.hoge.com」と書いているので,Java パッケージ名を別の名前にしている場合には読み替えること).package hoge.hoge.com; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.text.DecimalFormat; import java.util.Properties; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; /** * Servlet implementation class HelloWorld */ public class HelloWorld extends HttpServlet { // 下記の変数を正しく設定する // DBURL, USER, PASS // PostgreSQL 用デフォルト // JDBC の jar (postgresql-42.7.x.jar) を WEB-INF/lib に置いておく private static final String DBNAME = "testdb"; private static final String USER = "testuser"; private static final String PASS = "hoge$#34hoge5"; private static final String DBURL = "jdbc:postgresql://localhost/" + DBNAME; // MySQL 用デフォルト // JDBC の jar (mysql-connector-j-9.x.x.jar) を WEB-INF/lib に置いておく // private static final String DBNAME = "testdb"; // private static final String USER = "testuser"; // private static final String PASS = "hoge$#34hoge5"; // private static final String DBURL = "jdbc:mysql://localhost/" + DBNAME; // Derby 用デフォルト(組み込みモード) // JDBC の jar (derby.jar, derbyshared.jar) を WEB-INF/lib に置いておく // private static final String DBNAME = "dbdir;create=true"; // private static final String USER = ""; // private static final String PASS = ""; // private static final String DBURL = "jdbc:derby:" + DBNAME; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println("Database"); try (Connection conn = connect(USER, PASS); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from commodity")) { conn.setReadOnly(true); DecimalFormat dformat = new DecimalFormat("#,###円"); while (rs.next()) { int t = rs.getInt("id"); String n = rs.getString("name"); int p = rs.getInt("price"); out.println("
" + t + " " + n + " " + dformat.format(p)); } } catch (java.sql.SQLException e) { throw new ServletException(e); } out.println(""); } // database open private static Connection connect(String user, String pass) throws java.sql.SQLException { if (user.isEmpty() && pass.isEmpty()) { return DriverManager.getConnection(DBURL); } Properties prop = new Properties(); prop.put("user", user); prop.put("password", pass); return DriverManager.getConnection(DBURL, prop); } }
- ソースを保存
「ファイル」→「保管」または CTRL+S で保存される. 保存時にコンパイルされる.
コンパイル時のエラーや警告があれば, Eclipse 内の問題・ビューに表示されるので確認する.
- 下記の「Java サーブレット・プログラムのテスト実行」に進むこと.
第4章 Java サーブレット・プログラムのテスト実行
Eclipse のプロジェクト・エクスプローラを使用して,上記で作った Java サーブレットのプログラムをテスト実行してみる.
- 実行したいサーブレットのクラスを選び,右クリック
Eclipse のプロジェクト・エクスプローラで,実行したいクラス名.java(つまり HelloWorld.java)を右クリック
- 「実行 (Run As)」→「サーバーで実行 (Run on Server)」と操作
- サーバの選択
ウインドウが開くので, 「ローカルホストの Tomcat v11.0 サーバ」が選択されていることを確認の後,「次へ (Next)」をクリック.
- 次はデフォルトのままでよい
「終了」をクリック.
* Eclipse 内部の Tomcat サーバが起動しない場合には,公開 Tomcat サーバを停止する
* すでに公開 Tomcat サーバを稼働させているときは, Eclipse 内部の Tomcat サーバが起動しない(同じポートを使うため)ので, Tomcat インストールディレクトリの bin にある停止スクリプトを使って公開 Tomcat サーバを停止させること.
- Eclipse 内部の Tomcat サーバが起動することを確認
コンソール・ビューに表示される.
- 実行結果の確認
Eclipse の組み込み Web ブラウザ (Internal Web ブラウザ)が開き,そこに実行結果が出る. 実行結果は次のようになる.
Database 1 apple 50円 2 orange 20円 3 strawberry 100円 4 watermelon 150円 5 melon 200円 6 banana 100円組み込み Web ブラウザ内のアドレスバーの部分は,
http://localhost:8080/hoge/HelloWorldのようになっていることを確認しておく(「hoge」の部分は,実際のプロジェクト名に読み替えること).
- Eclipse を再起動するとうまく動く場合がある.
- 「Database」とだけ表示され,中身が表示されない場合.
原因としては,プログラム中に書かれたユーザ名,パスワード,データベース名の記述ミスが考えられる.確認すること. あるいは,JDBC ドライバの jar が WEB-INF/lib に正しく置かれていない可能性がある.
- エラーメッセージが出て,Eclipse 内部の Tomcat サーバが起動しない場合.
公開 Tomcat サーバが稼働していると,同じポートを使うためエラーになる. Tomcat インストールディレクトリの bin にある停止スクリプトで公開 Tomcat サーバを停止し,もう 1 度上記の操作を行う.
- 「接続できない」という意味のエラーが出た場合.
Derby をネットワーク・サーバとして使っている場合は,「Apache Derby」→「Stop Derby Network Server (Derby ネットワーク・サーバの停止)」と操作し,もう 1 度実行するとうまくいく場合がある.
Java サーブレット・プログラムのデバッグについては,「Eclipse を使用しての Java サーブレット・プログラム開発」の Web ページ を見ること.
第5章 エクスポート (Eclipse の Export 機能を利用)
Eclipse でエクスポートを行い,単体で動くようにする.
- プロジェクト・エクスプローラから,エクスポートしたいプロジェクト hoge を選択し, 右クリックメニューから「エクスポート」を選択.
- 選択ダイアログ
「Web」→「WARファイル」→「次へ」
- WARエクスポートダイアログ
Webモジュール:「hoge」 宛先:「C:\tomcat11\webapps\hoge.war」混乱を防ぐために,エクスポートしたいプロジェクトの名前をそのまま付ける.
「ソースファイルのエクスポート」「既存ファイルを上書き」→必要ならチェック. 「終了」でエクスポートが実行される.
- 動作確認
Tomcat インストールディレクトリの bin にある起動スクリプトから Tomcat を実行し,Eclipse とは無関係にサーブレットが動くことを確認する.
http://localhost:8080/hoge/HelloWorld
なお,WEB-INF などのサーブレット実行に必要なディレクトリは,WAR の展開時に作成される.
参考Webページ: Jakarta EE ─ How to Start With Servlets
参考Webページ: Apache Tomcat 11 Migration Guide