Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Java Servlet3.0 Overview
Servlet API version Released Platform Important Changes1.0 1997/01 -- --2.0 JDK 1.1Java Servlet Development Kit 2.0の一部としてリ...
JCP/JSR• Servlet2.3(JSR-053)http://jcp.org/aboutJava/communityprocess/final/jsr053/index.html• Servlet2.4(JSR-154 Final Re...
Servlet3.01. Ease of Development(EoD、開発容易性)アノテーションでServlet開発を簡単に2. Pluggability and Extendibility(モジュール化と拡張性)Webアプリケーションのモ...
Ease of Development• Annotation based configuration– @WebServlet– @WebInitParam– @WebFilter– @WebListener– @MultipartConfi...
Pluggability and Extendibility• Support Web Fragmentweb.xmlファイルの内容をweb-fragment.xmlとして分割し、jarファイル毎に設定可能。コンテナ側でデプロイ時に統合。web...
Pluggability and Extendibility• プログラムによるWebアプリケーションの拡張拡張メソッドを用いてをアプリケーションの初期化中にプログラムから動的にWebアプリケーションの拡張が可能。– Servletの生成、追加...
Asynchronous Processing• 非同期処理を利用することでスレッドの生成・起動をサポート– Servlet 2.5までは、Servlet上でスレッドを生成・起動し、リクエストやレスポンスなどのコンテナ管理オブジェクトにアクセス...
Security enhancements• 認証用APIの追加– HttpServletRequest#login(String username, String password)– HttpServletRequest#logout()–...
Session Tracking• JSESSION Cookieの設定による「Session Tracking」• web.xmlまたはSessionCookieConfigのAPIで設定9
Miscellaneous• Support for HttpOnly cookie attribute• Add File upload APIsmultipart/form-dataのリクエストを扱うAPIが追加Servlet API のみ...
Reference• Tomcat 7も対応したServlet 3.0の6つの主な変更点 - @IT– http://www.atmarkit.co.jp/ait/articles/1104/12/news134.html– http://ww...
Upcoming SlideShare
Loading in …5
×

Servlet3.0 overview

854 views

Published on

Published in: Investor Relations
  • Be the first to comment

  • Be the first to like this

Servlet3.0 overview

  1. 1. Java Servlet3.0 Overview
  2. 2. Servlet API version Released Platform Important Changes1.0 1997/01 -- --2.0 JDK 1.1Java Servlet Development Kit 2.0の一部としてリリース2.1 1998/11 --公式な初版、RequestDispatcher,ServletContextを追加2.2 1999/08 J2EE 1.2, J2SE 1.2 J2EEの一部となる2.3 2001/08 J2EE 1.3, J2SE 1.2 Filter機能追加2.4 2003/11 J2EE 1.2, J2SE 1.2 web.xml にXML Schema を利用2.5 2005/09JavaEE 5, JavaSE5JavaSE 5必須となる, annotationをサポート3.0 2009/12JavaEE 6, JavaSE6動的設定, login/logoutメソッドサポート,非同期Servlet, アノテーションSecurity,Fileアップロード出典 https://en.wikipedia.org/wiki/Java_Servlet#HistoryHistory1
  3. 3. JCP/JSR• Servlet2.3(JSR-053)http://jcp.org/aboutJava/communityprocess/final/jsr053/index.html• Servlet2.4(JSR-154 Final Release)http://jcp.org/aboutJava/communityprocess/final/jsr154/index.html• Servlet2.5(JSR-154 MaintenanceRelease)http://jcp.org/aboutJava/communityprocess/mrel/jsr154/index.html• Servlet3.0(JSR-315)http://jcp.org/en/jsr/detail?id=315出典 https://en.wikipedia.org/wiki/Java_Servlet2
  4. 4. Servlet3.01. Ease of Development(EoD、開発容易性)アノテーションでServlet開発を簡単に2. Pluggability and Extendibility(モジュール化と拡張性)Webアプリケーションのモジュール化と拡張性を推進3. Asynchronous Processing(非同期処理)Servletで非同期処理を実行可能に4. セキュリティServlet APIで認証メソッドを提供5. Session TrackingSessionのコンフィグレーションを柔軟に6. マルチパート対応Servlet APIでファイルアップロードを提供3
  5. 5. Ease of Development• Annotation based configuration– @WebServlet– @WebInitParam– @WebFilter– @WebListener– @MultipartConfig– @ServletSecurity– @HandlesTypes4
  6. 6. Pluggability and Extendibility• Support Web Fragmentweb.xmlファイルの内容をweb-fragment.xmlとして分割し、jarファイル毎に設定可能。コンテナ側でデプロイ時に統合。web-fragment.xmlを読み込む順番を絶対的順序と相対的順序の2種類の方法JARごとにweb-fragment.xmlが記述できるようになったので、フレームワークやリソースをモジュール化して、JARファイルをアプリケーションの「WEB-INF/lib」フォルダに単に配置するだけで、自動的にWeb設定できるようになります。また、フレームワーク特有の設定などをアプリケーションのweb.xmlから分離できるため、本来のアプリケーションの設定以外によるweb.xmlの肥大化を抑制でき、非常にすっきりします。http://www.atmarkit.co.jp/ait/articles/1104/12/news134_2.html5
  7. 7. Pluggability and Extendibility• プログラムによるWebアプリケーションの拡張拡張メソッドを用いてをアプリケーションの初期化中にプログラムから動的にWebアプリケーションの拡張が可能。– Servletの生成、追加– Filterの生成、追加– Listenerの生成、追加– URLマッピングの生成、追加– loadOnStartup、初期パラメータの設定、非同期サポートの設定• JSPのモジュール化JARファイルの「META-INF/resources」配下に静的コンテンツやJSPを作成し、Webアプリケーションの「WEB-INF/lib」にJARを配置が可能6
  8. 8. Asynchronous Processing• 非同期処理を利用することでスレッドの生成・起動をサポート– Servlet 2.5までは、Servlet上でスレッドを生成・起動し、リクエストやレスポンスなどのコンテナ管理オブジェクトにアクセスすることは非推奨• Model– AsyncContext#start(Runnable)– AsyncContext#dispatch (...)• Config– web.xmlのタグにasync-supported属性を追加– 「@WebServlet」「@WebFilterでasyncSupported」を指定• リクエスト処理のFilterチェーンに含まれる全てのFilterやServletが非同期を有効にする必要がある。– asyncのServletの前にFilterが存在した場合、そのFilterも「asyncSupported=true」の設定が必要7
  9. 9. Security enhancements• 認証用APIの追加– HttpServletRequest#login(String username, String password)– HttpServletRequest#logout()– HttpServletRequest#authenticate(HttpServletResponse response)• セキュリティ制約(security-constraint)を追加する3つの方法– deployment descriptorに<security-constraint>を設定– ServletRegistrationインターフェイスのsetServletSecurityメソッドを利用して設定– アノテーションを利用して設定8
  10. 10. Session Tracking• JSESSION Cookieの設定による「Session Tracking」• web.xmlまたはSessionCookieConfigのAPIで設定9
  11. 11. Miscellaneous• Support for HttpOnly cookie attribute• Add File upload APIsmultipart/form-dataのリクエストを扱うAPIが追加Servlet API のみでファイルのアップロード処理などの実装が可能• Default error page10
  12. 12. Reference• Tomcat 7も対応したServlet 3.0の6つの主な変更点 - @IT– http://www.atmarkit.co.jp/ait/articles/1104/12/news134.html– http://www.atmarkit.co.jp/fjava/rensai4/tomcat7_02/01.html• その他– http://www.hitachi.co.jp/Prod/comp/soft1/manual/cosmi/v0900/03Y0500D/EY050270.HTM– http://www.cresc.co.jp/tech/java/Servlet_Specifications/servlet_3-0_about.htm– http://www.infoq.com/presentations/Apache-Tomcat-7– https://www.java.net//blog/mode/servlet3.0/servlet3.0-javaone09.pdf– https://today.java.net/pub/a/today/2008/10/14/introduction-to-servlet-3.html– http://java.dzone.com/articles/an-overview-servlet-3011

×