Servlet3.0 overview
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Servlet3.0 overview

on

  • 753 views

 

Statistics

Views

Total Views
753
Views on SlideShare
753
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Servlet3.0 overview Presentation Transcript

  • 1. Java Servlet3.0 Overview
  • 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. 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. 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. Ease of Development• Annotation based configuration– @WebServlet– @WebInitParam– @WebFilter– @WebListener– @MultipartConfig– @ServletSecurity– @HandlesTypes4
  • 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. Pluggability and Extendibility• プログラムによるWebアプリケーションの拡張拡張メソッドを用いてをアプリケーションの初期化中にプログラムから動的にWebアプリケーションの拡張が可能。– Servletの生成、追加– Filterの生成、追加– Listenerの生成、追加– URLマッピングの生成、追加– loadOnStartup、初期パラメータの設定、非同期サポートの設定• JSPのモジュール化JARファイルの「META-INF/resources」配下に静的コンテンツやJSPを作成し、Webアプリケーションの「WEB-INF/lib」にJARを配置が可能6
  • 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. 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. Session Tracking• JSESSION Cookieの設定による「Session Tracking」• web.xmlまたはSessionCookieConfigのAPIで設定9
  • 11. Miscellaneous• Support for HttpOnly cookie attribute• Add File upload APIsmultipart/form-dataのリクエストを扱うAPIが追加Servlet API のみでファイルのアップロード処理などの実装が可能• Default error page10
  • 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