Tomcat/Servletの記述をアノテーションで簡易化する方法

Servletへのアクセスがとっても簡単になりました。久しぶりにTomcatやServletを触ったら結構仕様が変わってましたので、私が観測した範囲でまとめておきます。

今回の記事は、先日書いた次の記事の更新版です。もちろん先日の次の記事の設定方法もまだ健在ですよ。今回の記事で紹介するほうが非常に簡単という話です。
「HTMLヘッダ」や「web.xmlのタグ」の解説。オマジナイのようだけどそれだけではありません。

アノテーション

Servlet 2.0からサーブレットにアノテーションを使用することでweb.xmlの編集が不要になりました。web.xmlはアドレスとディレクトリのマッピングを記述していたファイルです。具体的には、Servletのクラスの前行にこのようにアノテーションを記述すればアクセスすることが出来るようになります。
@WebServlet("/SampleServlet")
public class SampleServlet extends HttpServlet {

アクセス方法

具体的なアクセス方法をご紹介します。上記のServletクラスにアクセスするにはアノテーションに記述したクラス名にアクセスすれば良いのです。ここではSampleServletクラスですね。例えばjavascriptのajaxでアクセスするならこのように記述します。
$.ajax({
  url:'./SampleServlet',
  type:'POST',
  data:{ message:sendMessage },
  error:function() {
    alert("ロード失敗");
  },
  success:function(xml) { alert("ロード失敗"); }
});

これでPOSTでメッセージなりのデータを送信することが出来ます。以前の記述方法から見違えるほど簡単になりましたね。視認性が抜群によくなりました。

もう少し具体的に言うと、上記のようにajaxを書くと、ServletクラスのdoPostメソッドに指定したデータを送信することが出来ます。doPostメソッドは送られてきたデータを第一引数で取得し、第二引数を使用して送り返すことが出来ます。doPostメソッドから第二引数を使用して送り返されたデータはajaxのsuccess:function(xml)に入ります。これでjavascript(ajax)とjava(Servlet)を行って帰っての通信をすることが出来ました。簡単でしたね。

このようにアノテーションを使用することでweb.xmlというファイルを変更しなくて良くなりました。

以上、「Tomcat/Servletの記述をアノテーションで簡易化する方法」でした。

上司がクソ野郎になってきた

上司がクソだ。 全然勉強していなくて話が通じなくてクソ REST知らないってどういうことなんだろう。弊社標準になってから久しいJavaをまともに組めないってのはどういうことなんだろう。 計画上では詳細設計フェーズが半分を過ぎようというときに要件定義できていないってのはどう...