Java Servlet Technology

JSR 315 Java Servlet 3.0 SpecificationがPublic Review Ballotのフェーズを通過した。投票結果は16のうち賛成が12、反対が1、無投票が3の賛成多数。Servlet 3.0に反対しているのはApache Software Foundationだが、技術的な問題ではなくどちらかといえば政治的な問題だ。ASFは2007Q2ごろからSun MicrosystemsのJCPに対する態度に疑問を呈し、以後一貫して反対票を投じている。同問題が解決するまでASFからは反対票しか得られそうにない。

次期Servletとなる3.0でどういった機能が実現されるのか、Javalobby An Overview of Servlet 3.0に概要がまとまっている。特に興味深いトピックをまとめると次のとおり。

  • Servlet 3.0は現在のServlet 2.5のアップデートバージョン。Java EE 6に取り込まれWebフレームワークにプラガブル性や拡張性を提供する
  • 非同期処理のサポート登場(JDBC/Wev Serviceなどのリソース待ち機能、非同期レスポンス、非同期関連クラスの導入)
  • いくつかの新しいアノテーションを導入によるEoDの推進
  • 単一のweb.xmlファイルから複数のファイルを含められるweb-fragment.xmlファイルの導入
  • HTTPServletRequestを拡張しログインとログアウトのプログラマティックな処理を実現
  • Servletおよびフィルタを追加するメソッドServletContext#addFilter, ServletContext#addServlet登場

Servlet 3.0の参照実装は開発段階にあるGlassFish v3ナイトリービルドだ。草案段階にあるAPIマニュアルと解説ドキュメントはJSR 315からダウンロードできる。APIマニュアルで3.0から導入されると記述されているクラスやメソッドを追うことでどういった機能が目指されているかを把握できる。