IntelliJ IDEA 2020.2ヘルプ

チュートリアル: 初めてのJava EEアプリケーション

このチュートリアルでは、IntelliJ IDEAで単純なJava EE Webアプリケーションを開発する方法について説明します。アプリケーションは、Hello, World!を示す単一のJSPページになります。

新しいJava エンタープライズプロジェクトを作成し、JSPページを追加し、GlassFishサーバーの場所をIntelliJ IDEAに通知し、実行構成を使用してアーティファクトを構築し、サーバーを起動して、アーティファクトをデプロイします。

必要なものは次のとおりです。

  • Java SE Development Kit(JDK)バージョン1.8以降。Java開発キット (JDK)に従って、IntelliJ IDEAから直接JDKを取得するか、手動でダウンロードしてインストールすることができます(例:Oracle JDK(英語))。

  • GlassFishアプリケーションサーバーのバージョン3.0.1以降。最新のリリースは、公式のリファレンス実装Webサイト(英語)から入手できます。このチュートリアルでは、Webプロファイルサブセットで十分です。

  • Webアプリケーションを表示するためのWebブラウザー。

新しいJava エンタープライズプロジェクトを作成する

IntelliJ IDEAには、さまざまなJava EEおよびJakarta EE実装に基づいてJava エンタープライズプロジェクトを作成するための専用ウィザードが含まれています。このチュートリアルでは、簡単なWebアプリケーションを作成します。

  1. メインメニューからファイル | 新規 | プロジェクトを選択します。

  2. 新規プロジェクトダイアログで、Java エンタープライズを選択します。このチュートリアルでは、プロジェクトSDKとしてJava 1.8を使用し、デフォルトでは他の設定をそのままにします。Mavenはビルドツール、JUnitはテストランナーです。プロジェクト言語としてJavaを選択し、次へをクリックします。

    New Java Enterprise project wizard
  3. ライブラリおよびフレームワークリストで、仕様サーブレットフレームワークを選択し、次へをクリックします。

  4. プロジェクトの名前を入力します: JavaEEHelloWorld。次に完了をクリックします。

これにより、Webファセットを持つプロジェクト構造が作成されます。

ソースコードを書く

Webブラウザーで開いたときに Hello, World! をレンダリングするindex.jspページを追加します。これは、ルートディレクトリにアクセスしたときに開くアプリケーションの開始ページになります。

  1. プロジェクトツールウィンドウで、src / main / webappディレクトリを右クリックし、新規 | JSP/JSPXを選択します。

  2. JSP / JSPXページの作成ダイアログで、ページ index の名前を入力し、Enterを押します。

  3. Hello, World!<body> タグに追加するか、次のコードをindex.jspにコピーします。

    <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> Hello, World! </body> </html>

GlassFishを設定する

GlassFishアプリケーションサーバーの場所をIntelliJ IDEAに知らせます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、ビルド、実行、デプロイ | アプリケーション・サーバーを選択します。

  2. the Add button をクリックし、GlassFish サーバーを選択します。

  3. GlassFishサーバーのインストール場所へのパスを指定します。IntelliJ IDEAは、名前とバージョンを適切に検出および設定します。

    GlassFish application server configuration

GlassFishサーバー用に正しいJavaランタイムが設定されていることを確認してください。サポートされている任意のJavaランタイムでGlassFishを実行するか、プロジェクト用に構成されたもの(このチュートリアルではJava 8)を使用できます。 Ctrl+Alt+Shift+S を押してプロジェクト構造ダイアログを開き、JDK ホーム・パスSDKにコピーします。次に、GlassFishインストールディレクトリのglassfish / configにあるasenv.confファイルを開き、次のように AS_JAVA の値としてJDKホームへのパスを追加します。AS_JAVA=/absolute/path/to/java/home

GlassFish実行構成を作成する

IntelliJ IDEAには、アーティファクトを構築してアプリケーションサーバーにデプロイするための実行構成が必要です。

  1. メインメニューから実行 | 構成の編集を選択します。

  2. 実行/デバッグ構成ダイアログで the Add buttonをクリックし、GlassFish サーバーノードを展開してローカルを選択します。

  3. 実行構成設定ダイアログの下部に表示される警告を修正します。

    GlassFish run configuration warning

    ほとんどの場合、以下を修正する必要があります。

    • サーバータブで、サーバー・ドメインdomain1に設定します。

    • デプロイタブで、デプロイするアーティファクトを追加する: JavaEEHelloWorld:war exploded

  4. サーバータブで、URLを http://localhost:8080/JavaEEHelloWorld-1.0-SNAPSHOT/ に設定し、実行構成を保存します。

    GlassFish run configuration done
  5. 構成を実行するには、Alt+Shift+F10 を押して、作成されたGlassFish構成を選択します。

この実行構成は、アーティファクトを構築してからGlassFishサーバーを起動し、アーティファクトをサーバーに配備します。実行ツールウィンドウに対応する出力が表示されます。

Started GlassFish server and deployed application in the Run tool window

これが完了すると、指定したURLがWebブラウザーで開きます。

Deployed application output in the web browser

アプリケーションを変更する

アプリケーションのソースコードを変更するたびに、実行構成を再起動して変更を確認できます。ただし、特にサーバーを再起動できない場合は、これは必ずしも必要ではありません。ほとんどの変更はマイナーであり、アーティファクトの再構築、サーバーの再起動などは必要ありません。アプリケーションのJSPページを変更してみましょう。

  1. index.jspを開き、挨拶を Hello, World! から A better greeting.に変更します。

  2. 実行ツールウィンドウで、The Update Application button をクリックするか、Ctrl+F10を押します。

  3. JSPページは静的リソースであるため、更新ダイアログでリソースの更新を選択します。OKをクリックします。

  4. WebブラウザでアプリケーションのURLをリフレッシュして、新しい文字列を確認する: A better greeting.

実行構成設定でデフォルトの更新アクションを構成できます。メインメニューから実行 | 構成の編集を選択します。GlassFish実行構成設定のサーバータブにある'更新' アクション時オプションを変更します。

Configure application update actions in the GlassFish run configuration

フレーム切り替え時オプションを使用すると、IntelliJ IDEAからフォーカスを変更するたびにサーバーを再デプロイして再起動することなく、リソースとクラスをリフレッシュするように構成できます。この場合、アプリケーションを更新アクションを使用する必要はなく、Webブラウザーに切り替えてページをリフレッシュするだけです。

アプリケーションをWARにパッケージ化し、実行中のサーバーにデプロイする

前のステップでは、すべてのファイルが圧縮されていないデプロイアーティファクトを使用してアプリケーションをデプロイしました。これは、再デプロイせずに個々のリソースとクラスを更新できるため、開発の最初の段階で役立ちます。アプリケーションに満足し、リモートサーバーにデプロイして他のユーザーと共有する準備ができたら、圧縮されたWebアーカイブ(WAR)形式を使用することをお勧めします。

リモート GlassFish実行構成を追加して、WARアーティファクトを実行中のサーバーにデプロイしましょう。これは、前の手順でGlassFishインスタンスを終了していないことを前提としています。

  1. メインメニューから実行 | 構成の編集を選択します。

  2. 実行/デバッグ構成ダイアログで the Add buttonをクリックし、GlassFish サーバーノードを展開してリモートを選択します。

  3. この実行構成の名前を変更して、区別します(例: Remote GlassFish 4.1.1)。

  4. デプロイタブを開き、デプロイするアーティファクトのテーブルにある the Add button をクリックして、成果物を選択します。 JavaEEHelloWorld:war アーティファクトのデプロイを選択し、OKをクリックします。

    Remote GlassFish run configuration artifacts to deploy
  5. OKをクリックして、リモート実行構成を保存します。

  6. index.jspを開き、挨拶を Hello from WAR!に変更します。

  7. メインツールバーで新しい実行構成を選択し、The Run button をクリックするか、Shift+F10を押します。

    Remote GlassFish run configuration in the selector

新しい構成により、WARアーティファクトが構築され、実行中のサーバーにデプロイされます。URL http://localhost:8080/JavaEEHelloWorld-1.0-SNAPSHOT/(英語)をリフレッシュして、新しい挨拶を表示します: Hello from WAR!

アプリケーションをEARにパッケージ化する

適切なエンタープライズアプリケーションは、WARファイルとJARファイルの両方を含むことができるEARファイルにパッケージ化されます。IntelliJ IDEAでこれを行う方法を見てみましょう。

  1. プロジェクトツールウィンドウで、モジュールを右クリックしてフレームワークのサポートを選択します。

    Add Framework Support
  2. フレームワークのサポートダイアログで、Java EEJavaEE アプリケーションを選択し、OKをクリックします。

    IntelliJ IDEAは、モジュールにMETA-INF / application.xmlファイルを追加します。これは、アプリケーションのデプロイ記述子です。

  3. Ctrl+Alt+Shift+S を押して、プロジェクト構造ダイアログを開きます。成果物ページで新しいJavaEEHelloWorld:earの分解アーティファクトを選択し、javaEEApplication ファセットリソースのみが含まれていることに注意してください。

  4. 使用可能な要素成果物要素を展開し、JavaEEHelloWorld:warをダブルクリックして、それをEARアーティファクト構造に追加します。

    Add WAR to exploded EAR

    Webファセットはapplication.xmlに登録されていませんというメッセージが表示されたら、修復をクリックします。

  5. the Add buttonをクリックし、JavaEE アプリケーション: アーカイブを選択してから、'JavaEEHelloWorld:ear 展開' の場合をクリックします。

    Add EAR artifact
  6. 新しいEAR成果物を選択して、マニフェストの作成をクリックします。

    Create manifest for EAR artifact

    application.xmlの隣のMETA-INFにデフォルトの場所を指定します。

  7. application.xmlを開きます。次のものが含まれている必要があります。

    <application xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd" version="8"> <module id="JavaEEHelloWorld-Web"> <web> <web-uri>JavaEEHelloWorld.war</web-uri> <context-root>JavaEEHelloWorldWeb</context-root> </web> </module> </application>

EARアーティファクトをデプロイする

EARアーティファクトのデプロイはWARのデプロイに似ています。リモートGlassFish実行構成が必要です。

  1. メインメニューから実行 | 構成の編集を選択します。

  2. 実行/デバッグ構成ダイアログで the Add buttonをクリックし、GlassFish サーバーノードを展開してリモートを選択します。

  3. この実行構成の名前を変更して、区別します(例: Remote EAR GlassFish 4.1.1)。

  4. デプロイタブを開き、デプロイするアーティファクトのテーブルにある the Add button をクリックして、成果物を選択します。 JavaEEHelloWorld:ear アーティファクトのデプロイを選択し、OKをクリックします。

  5. OKをクリックして、リモート実行構成を保存します。

  6. index.jspを開き、挨拶を Hello from EAR!に変更します。

  7. メインツールバーで新しい実行構成を選択し、The Run button をクリックするか、Shift+F10を押します。

新しい構成により、EARアーティファクトが構築され、実行中のサーバーにデプロイされます。URL http://localhost:8080/JavaEEHelloWorldWeb/(英語)をリフレッシュして、新しい挨拶 Hello from EAR!を確認します。URLはapplication.xmlで指定された context-root に対応することに注意してください。

次の作業

このチュートリアルでは、簡単なJavaエンタープライズアプリケーションを作成してデプロイする方法を示しました。この知識を拡張するために、チュートリアル: 初めてのRESTful Webサービスに従ってRESTful Webサービスを作成できます。次に、RESTエンドポイントへのリンクを持つJSPページを使用して、両方を1つのアプリに組み合わせることができます。

最終更新日: 2020年9月15日