helloworld.war アプリケーションをデプロイすることによって、Liberty でサーバー構成がどのように変わるかを知ることができます。
始める前に
helloworld.war アプリケーションは、単純なサーブレットを使用して、ブラウザーにメッセージを表示します。他の任意のメッセージを作成して表示できます。アプリケーションのコーディングについては、Liberty 資料内では説明されていません。
このタスクについて
開発者ツールを使用して Web アプリケーションを Liberty にデプロイすると、そのアプリケーションに関連するすべての構成が server.xml ファイル内で自動的に使用可能にされます。ただし、次のステップを実行して、server.xml ファイルを手動で構成することもできます。
この例は、helloworld.war アプリケーションを使用しており、http://localhost:9090/helloworld を使用してアクセス可能です。
この例では、Liberty サーバー・インスタンスが作成され、そのデフォルト HTTP ポートが 9090 に変更され、それにアプリケーションがデプロイされます。
手順
- server create hwserver コマンドを使用して、hwserver という名前のサーバーを作成します。
- helloworld.war アプリケーションを /usr/servers/hwserver/apps ディレクトリーにコピーします。このディレクトリーは、ステップ 1 で server create コマンドにより作成されたものです。
- server create コマンドで作成された server.xml ファイル内で、
サーバー hwserver のデフォルト HTTP ポートを 9090 に変更するため、属性値 httpPort="9080" を httpPort="9090" に置き換えます。
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>jsp-2.2</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint"
host="localhost"
httpPort="9090"
httpsPort="9443" />
</server>
- 以下のいずれかの方法で server.xml を更新して、アプリケーションを構成します。
- webApplication エレメントを使用して、アプリケーションを定義します。
<server description="Hello World Server">
<featureManager>
<feature>servlet-3.0</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9090" />
<webApplication contextRoot="helloworld" location="helloworld.war" />
</server>
- application エレメントを使用して、アプリケーションを定義します。
<server description="Hello World Server">
<featureManager>
<feature>servlet-3.0</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9090" />
<application context-root="helloworld" type="war" id="helloworld"
location="helloworld.war" name="helloworld"/>
</server>
webApplication エレメントは、context-root と type を除いて、
application エレメントと同じ子エレメントを使用できます。これら 2 つのエレメントは context-root に関して共に機能することはなく、
application エレメントと webApplication エレメントの両方が同じ context-root を定義すると、1 つのみが使用され、エラーが表示されます。
ここで、
context-root 属性は、デプロイ済みアプリケーションのエントリー・ポイントを指定します。デプロイ済みアプリケーションのエントリー・ポイントは、以下の手順で決定されます。
- server.xml ファイル内の context-root
- application.xml (EAR アプリケーションの場合)
- ibm-web-ext.xml (Web アプリケーションの場合)
注: server.xml ファイル内の
application エレメントの下にある
web-ext エレメントの
context-root 属性。
- server.xml ファイル内のアプリケーションの name (Web アプリケーションの場合)
- Manifest.MF (WAB アプリケーションの場合)
- Liberty の drop-ins ディレクトリーに相対的なディレクトリー名またはファイル名
注: アプリケーション・サーバー
server.xml 構成で、
application エレメントは
context-root タグを含むことができます。この
context-root タグは
type="war" タグと組み合わせて使用できます。他のすべてのアプリケーション・タイプの場合、
context-root エレメントの効果は何もありません。
EAR アプリケーションまたは EBA アプリケーションのどちらの場合も、context-root をオーバーライドすることはできません。スタンドアロン WAR ファイルまたは webApplication の場合のみオーバーライドを行うことが可能です。
- server run hwserver コマンドを使用して、サーバーをフォアグラウンドで始動します。
- http://localhost:9090/helloworld でアプリケーションをテストします。
- オプション: サーバーが不要な場合はサーバーを停止します。