第2章 Hello World サーブレットの作成
アクセスされたときに "Hello World!" を返すサーブレットを作成します。
この手順では、<application_home> は、アプリケーションの pom.xml
設定ファイルが含まれるディレクトリーを参照します。
前提条件
Maven プロジェクトを作成している。
詳細は、Hello World アプリケーション用の Maven プロジェクトの作成 を参照してください。
手順
必要な依存関係を
pom.xml
設定ファイルの<dependencyManagement>
セクションの後に追加します。<project> ... <dependencies> <dependency> 1 <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <scope>provided</scope> 2 </dependency> </dependencies>
注記jboss-eap-ee-with-tools
BOM が<dependencyManagement>
セクションにインポートされるため、依存関係はバージョンなしで定義します。- <application_home> ディレクトリーに移動します。
Java ファイルを保存するディレクトリーを作成します。
$ mkdir -p src/main/java/org/jboss/as/quickstarts/helloworld
新しいディレクトリーに移動します。
$ cd src/main/java/org/jboss/as/quickstarts/helloworld
"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
になります。
<application_home>/src/main/webapp ディレクトリーに移動します。
Maven が作成したファイル "index.jsp" が見つかります。このファイルは、ユーザーがアプリケーションにアクセスしたときに "Hello World!" を出力します。
"index.jsp" ファイルの内容を次の内容に置き換えて、Hello World サーブレットにリダイレクトするようにファイルを更新します。
<html> <head> <meta http-equiv="Refresh" content="0; URL=HelloWorld"> </head> </html>
- <application_home> ディレクトリーに移動します。
次のコマンドを使用して、アプリケーションをコンパイルし、Web アーカイブ (WAR) としてパッケージ化します。
$ mvn package
出力例
... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ ...
次のステップ