今更ながらJavaEE 6のServlet 3.0を試す
いろんなブログですでに言及されていて、車輪の再発明になるけどキニシナイ。
今回はNetBeans6.7rc2とGlassfish3 previewを使います。
rc2なのは、画像撮ったのがrc3リリース前だったから。
まずはGlassfish3用のPluginをインストールします。
対象のPluginを選択してインストールするだけ。
次に新規プロジェクトを作成。今回は普通のWebプロジェクトとして作ります。
プロジェクト名はデフォルトのWebApplication1で。
サーバをGlassfish3、対象のJavaEEをJavaEE 5.0にします。
後は、Servletクラスを作るだけ。
ソースはこんな感じ。
package action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = "/test",name="AppServ") public class SampleServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { res.setContentType("text/html;charset=UTF-8"); PrintWriter writer = res.getWriter(); writer.println("<html>"); writer.println("<body>"); writer.println("Servletテストだよ"); writer.println("</body>"); writer.println("</html>"); } }
@WebServletアノテーションにurlPattersを指定することで、
web.xmlを設定しなくても、指定したurlでアクセスすれば対象のServletに飛ぶようになります。
今回は、〜/WebApplication1/testにアクセスすればOK。
ちなみにこの設定だと/test/1とかにアクセスすると404エラーになります。
/test/*と設定すると、/test/a/b・・・・と入力しても
指定のServletに飛ばせるようです。
EJBに関しては私自身よく分かっていないので、また今度の機会に。