Java EEは、エンタープライズ向けのWebアプリケーション開発に広く利用されているJavaの拡張プラットフォームです。信頼性や拡張性が求められる業務システムでも多く使われており、Webアプリ開発に取り組む上で避けて通れない重要な技術とされています。
この記事では、Java EEを使ったWebアプリ開発の基本から、開発環境の構築、サンプルアプリの作成・実行まで、初心者にもわかりやすく順を追って解説します。
一緒にWebアプリ開発を体験しながら、Javaプログラミングの世界へ踏み出してみましょう。
Java EEとは
Java EE(Java Platform, Enterprise Edition)は、エンタープライズ向けのWebアプリケーションや業務システムを効率よく開発するためのJavaの拡張プラットフォームです。
大規模な企業システムや官公庁の情報システム、銀行・保険会社の基幹業務システムなど、安定性と拡張性が求められる現場で多く採用されています。
Web機能、データベース連携、セキュリティ、分散処理など、エンタープライズ開発に欠かせない要素が標準で揃っており、これにより開発者は信頼性の高いアプリケーションを効率的に構築できるのが魅力です。
Jakarta EEとの関係
Java EEは、かつてOracle社が中心となって開発・管理していたプラットフォームでしたが、2017年にその管理がEclipse Foundationへ移管され、「Jakarta EE」という新名称で再出発することになりました。技術的な土台はJava EEとほぼ同じですが、商標の関係でパッケージ名や仕様名に変更が加えられています。
現在ではJakarta EEがJava EEの後継と位置づけられており、今後の標準仕様や新機能の追加はすべてJakarta EEを中心に行われています。そのため、これからWebアプリ開発を学ぶ場合は「Jakarta EE」を意識することが重要です。
フレームワークSpringとの関係
Springは、Java EE(Jakarta EE)と同様にJavaでエンタープライズアプリケーションを構築するための人気フレームワークです。もともとはJava EEの複雑さを解消するために誕生し、独自の方式で依存性注入(DI)やAOP、Web機能などを提供します。
近年では、Springの開発をさらに簡単にする「Spring Boot」が広く使われており、設定や環境構築を最小限に抑えてすぐに動くアプリを作れる点が評価されています。
一方、Java EE(Jakarta EE)は標準仕様として各種サーバーに対応しているため、ベンダーに依存しない開発が可能です。目的や好みに応じて、SpringとJava EEは使い分けられています。
Java Springに関してさらに詳しく知りたい方は、こちらの記事のチェックしてください。
Java EEでできること
Java EE(現Jakarta EE)は、企業向けのWebシステムや業務アプリケーションを構築するうえで必要となる多くの機能を網羅しています。アプリケーションの規模が大きくなっても、拡張性・保守性を保ちながら開発できるよう、標準化されたAPIや機能群があらかじめ用意されているのが大きな特徴です。
Java EEでできることをいくつかご紹介します。
- Webアプリケーションの構築
- データベース操作
- 業務ロジックの管理
- セキュリティ機能の組み込み
- Web APIの提供
- 複数サーバー間の連携
- トランザクション管理
このように、Java EEには業務システムに必要な機能が一通りそろっているため、企業の基幹システムや公共機関のアプリケーションなど、さまざまな現場で長年にわたり活用されています。
Java EE開発環境の構築手順
Java EEで本格的に開発を始めるには、まず開発環境の準備が欠かせません。ここでは初心者の方でも迷わないよう、環境構築の流れをわかりやすく紹介します。
- JDKのインストール
- Eclipse IDEのインストール
- Tomcatをインストール
- Apache TomcatをEclipseに登録
- Eclipseでプロジェクト作成
- 簡単なコードを書いてデプロイ
- ローカルサーバーを起動しブラウザで確認
- Java EEのバージョンを確認する
①JDKのインストール
出典:OpenJDK
Java EEの開発には、まずJavaの開発環境(JDK)が必要です。JDKはOpenJDKとOracle JDKのどちらでも構いませんが、ライセンスの関係から近年はOpenJDKを選ぶケースが増えています。
自分のPCのOSに合ったJDKを公式サイトからダウンロードし、インストール後はコマンドプロンプトから以下のコマンドを実行し、バージョンが正しく認識されているかを確認しましょう。
②Eclipse IDEのインストール
出典:Eclipse IDE for Enterprise Java and Web Developers
続いて、「Eclipse IDE for Enterprise Java and Web Developers」をインストールしましょう。EclipseはJava開発に広く使われている無料の統合開発環境(IDE)です。
公式サイトEclipseには、「Eclipse IDE for Java Developers」など複数のEclipseパッケージがありますが、今回はJava EE(Jakarta EE)関連の機能があらかじめ含まれている「Eclipse IDE for Enterprise Java and Web Developers」を選ぶようにしてください。
Eclipseの公式サイトからZIPまたはインストーラをダウンロードし、インストールを進めましょう。ZIPファイルをインストールした場合は、解凍して[eclipse.exe]を起動すれば利用を開始できます。
③Tomcatをインストール
Webサーバーとして使用するApache Tomcatをインストールしておきましょう。Apache Tomcatは軽量なサーブレットコンテナで、Java EE(Jakarta EE)の一部機能に特化した実行環境です。
インストールは不要で、公式サイトからZIPファイルをダウンロードし、任意のフォルダに解凍しておけばOKです。
④Apache TomcatをEclipseに登録
ダウンロードしたApache TomcatをEclipseに登録し、Webサーバーとして使える状態にしましょう。次の手順に従って、Webサーバーの登録を行ってください。
- Eclipseを起動し、[Window]→[Preferences]を開く
- [Server]→[Runtime Environments]を選択し、右側の[Add…]で「Apache → Apache Tomcat v10.0(または使用するバージョン)」を選択
- 「Tomcatのインストールディレクトリ」に、解凍済みのTomcatフォルダ(例:C:\apache-tomcat-10.1.20など)を指定
- [Finish]をクリック
⑤Eclipseでプロジェクト作成
環境が整ったら、EclipseでWebアプリケーションのプロジェクトを作成してみましょう。次の手順に従って、Tomcatで「Hello, Java EE!」と表示する簡単なサンプルアプリを作成します。
- EclipseのFileメニューからNew→Project→「Dynamic Web Project」を選択して新規プロジェクトを作成
(今回はプロジェクト名を「HelloJavaEE」として進めます) - 「Target Runtime」で先ほど登録したTomcatを選択
- [Finish]をクリック
⑥簡単なコードを書いてデプロイ
では、実際に簡単なコードを書いてデプロイしてみましょう。⑤で作成したプロジェクト内の「src」フォルダにパッケージ「com.example」を作成し、パッケージ内に次のサーブレットクラスを作成します。
package com.example;
import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.WebServlet;
@WebServlet(“/HelloServlet”)
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(“text/html; charset=UTF-8”);
PrintWriter out = response.getWriter();
out.println(“<html><body>”);
out.println(“<h1>Hello, Java EE!</h1>”);
out.println(“</body></html>”);
}
}
続いて、作成したクラスファイルをTomcatにデプロイして実行してみましょう。Eclipseの[Servers]ビューで「Click this link to create a new server」クリックし、「Apache → Tomcat v10.0」を選択して[Next]で次へ進みます。
次の画面では「HelloJavaEE」が表示されるので、[Add]ボタンでプロジェクトを追加して[Finish]をクリックしましょう。これでデプロイは完了です。
⑦ローカルサーバーを起動しブラウザで確認
サーバーを右クリック→[Start]でローカルサーバーを起動します。以下のURLにアクセスし、Helloメッセージが表示されるか確認しましょう。
「Hello, Java EE!」と表示されれば成功です!
⑧Java EEのバージョンを確認する
Java EE(Jakarta EE)のバージョンは、プロジェクトがどのAPIを使用しているかに影響します。使用するバージョンによって、使えるアノテーションや機能に違いがあるため、確認しておくと安心です。
Eclipseで作成したWebプロジェクトでは、以下の手順で確認できます。
- プロジェクトを右クリックし、[Properties(プロパティ)]を選択
- 左メニューから [Project Facets] を選択
- 「Dynamic Web Module」や「Java」などのバージョンが表示されている部分を確認
なお、Java EEのバージョンの目安は次のようになっています。
Dynamic Web Module | Jakarta/Java EE バージョン相当 |
---|---|
3.0 | Java EE 6 |
3.1 | Java EE 7 |
4.0 | Java EE 8 / Jakarta EE 8 |
5.0 | Jakarta EE 9 以降(jakarta.* に変更) |
Java EEの主な構成技術
Java EE(Jakarta EE)は単一の技術ではなく、複数の仕様やAPIの集合体として構成されています。ここでは、その中でも特によく使われる主要な技術について概要を紹介していきます。
- Servlet
- JSP
- JPA
- EJB
- CDI
①Servlet
Servlet(サーブレット)は、Javaで書かれたWebサーバー上で動作するプログラムで、HTTPリクエストを受け取り、レスポンスを生成する役割を担います。フォームの入力処理やデータの受け渡しなど、サーバーサイドのロジックを記述する基本的な仕組みです。
ServletはJava EEの中核をなす技術の一つで、ブラウザからのアクセスに応じて動的な処理を実行し、HTMLやJSONなどの形式で応答を返します。JSPやJAX-RSなどの他の技術と組み合わせることで、柔軟なWebアプリケーション開発が可能になります。
②JSP
JSP(JavaServer Pages)は、HTMLの中にJavaのコードを埋め込むことができるテンプレートエンジンのような技術で、Webページの動的生成に使われます。見た目を担当するフロントエンドに近い部分を効率的に構築できるため、Servletと併用して使われることが一般的です。
JSPを使うことで、ページのレイアウトや表示部分を柔軟にコントロールできるほか、条件分岐やループ処理といった基本的なロジックも記述できます。Java EEにおける表示層の中心的な役割を担う技術と言えるでしょう。
③JPA
JPA(Java Persistence API)は、Javaアプリケーションとデータベースの連携を行うための標準APIです。エンティティと呼ばれるJavaクラスを通じてデータベースのテーブルとやり取りできるため、開発者はSQLを直接書かなくてもデータの永続化や検索、更新、削除といった操作を行えます。
JPAの実装としてはHibernateやEclipseLinkなどがあり、Java EE環境において業務データの扱いを効率化するための重要な技術の一つです。
④EJB
EJB(Enterprise JavaBeans)は、大規模システムのビジネスロジックを安全かつスケーラブルに管理するためのサーバーサイド技術です。トランザクション制御やセキュリティ、リモート呼び出しなど、分散処理に必要な機能を標準化された形で提供します。
EJBには、状態を保持しないStateless、状態を持つStateful、永続的な処理を行うMessage-Driven Beanなどの種類があります。現在では軽量な代替技術も増えていますが、Java EEの中核として長年利用されてきた実績ある技術です。
⑤CDI
CDI(Contexts and Dependency Injection)は、Java EEにおける依存性注入の標準仕様で、オブジェクト間の結びつきを柔軟にし、保守性や再利用性を高めることを目的としています。
アノテーションベースで開発でき、インターフェースやクラスの実装を意識することなく、必要なコンポーネントを自動で注入することが可能です。スコープ(ライフサイクル)の管理やイベント駆動の仕組みも提供され、複雑な処理を分かりやすく構成できます。
Javaのアノテーションについてさらに詳しく知りたい方は、こちらも参考にしてください。
Java EEのサポート期限と今後の展望
Java EEは2017年にEclipse Foundationへ移管され、「Jakarta EE」として新たな歩みを始めました。現在、Java EEとしての新しいバージョンや公式サポートは提供されておらず、今後はJakarta EEがその後継として発展を続けていくことになります。
Jakarta EEでは、パッケージ名の変更(javax → jakarta)を含む仕様の刷新が進められており、クラウドネイティブやマイクロサービスとの親和性も高まっています。今後の開発では、Jakarta EEをベースにした学習や実装が主流になると考えられます。
ただし、Jakarta EE自体には公式な「LTS(Long-Term Support)」の明確な定義やサポート期限は設けられていません。実際のサポート期間や更新頻度は、PayaraやRed Hatなどのベンダーによって異なり、Java SEのLTSバージョンに合わせて調整される傾向もあります。
そのため、Jakarta EEのサポート状況や更新情報を把握するには、利用しているアプリケーションサーバーのベンダーが提供するサポートポリシーやリリースノートを確認することが重要です。
Java EEをもっと深く学ぶための学習方法
Java EE(Jakarta EE)の基本的な仕組みや環境構築の流れを体験できたら、次の段階として、自分に合ったスタイルで継続的に学んでスキルを高めていくことが大切です。
Java EEは学びの幅が広く、初学者から実務レベルまで、さまざまなアプローチがあります。独学でも学べますが、体系的に理解したい方には講習やセミナーの活用もおすすめです。
代表的な学習方法をご紹介します。
- 公式ドキュメント(Jakarta EE公式サイト)で独学する
- Java EEに関連するセミナーや講習に参加する
- 教材サイト(Udemy、ドットインストールなど)で動画学習する
- 書籍(「やさしいJava EE入門」など)を読んで学ぶ
- チュートリアルプロジェクト(CRUDアプリなど)を自作してみる
- GitHubで公開されているサンプルコードを読んで真似・改造してみる
- アプリケーションサーバーを変えてみる(Payara、WildFlyなど)
このような形でできるところから進めることで、Java EEの理解がさらに深まっていくでしょう。
Java EE環境を構築して、最初の一歩を踏み出そう
Java EEの開発環境の構築、簡単なWebアプリの作成として実際に手を動かしてみることで、Java EEの全体像や技術の繋がりが少しずつ見えてきたのではないでしょうか。
初めての方にとっては少しハードルが高く感じる場面もあったかもしれませんが、実際に動くところまでたどり着ければ、もう立派な第一歩です。
これからさらに理解を深めていくことで、より本格的なWebアプリケーション開発にも挑戦できるようになります。今回の体験を自信に変えて、次のステップへ進んでいきましょう。
