1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      程序員生活 J2EE學習者值得研究的開源項目

      更新時間: 2008-04-11 14:18:27來源: 粵嵌教育瀏覽量:826

        【賽迪網技術社區整理】

        一、JavaServlet和JSP方向

        很多人都是從Servlet和JSP步入J2EE的。它就是J2EE的表現層,用于向客戶呈現服務器上的內容。J2EE很重要的方面。不羅嗦了!大家都知道的!下面就開始推薦吧!

        1. Jakarta Tomcat

        Apache基金會提供的免費的開源的Serlvet容器,它是的Jakarta項目中的一個核心項目,由Apache、Sun和其它一些公司(都是IT界的大鱷哦)及個人共同開發而成,全世界絕大部分Servlet和Jsp的容器都是使用它哦!由于Sun的參與和支持,的Servlet和Jsp規范總能在Tomcat中得到體現。

        不過它是一個非常非常全的Serlvet容器,全部源碼可能有4000頁,對于初學者或者一般的老手可能還是比較大了!在你有能力時推薦研究!下載地址:http://jakarta.apache.org/tomcat/index.html

        下面推薦兩個小一點的吧!

        2. Jetty

        Jetty是一個開放源碼的HTTP服務器和Java serverlet容器。源代碼只有1000頁左右,很值得研究。有興趣可以去http://jetty.mortbay.com/下載看看。我曾經翻了一下,只是目前沒有時間。(都化在博客上了,等博客基本定型,且內容完整了,再干我熱衷的事件吧!)

        3. Jigsaw

        Jigsaw是W3C開發的HTTP,基于Java的服務器,提供了未來Web技術發展的藍圖。W3C知道吧!(太有名氣了,很多標準都是它制訂的!有空經常去看看吧!)下載網址:http://www.w3.org/Jigsaw代碼僅僅1000頁左右。

        4. Jo!

        Jo!是一個純Java的實現了Servlet API 2.2, JSP 1.1,和HTTP/1.1的Web服務器。它的特性包括支持servlet tag,支持SSI,線程管理,虛擬主機,數據緩存,自動壓縮text或HTML文件進行傳輸,國際化支持,自動重新加載Servlet、Jsp,自動重新加載web工程文件(WARs),支持WAR熱部署和一個Swing控制臺。jo!可以被用做jboss和jakarta avalon-phoenix的web容器。下載地址http://www.tagtraum.com/。我極力推薦大家在研究Tomcat之前研究該軟件,主要是其比Tomcat小多了,且開發者提供比較全的手冊。該方向研究這兩個也就可以了!

        二、JDBC方向

        很多人都喜歡JDBC,數據庫嗎!很深奧的東西,一聽就可以糊弄人。其實等你真正研究了數據庫的實現后發現,接口其實真的太簡單,太完美了!要想設計如此的框架還是需要學習的。下面就推薦幾個數據庫的實現吧!

        1. Hypersonic SQL

        Hypersonic SQL開源數據庫方向比較流行的純Java開發的關系型數據庫。好像不是JDBC兼容的,JDBC的很多的特性都沒有支持,不過幸好支持ANSI-92標準SQL語法。我推薦它主要是它的代碼比較少1600頁左右,如此小的數據庫值得研究,而且他占的空間很小,大約只有160K,擁有快速的數據庫引擎。推薦你的個開源數據庫。下載地址:http://hsqldb.sourceforge.net/。

        2. Mckoi DataBase

        McKoiDB和Hypersonic SQL差不多,它是GPL的license的純Java開發的數據庫。他的JDBC Driver是使用JDBC version 3的Specifaction。他也是遵循SQL-92的標準,也盡量支持新的SQL特色,并且支持Transaction的功能。兩個可以選一個吧!下載地址:http://mckoi.com/database/。

        3. Apache Derby

        學Java的數據庫我建議使用Apache Derby,研究數據庫想成為一個數據庫的高手我建議你先研究Apache Derby。Apache Derby是一個高質量的、純Java開發的嵌入式關系數據庫引擎,IBM®將其捐獻給Apache開放源碼社區,同時IBM的產品CloudSpace是它對應的產品。Derby是基于文件系統,具有高度的可移植性,并且是輕量級的,這使得它非常便于發布。主要是沒有商業用戶的很好的界面,沒有其太多的功能。不過對于我們使用數據庫、研究數據庫還是極其有用的。對于中小型的企業說老實話你也不要用什么Oracle、SqlServer了,用Derby就可以了,何況是開源的呢!只要能發揮其長處也不容易啊!下載地址:http://incubator.apache.org/derby。

        不過在沒有足夠的能力前,不要試圖讀懂它!注釋和源代碼15000頁左右,我一年的閱讀量!能讀下來并且能真正領會它,高手!你能讀完Derby的源代碼只有兩種可能:1.你成為的高手――至少是數據庫這部分;2.你瘋了。選擇吧!!!!作為我自己我先選擇Hypersonic SQL這樣的數據庫先研究,能過這一關,再繼續研究Derby!不就是一年的閱讀量嗎!我可以化3年去研究如何做一個數據庫其實還是很值得的!有的人搞IT一輩子自己什么都沒有做,也根本沒有研究別人的東西!

        作為一個IT落后于別國若干年的、從事IT的下游產業“外包”的國家的IT從業人員,我認為還是先研究別人的的東西比較好!可以先研究別人的,然后消化,學為己用!一心閉門造車實在遺憾!

        三、JMS方向

        JMS可能對大家來說是一個比較陌生的方向!其實JMS是一個比較容易理解,容易上手的方向。主要是Java消息服務,API也是相當簡單的。不過在企業應用中相當廣泛。下面就介紹幾個吧!

        1. MOM4J

        MOM4J是一個完全實現JMS1.1規范的消息中間件并且向下兼容JMS1.0與1.02。它提供了自己的消息處理存儲使它獨立于關系數據與語言,它的客戶端可以用任何語言開發。它可以算是一個小麻雀,很全實現也比較簡單!它包含一個命名服務器,一個消息服務器,同時提供自己的持續層。設計也相當的巧妙,完全利用操作系統中文件系統設計的觀念。代碼也很少,250頁左右,近我在寫該實現的源代碼閱讀方面的書,希望明年年中能與大家見面!下載地址:http://mom4j.sourceforge.net/index.html

        2. OpenJMS

        OpenJMS是一個開源的Java Message Service API 1.0.2規范的實現,它包含有以下特性:

        1.它既支持點到點(point-to-point)(PTP)模型和發布/訂閱(Pub/Sub)模型。

        2.支持同步與異步消息發送。

        3.JDBC持久性管理使用數據庫表來存儲消息。

        4.可視化管理界面。

        5.Applet支持。

        6.能夠與Jakarta Tomcat這樣的Servlet容器結合。

        7.支持RMI, TCP, HTTP與SSL協議。

        8.客戶端驗證。

        9.提供可靠消息傳輸、事務和消息過濾。

        很好的JMS方向的開源項目!我目前也在研究它的源代碼!學習它可以順便研究JNDI的實現、以及網絡通信的細節。這是我JMS方向研究的第二個開源項目。代碼量1600頁左右吧!下載地址:http://openjms.sourceforge.net/index.html

        3. ActiveMQ

        ActiveMQ是一個開放源碼基于Apache 2.0 licenced發布并實現了JMS 1.1。它能夠與Geronimo,輕量級容器和任Java應用程序無縫的給合。主要是Apache的可以任意的使用和發布哦!個人比較喜歡Apache的源代碼!下載地址:http://activemq.codehaus.org/

        4. JORAM

        JORAM一個類似于openJMS分布在ObjectWeb之下的JMS消息中間件。ObjectWeb的產品也是非常值得研究的!下面我還會給大家另外一個ObjectWeb的產品。下載地址:http://joram.objectweb.org/

        我個人推薦:OpenJMS和ActiveMQ!

        四、EJB方向

        EJB一個比較“”的方向。Sun公司曾經以此在分布式計算領域重拳出擊。不過自從出現了Spring、Hibernation……后似乎沒落了!這個方向單獨開源的也比較少,主要EJB是和JNDI、JDBC、JMS、JTS、JTA結合在一起的是以很少有單獨的。下面推薦兩個不過好像也要下載其它類庫。

        1. EasyBeans

        ObjectWeb的一個新的項目,一個輕量級的EJB3容器,雖然還沒有正式發布,但是已經可以從它們的subversion倉庫中檢出代碼。代碼量比較小600頁左右,熟讀它可以對網絡編程、架構、RMI、容器的狀態設計比較了解了!即學會EJB又能學習其它設計方法何樂而不為哦!下載地址:http://easybeans.objectweb.org/

        2. OpenEJB

        OpenEJB是一個預生成的、自包含的、可移植的EJB容器系統,可以被插入到任意的服務器環境,包括應用程序服務器,Web服務器,J2EE平臺,CORBA ORB和數據庫等等。OpenEJB被用于Apple的WebObjects。聽起來很好,我目前沒有研究過。不知道我就不推薦了。下載地址:http://www.openejb.org/

        五、J2EE容器

        上面談了這么多,都是J2EE的各個方向的。其實J2EE是一個規范,J2EE的產品一般要求專業提供商必須提供它們的實現。這些實現本身就是J2EE容器。市場上流行的J2EE容器很多,在開源領域流行的只有很少,很少。其中的是JBoss。

        1. JBoss

        在J2EE應用服務器領域,Jboss是發展為迅速的應用服務器。由于Jboss遵循商業友好的LGPL授權分發,并且由開源社區開發,這使得Jboss廣為流行。另外,Jboss應用服務器還具有許多的特質。

        其一,它將具有革命性的JMX微內核服務作為其總線結構;

        其二,它本身就是面向服務的架構(Service-Oriented Architecture,SOA);

        其三,它還具有統一的類裝載器,從而能夠實現應用的熱部署和熱卸載能力。因此,它是高度模塊化的和松耦合的。Jboss用戶的積極反饋告訴我們,Jboss應用服務器是健壯的、高質量的,而且還具有良好的性能。為滿足企業級市場日益增長的需求,Jboss公司從2003年開始就推出了24*7、專業級產品支持服務。同時,為拓展Jboss的企業級市場,Jboss公司還簽訂了許多渠道合作伙伴。比如,Jboss公司同HP、Novell、Computer Associates、Unisys等都是合作伙伴。

        在2004年6月,Jboss公司宣布,Jboss應用服務器通過了Sun公司的J2EE認證。這是Jboss應用服務器發展史上至今為止重要的里程碑。與此同時,Jboss一直在緊跟的J2EE規范,而且在某些技術領域引領J2EE規范的開發。因此,無論在商業領域,還是在開源社區,Jboss成為了個通過J2EE1.4認證的主流應用服務器。現在,Jboss應用服務器已經真正發展成具有企業強度(即,支持關鍵級任務的應用)的應用服務器。

        Jboss 4.0作為J2EE認證的重要成果之一,已經于2004年9月順利發布了。同時,Jboss 4.0還提供了Jboss AOP(Aspect-Oriented Programming,面向方面編程)組件。近來,AOP吸引了大量開發者的關注。它提供的新的編程模式使得用戶能夠將方面(比如,事務)從底層業務邏輯中分離出來,從而能夠縮短軟件開發周期。用戶能夠單獨使用Jboss AOP,即能夠在Jboss應用服務器外部使用它。或者,用戶也可以在應用服務器環境中使用它。Jboss AOP 1.0已經在2004年10月發布了。很有名吧!可以下載一個用一下,下載地址:http://www.jboss.org/

        關于JBoss的使用資料也非常多,甚至比商業軟件的還多。有機會研究吧!

        2. JOnAS

        JOnAS是一個開放源代碼的J2EE實現,在ObjectWeb協會中開發。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet 2.3和JSP 1.2規范。JOnAS服務器依賴或實現以下的Java API:JCA、JDBC、JTA、JMS、JMX、JNDI、JAAS、JavaMail。下載地址:http://jonas.objectweb.org/

        3.Apache Geronimo

        Apache Geronimo是Apache軟件基金會的開放源碼J2EE服務器,它集成了眾多先進技術和設計理念。這些技術和理念大多源自獨立的項目,配置和部署模型也各不相同。Geronimo能將這些項目和方法的配置及部署完全整合到一個統一、易用的模型中。作為符合J2EE標準的服務器,Geronimo提供了豐富的功能集和無責任Apache許可,具備“立即部署”式J2EE1.4容器的各種優點,其中包括:

        1.符合J2EE1.4標準的服務器。

        2.預集成的開放源碼項目。

        3.統一的集成模型。

        4.可伸縮性、可管理性和配置管理功能。

        我一直比較推薦Apache的產品。主要是可以任意自由地使用。下載地址:http://incubator.apache.org/projects/geronimo/

        六、其它

        講了這么多大家可能很厭煩了!是不是很多很多啊!其實不然,我們不會的太多太多了!不會的太多太多了。不管你是不是J2EE高手,還是J2SE高手,有些東西你要很精明的。例如:1.Java的Collections Framework就是java的數據結構了,不僅要吃透它,還要能按照需要擴展它,利用其思想創建一個自己的數據結構。2.網絡編程肯定要會吧,現在以及以后很多程序都是不在同一臺機器上的,不會網絡怎么行哦!3.IO肯定要會的吧!你的程序難道不用輸入輸出數據啊!整個IO包加NIO也有600多頁的源代碼哦!4.JDBC你要會吧!數據庫都不會,在你的企業應用中你的數據又保存到哪里啊!文件中――太落后了吧!典型的沒有學過J2EE。盡管數據庫背后也是采用文件保存的。5.Serverlet、JSp你要是做網頁做網站,肯定要做到。問你一個簡單的問題,網頁中如何實現分頁啊!有具體方法的就在本文章后發言吧!6. Ant要會吧!java語言中發布的工具,類似與c中的make工具。7.JUnit用過吧!單元測試軟件。你不要啊!你的軟件就沒有bug!你牛!(建議大家研究研究其源代碼,很有用的框架,包含大量的設計模式,源代碼不到100頁!看了只能感嘆――高手就是高手)細心的朋友可以看到在你使用的很多IDE工具中都有JUnit哦!就是它。

        一切的一切才剛剛開始!有興趣,有需要你可以研究數據庫連接池的框架,如:C3P0、Jakarta DBCP、DBPool….可以研究J2EE框架Spring……. Web框架Struts……持久層框架Hibernate…..甚至開發工具Eclipse…..Sun領導的點對點通信的JXTA…..報表工具JFreeChart、JasperReports…..分布式網絡編程的CORBA、網絡通信的JGROUPS、XML解析的xerces…..(在不經意間開源已經步入你的電腦,不信啊!你JDK的安裝目錄jdk1.6.0 src com sun org apache就是Xerces,一個XML解析的的開源項目)

        不管怎么樣我還是建議從基本的做起,學精J2SE,熟讀它的源碼,準確了解其設計理念,然后分頭擊破J2EE――一口吃不成一個胖子!不要貪多貪廣!腳踏實地就可以了!

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 中文字幕一二区二三区 | 一本一道久久综合久久 | 欧美一区二区视频三区 | 亚洲欧洲日本午夜一级精品 | 亚州另类欧美综合一区 | 日韩精品福利性爱 |