機能の最近の情報



Java Servlet 3.0 Specification

Public Review Ballotのフェーズを賛成多数で通過したが、

ASF(Apache Software Foundation)は、反対票を投じている。

しかし、ASFの反対票は技術的な問題ではなく、

政治的な問題によるものだといわれている。

 

Java Servlet 3.0 機能概要

次期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)

 

機能詳細ピックアップ

  • プラグインの容易性(Pluggability)
    web.xmlのモジュール化(ファイルの分割)
    ServletContextにServletとFilterの宣言とマッピングを定義するメソッドが追加
  • 開発の容易性(Ease of development)
    Servletは、アノテーション@Servletにより定義可能。これにより大幅に記述量を
    減らす事ができる。また@GET、@PUTを指定する事で、任意のメソッドをhttpの
    GETやPUT時のメソッドに指定する事ができる
    FilterとFilterのマッピングについては、@ServletFilterと@FilterMappingの
    アノテーションで宣言する事が可能
    Context Listnerについても、@ServletContextListnerアノテーションで宣言可能
  • 非同期Servletのサポート(Async servlet support)
    非同期Servletは、Cometスタイルのアプリケーションや、非同期Webプロキシー、
    非同期Webサービスでの利用が想定されており、requestのsuspendや
    resumeを可能にする。ServletRequest、RequestListner、ServletResponseへ
    非同期メソッドの追加
  • セキュリティのエンハンス(Security enhancements)
    セキュリティとして、ログイン、ログアウトを可能にするため、loginとlogoutのメソッド
    を次のクラスに追加する。HttpServletRequest 、HttpServletRequestWrapper、
    HttpSession (logout only)
  • HttpOnlyCookieのサポート
    クライアントサイドスクリプティングからのcookieへのアクセスを防ぎ、また、
    クロスサイトスクリプティング攻撃を防ぐ
  • session tracking cookieの設定を可能
    session tracking cookieの設定を可能にし、多数のsession trackingの
    サポートも行う

 

 ドキュメント、API

Servlet 3.0 の草案段階にあるAPIマニュアルと解説ドキュメントはJSR 315 から

ダウンロードできるようになっている。

Servlet 3.0 JSR315