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
クイックスタートをインポートして正常に実行したことを前提としています。
前提条件
- 以下の手順に従って、Red Hat JBossDeveloperStudio をインストールします。「Install Red Hat JBoss Developer Studio」。
- 以下の手順に従って、Red Hat JBoss Developer Studio で使用するように Maven を設定します。「Red Hat JBoss Developer Studio で使用するための Maven の設定」。
- こちらの手順に従って、Red Hat JBoss Developer Studio で
helloworld
クイックスタートをインポート、ビルド、およびデプロイします。 「Red Hat JBoss Developer Studio でクイックスタートを実行します」 - Web ブラウザーを開き、次の URL でアプリケーションにアクセスして、
helloworld
クイックスタートが JBoss EAP に正常にデプロイされたことを確認します。 http://localhost:8080/jboss-helloworld
手順1.9 ディレクトリー構造の確認
helloworld クイックスタートのコードは
QUICKSTART_HOME/helloworld
ディレクトリーにあります。helloworld クイックスタートはサーブレットと CDI Bean によって構成されます。また、JBoss EAP 6 にこのアプリケーションで Bean を検索し、CDI をアクティブ化するように指示する空の beans.xml ファイルも含まれています。
Beans.xml
ファイルは、クイックスタートのsrc/main/webapp/
ディレクトリーのWEB-INF/
フォルダーにあります。src/main/webapp/
ディレクトリーには、シンプルなメタリフレッシュを使用してユーザーのブラウザーをサーブレットにリダイレクトするindex.html
ファイルも含まれており、これはhttp://localhost:8080/jboss-helloworld/HelloWorldに配置されています。- この例のすべての設定ファイルは、
WEB-INF/
にあります。これは、例のsrc/main/webapp/
ディレクトリーにあります。 - クイックスタートには
web.xml
ファイルも必要ないことに注意してください。
手順1.10 コードの確認
パッケージの宣言とインポートはこれらのリストからは除外されています。完全リストはクイックスタートのソースコードで確認できます。
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 要求へ書き出します。 HelloService コードを確認します
HelloService.java
ファイルはsrc/main/java/org/jboss/as/quickstarts/helloworld/
ディレクトリーにあります。このサービスはとてもシンプルです。メッセージを返します。XML やアノテーションの登録は必要ありません。public class HelloService { String createHelloMessage(String name) { return "Hello " + name + "!"; } }