Java Web開發的未來--Servlet 3.0,Comet,REST...

原文地址:http://blog.csdn.net/calvinxiu/archive/2007/06/24/1664374.aspx,版權所有,轉載請保留原文鏈接,謝謝。--江南白衣

    Java EE 5.0 規範的筆墨在EJB3.0與Web Service上,隨着萬衆期待的Struts2.0揭開面紗,Java在Web應用開發上便變得沉悶乏味起來。

    在JavaOne2007 上有篇 The Future of the Java Technology Web Tier宣講了Sun的Servlet 3.0、REST、Comet計劃,在大家漸漸失望的時候,又在前面吊了一個紅蘿蔔。

Servlet 3.0

Infoq 中文站:Sun向JCP提交了Servlet3.0規範

Infoq 英文站:Sun Submits Servlet 3.0 Specification to JCP

  • Annotation標註的servlets,可編程訪問並動態改變的web.xml,使得以往經常需要重啓的web應用配置終於擁有了動態特性,web framework們擁有了熱插拔的能力。
  • Async and Comet support。
  • RESTul Service。
  • 一堆看上去也不錯的特性,如file upload。

Sun,IBM,BEA,Oracle,Apache,RedHat,Interface21加上Hani Suleiman和Jason Hunter作爲初始的專家組,Jetty的Greg Wilkins作爲支撐成員。

Grizzly, Tomcat and Jetty 會對Comet API Review. Struts Shale, DWR, Spring Web Flow, Wicket會對可插拔Web Framework進行Review,看起來挺民主的。

Comet

    又一個新詞,服務端在事件發生時主動向客戶端推送--比如股票價格,聊天室信息,比客戶端定時輪詢服務器,在模型上高得多。但這種HTTP的PUSH的方式實際上有着重重困難如長連接的資源消耗,否則也早大規模實現了。
    Cometed with JettyAdvanced IO and Tomcat 6.0  ,Glassfish的Grizzy子項目 ,三個項目在NIO的基礎上分別用自己的方法作了支持,而Non-blocking input/output,Delay request handling/response close,Blocking - Non-blocking notification是Servlet 3.0的統一要求。

    Comet實現的新選擇 (dlee)
    Real-World Comet-Based Applications(Javaone2007)

REST

     REST作爲最輕量級的Service方案(輕的,誰都會寫的Service方案--REST與JSON),本來需要框架輔助的東西就不多。如果硬說有,就是URL Mapping,並分拆URL中的參數,以及結果集的轉換。Cetia4就是作類似的東西,但在又冒出一堆的REST框架來之前,Servlet3.0先規範一下無疑是好的,真的被無數MVC框架嚇怕了。

@UriTemplate(“/images/{imageid}”)
public class MyRestService {
    @HttpMethod
    @ProduceMime(“application
/jpeg”)
    
public InputStream getImage( @UriParam(“imageid”) String imageId){
          ...
    }
}

其他方向

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章