いいね!JavaEE!勉強会に行ってきました

いいね!JavaEE!に行ってきました。
id:backpaper0さんが以下の内容について発表されました。
JAX-RS、jersey、JAXB、jackson、ServiceLoader、JAX-RS2.0の新機能などなど
発表の合間に、Java8、JavaEE7、実際に開発した時のはまった具体的な例のお話もあってすごく濃い内容でした。
私はぜんぜん勉強不足なので初めて耳にした言葉とか、JAX-RSはなんとなくしかわかっていなかったのですが、実際に開発している方のお話をお聞きできてとても良かったです。
以前からちょっと試してみたいなと思っていたので、じゃあ今でしょ!
で早速今日朝から挑戦していました。最初にNetBeansJavaEEを使ってサンプルを写経していたのですが、ぜんぜん思ったようにできませんでした。
次にこのサイトjersey.java.netのSampleに挑戦。
とりあえず上記サイトに記載しているjarをdownloadしてNetBeansでJavaProjectを作成、downloadしたjarをクラスパスに設定。

  • 以下の構成でファイルを作成

  • 実行結果


上記サイトのサンプル通り以下の2つのクラスを作成

  • HelloWorldResource.java
package com.test;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/helloworld")   // http://localhost:9998/helloworld ★ここ
public class HelloWorldResource {
    @GET
    @Produces("text/plain")
    public String getClickedMessage(){
        return "Hello World!";    // ★画面にこの内容が表示
    }
}
package com.test;

import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory;
import com.sun.jersey.api.core.PackagesResourceConfig;
import com.sun.jersey.api.core.ResourceConfig;
import java.io.IOException;
import java.net.URI;
import javax.ws.rs.core.UriBuilder;
import org.glassfish.grizzly.http.server.HttpServer;

public class Main {
    private static URI getBaseURI() {
        return UriBuilder.fromUri("http://localhost").port(9998).build();
    }

    public static final URI BASE_URI = getBaseURI();
    protected static HttpServer startServer() throws IOException {
        System.out.println("Starting grizzly");
        ResourceConfig rc = new PackagesResourceConfig("com.test");
        return GrizzlyServerFactory.createHttpServer(BASE_URI, rc);
    }

    public static void main(String... args) throws IOException{
        HttpServer httpserver = startServer();
        System.out.println(String.format("Jersey app started with WADL available at %sapplication.wadl Try out %shelloworld Hit enter to stop it..", BASE_URI, BASE_URI));
        System.in.read();
        httpserver.stop();
    }
}

最近はWebの開発から遠ざかっていたので、いろいろはまったのですがやっぱり実行結果の「Hello World」が見れて嬉しかったです。

最後に会場を提供してくださったスタッフの方々、発表者のbackpaper0さん、ありがとうございました!!
とても楽しく有意義な時間を過ごせました!!!