検索

第2章 Hello World サーブレットの作成

download PDF

アクセスされたときに "Hello World!" を返すサーブレットを作成します。

この手順では、<application_home> は、アプリケーションの pom.xml 設定ファイルが含まれるディレクトリーを参照します。

前提条件

手順

  1. 必要な依存関係を pom.xml 設定ファイルの <dependencyManagement> セクションの後に追加します。

    <project>
        ...
        <dependencies>
            <dependency>                                             1
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <scope>provided</scope>                              2
            </dependency>
        </dependencies>
    1
    jakarta.servlet-api 依存関係は、Jakarta Servlet API を提供します。
    2
    依存関係がアプリケーションに含まれないように、スコープを provided として定義します。アプリケーションに依存関係を含めない理由は、この依存関係が jboss-eap-ee-with-tools BOM によって管理されるためです。このような依存関係は JBoss EAP に組み込まれます。
    注記

    jboss-eap-ee-with-tools BOM が <dependencyManagement> セクションにインポートされるため、依存関係はバージョンなしで定義します。

  2. <application_home> ディレクトリーに移動します。
  3. Java ファイルを保存するディレクトリーを作成します。

    $ mkdir -p src/main/java/org/jboss/as/quickstarts/helloworld
  4. 新しいディレクトリーに移動します。

    $ cd src/main/java/org/jboss/as/quickstarts/helloworld
  5. "Hello World!" を返すサーブレット HelloWorldServlet.java を作成します。

    package org.jboss.as.quickstarts.helloworld;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import jakarta.servlet.ServletException;
    import jakarta.servlet.annotation.WebServlet;
    import jakarta.servlet.http.HttpServlet;
    import jakarta.servlet.http.HttpServletRequest;
    import jakarta.servlet.http.HttpServletResponse;
    
    @WebServlet("/HelloWorld")                      1
    public class HelloWorldServlet extends HttpServlet {
    
        static String PAGE_HEADER = "<html><head><title>helloworld</title></head><body>";
    
        static String PAGE_FOOTER = "</body></html>";
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.setContentType("text/html");
            PrintWriter writer = resp.getWriter();
            writer.println(PAGE_HEADER);
            writer.println("<h1> Hello World! </h1>");
            writer.println(PAGE_FOOTER);
            writer.close();
        }
    }
    1
    @WebServlet("/HelloWorld") アノテーションは、JBoss EAP に次の情報を提供します。
    • このクラスがサーブレットであること。
    • このサーブレットを URL "<application_URL>/HelloWorld" で利用可能にすること。

      たとえば、JBoss EAP がローカルホスト上で実行されており、デフォルトの HTTP ポート 8080 でアクセスできる場合、URL は http://localhost:8080/helloworld/HelloWorld になります。

  6. <application_home>/src/main/webapp ディレクトリーに移動します。

    Maven が作成したファイル "index.jsp" が見つかります。このファイルは、ユーザーがアプリケーションにアクセスしたときに "Hello World!" を出力します。

  7. "index.jsp" ファイルの内容を次の内容に置き換えて、Hello World サーブレットにリダイレクトするようにファイルを更新します。

    <html>
        <head>
            <meta http-equiv="Refresh" content="0; URL=HelloWorld">
        </head>
    </html>
  8. <application_home> ディレクトリーに移動します。
  9. 次のコマンドを使用して、アプリケーションをコンパイルし、Web アーカイブ (WAR) としてパッケージ化します。

    $ mvn package

    出力例

    ...
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.