6.1 Servlet仕様およびJSP仕様で追加,変更された機能のサポート範囲

ここでは,Servlet仕様およびJSP仕様で追加,変更された機能の概要と,アプリケーションサーバでのサポート範囲を示します。

各バージョンのServlet仕様およびJSP仕様で追加,変更された機能をアプリケーションサーバで使用する場合の動作や注意事項は,6.2.3以降を参照してください。

Servlet 3.0で追加,変更された機能の概要とサポート範囲を次の表に示します。

表6-1 Servlet 3.0の機能の概要とサポート範囲

項番機能名機能概要サポート
1web.xml(Servlet 3.0)と新規アノテーションServlet 3.0に対応したweb.xmlを使用できます。
アノテーションでサーブレットを定義できます(web.xmlを省略できます)。
web-fragment.xmlを使用できます。×※1
2動的サーブレット定義APIでサーブレット,フィルタ,またはリスナを定義できます。
3ファイルアップロードcontent-typeがmultipart/form-dataのリクエストを処理できます。
4静的リソースの配置JARファイルのMETA-INF/resourcesに静的リソースやJSPを配置できます。
5セキュリティエンハンス
  • アノテーションでセキュリティ設定ができます。
  • 認証用のAPIが使えます。
6非同期サーブレットリクエストを受け付けたスレッドとは別のスレッドで,リクエスト処理やレスポンス生成ができます。×※2
7Servlet仕様のその他の変更CookieにHttpOnly属性を付けられます。
HTTPセッションのセッションIDを示すHTTP Cookieの名前を変更できます。
HTTPダイジェスト認証が使えます。×※3
ServletRequestの属性としてSSL Session IDが取得できます。×※4
8JSP仕様の変更デフォルトのコンテンツタイプやバッファサイズなどをweb.xmlで指定できます。×※5
9ELパラメタ付きメソッドパラメタ付きメソッドを呼び出せます。※6
10APIのエンハンス新規に追加または変更となったAPIが使用できます。※7
(凡例)
○:サポートする ×:サポートしない △:一部サポートする
注※1
web-fragment.xmlがWebアプリケーションに含まれていた場合,無視されます。
注※2
非同期サーブレットに関するDDおよびアノテーションは無視されます。また,非同期サーブレットに関するAPIが呼び出された場合は,例外が発生します。
注※3
DDでダイジェスト認証が設定された場合,動作は保証されません。
注※4
ServletRequestクラスで,「javax.servlet.request.ssl_session_id」を引数に指定してgetAttributeメソッドを呼び出すと,常にnullが返ります。
注※5
JSP 2.2に対応したweb.xmlは読み込めますが,JSP 2.2で追加されたタグについては無視されます。
Webアプリケーションのバージョンが3.0の場合でもJSPが準拠するJSPのバージョンは2.1となります。
注※6
JSP 2.1仕様または2.0仕様のELの場合,JSP 2.2のEL式は使用できません。JSP 2.2のELのAPIを使用した場合,チェックされないため動作は保証されません。
注※7
サポートする機能のAPIは使用できますが,サポートしない機能のAPIは使用できません。Servlet 3.0のAPIについては,「6.2.3(9) APIについて」を参照してください。