Live By The Code

元業務系プログラマの呟き

WildFly8でサーブレットを動かしてみる

Eclipseサーブレットを書いてWildFly8にデプロイしてみます。

JavaEE7のプロジェクトを作る

新しいMavenプロジェクトを作ってJavaEE7のarchetypeを探しますがEE6のものしか見つかりません。
f:id:lbtc_xxx:20140116180634p:plain

ここにJavaEE7用の何かが存在するようなのでこれを使ってみたかったのですが、やり方がよくわかりませんでした...。仕方が無いので替わりになりそうなものを使います。「Configure」→「Add Remote Catalog」から新たなカタログ http://repo1.maven.org/maven2 を追加します。
f:id:lbtc_xxx:20140116180721p:plain

もとの画面に戻ったら「javaee7」と入れてみます。すると「javaee7-essentials-archetype」というのが現れるのでこれを使って進めます。Nextを押すとしばらく何かのダウンロードが行われます。
f:id:lbtc_xxx:20140116180751p:plain

適当に入力してFinish
f:id:lbtc_xxx:20140116180808p:plain

右下に表示される処理中インジケータを眺めながらしばらく待つとプロジェクトが出来上がります。
f:id:lbtc_xxx:20140116180825p:plain

サーブレットを作る

もはや何でも良いので超適当に

package com.example;
 
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().write("Hello world");
    }
}

デプロイ

ServersのViewを開いてWildFlyを右クリックし「Add and Remove」を選びます
f:id:lbtc_xxx:20140116181011p:plain

次に現れるウインドウで、つい先ほど作ったJavaEE7Pracを選択してAddを押して右側に移しFinishを押します
f:id:lbtc_xxx:20140116181028p:plain

Consoleを見るとデプロイできました的なメッセージが出ているはず。確認したらブラウザで表示してみます。
f:id:lbtc_xxx:20140116181136p:plain

自動デプロイさせる

htmlファイルなどはデフォルトで自動的に反映されるのですが、クラス等は追加の設定を入れないと自動デプロイが走りません。

  1. Serversを開きます
  2. WildFlyをダブルクリックします
  3. 画面下部の「Deployment」を選びます
  4. Deploy project as compressed archivesにチェックを入れます

f:id:lbtc_xxx:20140116181209p:plain

それでは自動デプロイの実験をしてみます。こんな感じに編集して保存してみます。びっくりマーク追加しただけです。
f:id:lbtc_xxx:20140116181233p:plain
保存してからコンソールを眺めているとデプロイしました的な文言が流れます。

ブラウザでリロードすると表示が変わり資源が更新されたことがわかります。
f:id:lbtc_xxx:20140116181256p:plain