Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

1.4.3. クイックスタートチュートリアルを確認する

1.4.3.1. helloworld クイックスタート

概要

helloworld クイックスタートは JBoss EAP 6 に単純なサーブレットをデプロイする方法を示します。ビジネスロジックは CDI (Contexts and Dependency Injection: コンテキストと依存関係の挿入) Bean として提供されるサービスにカプセル化され、サーブレットに挿入されます。このクイックスタートは非常に簡単です。HelloWorld を Web ページに出力するだけです。サーバーを適切に設定して起動したことを確認することは、良い出発点です。

コマンドラインを使用してこのクイックスタートをビルドしデプロイする手順の詳細については、helloworld クイックスタートディレクトリーのルートにある README.html ファイルを参照してください。ここでは、Red Hat JBoss Developer Studio を使用してクイックスタートを実行する方法を示します。このトピックは、Red Hat JBoss Developer Studio をインストールし、Maven を設定し、helloworld クイックスタートをインポートして正常に実行したことを前提としています。

前提条件

手順1.9 ディレクトリー構造の確認

helloworld クイックスタートのコードは QUICKSTART_HOME/helloworld ディレクトリーにあります。helloworld クイックスタートはサーブレットと CDI Bean によって構成されます。また、JBoss EAP 6 にこのアプリケーションで Bean を検索し、CDI をアクティブ化するように指示する空の beans.xml ファイルも含まれています。
  1. Beans.xml ファイルは、クイックスタートの src/main/webapp/ ディレクトリーの WEB-INF/ フォルダーにあります。
  2. src/main/webapp/ ディレクトリーには、シンプルなメタリフレッシュを使用してユーザーのブラウザーをサーブレットにリダイレクトする index.html ファイルも含まれており、これはhttp://localhost:8080/jboss-helloworld/HelloWorldに配置されています。
  3. この例のすべての設定ファイルは、WEB-INF/ にあります。これは、例の src/main/webapp/ ディレクトリーにあります。
  4. クイックスタートには web.xml ファイルも必要ないことに注意してください。

手順1.10 コードの確認

パッケージの宣言とインポートはこれらのリストからは除外されています。完全リストはクイックスタートのソースコードで確認できます。
  1. HelloWorldServlet コードを確認します。

    HelloWorldServlet.java ファイルは src/main/java/org/jboss/as/quickstarts/helloworld/ ディレクトリーにあります。このサーブレットが情報をブラウザーに送ります。
    42.  @SuppressWarnings("serial")
    43.  @WebServlet("/HelloWorld")
    44.  public class HelloWorldServlet extends HttpServlet {
    45.  
    46.      static String PAGE_HEADER = "<html><head><title>helloworld</title></head><body>";
    47.  
    48.      static String PAGE_FOOTER = "</body></html>";
    49.  
    50.      @Inject
    51.      HelloService helloService;
    52.  
    53.      @Override
    54.      protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    55.          resp.setContentType("text/html");
    56.          PrintWriter writer = resp.getWriter();
    57.          writer.println(PAGE_HEADER);
    58.          writer.println("<h1>" + helloService.createHelloMessage("World") + "</h1>");
    59.          writer.println(PAGE_FOOTER);
    60.          writer.close();
    61.      }
    62.  
    63.  }
    

    表1.1 HelloWorldServlet の詳細

    注記
    43 Java EE 6 より前は、XML ファイルを使用してサーブレットを登録していました。よりきれいになりました。必要な作業は @WebServlet アノテーションを追加し、サーブレットにアクセスするために使用する URL にマッピングを提供するだけです。
    46〜48 各 Web ページには適切な形式の HTML が必要になります。本クイックスタートは静的な文字列を使用して最低限のヘッダーとフッターの出力を書き出します。
    50〜51 これらの行は、実際のメッセージを生成する HelloService CDI Bean を挿入します。HelloService の API を変更しない限り、ビューレイヤーを変更せずに HelloService の実装を後で変更することが可能です。
    58 この行はサービスを呼び出し、「Hello World」というメッセージを生成して HTTP 要求へ書き出します。
  2. HelloService コードを確認します

    HelloService.java ファイルは src/main/java/org/jboss/as/quickstarts/helloworld/ ディレクトリーにあります。このサービスはとてもシンプルです。メッセージを返します。XML やアノテーションの登録は必要ありません。
    public class HelloService {
    
        String createHelloMessage(String name) {
            return "Hello " + name + "!"; 
        }
    }