<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    空間站

    北極心空

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

    Apache上全部JAVA開源項(xiàng)目簡介

    最近接觸Jakarta-Common-BeanUtils這個東東比較多,于是對Apache Jakarta Project產(chǎn)生了興趣,上他們的官方網(wǎng)站上看了下感覺有用的東西好多,眼花繚亂的,又沒有中文網(wǎng)站,又上各大論壇搜了下,也沒有發(fā)現(xiàn)一個集中該項(xiàng)目的資料,于是決定自己整理翻譯一下,有助于各位網(wǎng)友更好的了解該項(xiàng)目。如果有什么描述不對不全面的地方,希望各位提出來給大家分享。
    Jakarta項(xiàng)目是ASF(The Apache Software Foundation)的一部分。ASF是一個非贏利組織,她鼓勵基于開放的軟件許可下進(jìn)行合作、注重實(shí)效的開發(fā),并提供各個領(lǐng)域的高質(zhì)量軟件,她涉及到Http服務(wù)器,編譯工具,類庫,開發(fā)架構(gòu),服務(wù)器端Java技術(shù),J2EE容器,數(shù)據(jù)庫工具,日志工具,XML解析等等諸多領(lǐng)域。ASF提供的java項(xiàng)目有一部分在Jakarta中,還有一些成為獨(dú)立的諸如Tomcat的項(xiàng)目,Jakarta項(xiàng)目則提供了多種多樣開源的java解決通用方案。

    介紹一下ASF中和Jakarta項(xiàng)目并列的java項(xiàng)目

    Ant ——java構(gòu)建工具,使用一個配置文件就可以完成java的項(xiàng)目的,編譯、打包、測試、運(yùn)行、部署、生成文檔等諸多工作。
    Avalon ——是一個包括核心框架、工具、組件和容器的面向組件編程(AOP)的完整開發(fā)平臺。使用關(guān)鍵設(shè)計模式,如反向控制模式(IoC)和分離考慮模(SoC)。 Avalon提供各種基本組件和缺省的應(yīng)用程序模塊,幫助你快速的建立你自己的應(yīng)用程序解決方案。
    Excalibur ——集多個開源項(xiàng)目(Avalon Framework、LogKit和Cornerstone)于一身的輕量級可嵌入式反向控制容器。
    Gump ——是Apache組織自己也使用的一個持續(xù)集成工具,全面支持Ant和Maven,當(dāng)有新的改動提交到版本控制系統(tǒng),它可以檢查出潛在 的沖突,并及時通知項(xiàng)目組的所有成員并自動生成改動的詳細(xì)報告。
    James ——是一套用java開發(fā)的郵件、新聞組、消息服務(wù)器,提供了比較完善的配置方案,尤其是關(guān)于郵件內(nèi)容存儲和用戶信息存儲。 支持 SMTP, POP3 , NNTP , IMAP 。
    Logging ——可靠,快速的日志工具。
    Lucene ——Java開發(fā)的高性能,全方位的文本搜索引擎。替文件的每一個字作索引,索引讓搜尋的效率比傳統(tǒng)的逐字比較大大提高, Lucen提供一組解讀,過濾,分析文件,編排和使用索引的API,它的強(qiáng)大之處除了高效和簡單外, 是最重要的是使使用者可以隨時應(yīng)自已需要自訂其功能。
    Maven ——是一個潛在的基于java的apache ant的構(gòu)建工具的替代者。提供了更強(qiáng)大的功能和易用性。
    Portals ——提供了功能全面的、具有商業(yè)價值的企業(yè)門戶。門戶概念:門戶對企業(yè)內(nèi)的各種資源如信息管理系統(tǒng)進(jìn)行整合并通過單一接口 對外提供服務(wù),雇員、合伙人及顧客可以通過任何裝置在任何地點(diǎn)通過門戶入口享受到企業(yè)提供的服務(wù), 分析家們預(yù)計,門戶將成為下一代的桌面環(huán)境。
    Struts ——一個實(shí)現(xiàn)MVC model2的web應(yīng)用程序開發(fā)框架。通過一個配置文件可以很好的對各種組件進(jìn)行裝配,結(jié)構(gòu)清晰,應(yīng)用的最廣泛的額web開發(fā)框架。
    Tapestry——類似 Struts,也是一個基于servlet的應(yīng)用程序框架,支持MVC,出現(xiàn)的較晚,不如Struts普及,主要利用javabean和xml技術(shù)進(jìn)行開發(fā),
    Tomcat ——Serlvet容器,同時具有傳統(tǒng)的Web服務(wù)器的功能,如:處理Html頁面。能夠處理動靜態(tài)網(wǎng)頁。
    Watchdog ——用來檢查一個servlet或jsp容器在相應(yīng)規(guī)范上的執(zhí)行情況的兼容性。但是該項(xiàng)目已經(jīng)靜止了,只支持Servlet2.3、JSP1.2,相應(yīng) 的Serlvet容器如Tomcat也只支持Tomcat4.x。

    下面介紹下Jakarta的各個子項(xiàng)目

    Alexandria——已經(jīng)不再開發(fā)
    BCEL ——The Byte Code Engineering Library (formerly known as JavaClass) 字節(jié)碼引擎類庫,它讓用戶方便的分析,創(chuàng)建,操作java的class文件成為可能。 它可以讓您深入 JVM 匯編語言進(jìn)行類操作的細(xì)節(jié)。
    BSF ——bean腳本框架 在java應(yīng)用內(nèi)對腳本語言提供了支持,通過腳本語言可以訪問java的對象和方法。
    Cactus ——一個基于JUnit框架的簡單測試框架,用來單元測試服務(wù)端Java代碼。 Cactus單元測試服務(wù)端內(nèi)容包括servlet,EJB,? tag librarie, filter等
    Commons ——提供很多日常開發(fā)中使用率很高的功能解決方案,已被很多著名的開源項(xiàng)目采用。具體的項(xiàng)目列表后面會有。
    ECS ——使用Java語言和面向?qū)ο蠓椒▌?chuàng)建標(biāo)記語言文檔(HTML,XML)的開源項(xiàng)目
    HiveMind ——是一個服務(wù)和配置的微型內(nèi)核, 一套通過簡單的java對象和接口創(chuàng)建復(fù)雜應(yīng)用的框架。
    HttpComponents ——提供了java.net包所不能提供的更多強(qiáng)大的、方便的http協(xié)議處理功能。
    JCS ——一個分布式的緩存系統(tǒng),用來提高應(yīng)用程序的性能,并且提供很多強(qiáng)大的額外功能。
    JMeter ——純java開發(fā)的一套桌面應(yīng)用程序。用來進(jìn)行功能測試和性能測試。它可以用來測試靜止資料庫或者活動資料庫中的服務(wù)器的運(yùn)行情況, 可以用來模擬對服務(wù)器或者網(wǎng)絡(luò)系統(tǒng)加以重負(fù)荷以測試它的抵抗,或者用來分析不同負(fù)荷類型下的所有運(yùn)行情況。 它也提供了一個可替換的界面用來定制數(shù)據(jù)顯示,測試同步及測試的創(chuàng)建和執(zhí)行。
    ORO ——一套文本處理工具,能提供perl5.0兼容的正則表達(dá)式、 AWK-like正則表達(dá)式, glob 表達(dá)式。還提供替換,分割,文件名過慮等功能。
    POI ——一套用來創(chuàng)建,讀寫基于OLE 2組件文檔格式的文件。使用Java來讀寫MS Excel ,Word文件。
    Regexp ——一套純java的正則表達(dá)式相關(guān)的包。
    Slide ——主要模塊是一個可以做為內(nèi)容管理框架底層的內(nèi)容倉庫.它可以把內(nèi)容信息存取到專門的,異質(zhì)的,分布式的數(shù)據(jù)庫中.Slide還增加了security, locking, versioning等特性.
    Taglibs ——一套在開發(fā)web應(yīng)用時十分有用的,jsp 通用 tag包。
    Turbine ——類似 Struts,也是一個基于servlet的應(yīng)用程序框架,支持MVC。提供了大量可重用的組件。此框架包中包含了大量組件,但是這些組件是離散的。
    Velocity ——是一個基于java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。? 當(dāng)Velocity應(yīng)用于web開發(fā)時,界面設(shè)計人員可以和java程序開發(fā)人員同步開發(fā)一個遵循MVC架構(gòu)的web站點(diǎn), 也就是說,頁面設(shè)計人員可以只關(guān)注頁面的顯示效果,而由java程序開發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。 Velocity將java代碼從web頁面中分離出來,這樣為web站點(diǎn)的長期維護(hù)提供了便利, 同時也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠(yuǎn)不止web站點(diǎn)開發(fā)這個領(lǐng)域, 例如,它可以從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當(dāng)作一個獨(dú)立工具來產(chǎn)生源代碼和報告, 或者作為其他系統(tǒng)的集成組件使用。Velocity也可以為Turbine web開發(fā)架構(gòu)提供模板服務(wù)(template service)。 Velocity+Turbine提供一個模板服務(wù)的方式允許一個web應(yīng)用以一個真正的MVC模型進(jìn)行開發(fā)。?
    Apache java項(xiàng)目介紹2
    下面介紹一下Jakarta下的Commons:一個csdn網(wǎng)友描述得很貼切,Commons就好比一個java百寶箱。
    commons分為3部分Commons Proper、Commons Sandbox和Commons Dormant
    Commons Proper:提供了設(shè)計良好可重用的java組件,并都經(jīng)過了廣泛、嚴(yán)格的測試。
    Commons Sandbox:處于實(shí)驗(yàn)、測試階段的組件。
    Commons Dormant:處于停滯狀態(tài),從Sandbox退出的,不活躍的組件,謹(jǐn)慎使用。

    Commons Proper組件:

    Attributes—— 支持源代碼級的元數(shù)據(jù)。
    BeanUtils——提供對 Java 反射和自省API的包裝,處理javabean的工具。
    Betwixt——將JavaBeans與XML相互轉(zhuǎn)換。?
    Chain——對Chain of Responsibility(責(zé)任鏈)設(shè)計模式的實(shí)現(xiàn)。使多個對象都有機(jī)會處理請求, 從而避免請求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對象連成一條鏈,并沿著這條鏈傳遞請求,直到有一個對象處理它為止。
    CLI——處理命令行的命令的解析。
    Codec——包含一些通用的編碼解碼算法。包括一些語音編碼器, Hex, Base64, 以及URL encoder。
    Collections——擴(kuò)展和增加標(biāo)準(zhǔn)的 Java Collection框架。
    Configuration——操作各種格式的配置文件。Properties文件 /XML文件 /JNDI /JDBC 數(shù)據(jù)源 /System properties /Applet parameters / Servlet parameters
    Daemon——創(chuàng)建類似unix守護(hù)線程的java代碼,可以安全地執(zhí)行一些后臺操作,線程不被某個應(yīng)用程序控制,而是由操作系統(tǒng)控制 類似windows的service,可以設(shè)置一個服務(wù)依賴于另一個服務(wù),一個服務(wù)關(guān)閉前必須先執(zhí)行另一個服務(wù)。
    DBCP——一個數(shù)據(jù)庫連接池
    DbUtils——一個JDBC的工具類,比如可以將ResultSets生成javabean。
    Digester——基于規(guī)則的XML文檔解析,主要用于XML到Java對象的映射.
    Discovery——提供工具來定位資源 (包括類) ,通過使用各種模式來映射服務(wù)/引用名稱和資源名稱。
    EL——JSP 2.0引入的表達(dá)式
    Email——處理e-mail
    FileUpload——web應(yīng)用中的文件上傳組件
    HttpClient——使用HTTP協(xié)議的客戶端開發(fā)框架
    IO——幫助進(jìn)行IO功能開發(fā)
    Jelly——Jelly能夠把XML轉(zhuǎn)換成可執(zhí)行代碼,所以Jelly是一個基于XML與Java的腳本和處理引擎。 Jelly借鑒了JSP定指標(biāo)簽,Velocity, Cocoon和Xdoclet中的腳本引擎的許多優(yōu)點(diǎn)。Jelly可以用在命令行,Ant或者Servlet之中。
    Jexl——Jexl是一個表達(dá)式語言,通過借鑒來自于Velocity的經(jīng)驗(yàn)擴(kuò)展了JSTL定義的表達(dá)式語言。
    JXPath——使用XPath語法操作javabean的工具。
    Lang——提供對java.lang包的擴(kuò)展。?
    Launcher——跨平臺的java程序的啟動
    Logging——提供的是一個日志(Log)接口(interface),同時兼顧輕量級和不依賴于具體的日志實(shí)現(xiàn)工具。 它提供給中間件/日志工具開發(fā)者一個簡單的日志操作抽象,允許程序開發(fā)人員使用不同的具體日志實(shí)現(xiàn)工具。用戶被假定已熟悉某種日志實(shí)現(xiàn)工具的更高級別的細(xì)節(jié)。JCL提供的接口,對其它一些日志工具,包括Log4J, Avalon LogKit, and JDK 1.4等,進(jìn)行了簡單的包裝,此接口更接近于Log4J和LogKit的實(shí)現(xiàn).
    Math——Math 是一個輕量的,自包含的數(shù)學(xué)和統(tǒng)計組件,解決了許多非常通用但沒有及時出現(xiàn)在Java標(biāo)準(zhǔn)語言中的實(shí)踐問題.
    Modeler—— 支持兼容JMX規(guī)范的MBeans開發(fā)。
    Net——集合了網(wǎng)絡(luò)工具和協(xié)議工具的實(shí)現(xiàn)
    Pool——Commons-Pool 提供了通用對象池接口,一個用于創(chuàng)建模塊化對象池的工具包,以及通常的對象池實(shí)現(xiàn)。
    Primitives——對java原始類型的支持。
    SCXML——處理SCXML
    Transaction——事務(wù)處理,實(shí)現(xiàn)了多層次鎖、事務(wù)集合、事務(wù)文件的訪問。?
    Validator——提供了一個簡單的,可擴(kuò)展的框架來在一個XML文件中定義校驗(yàn)器 (校驗(yàn)方法)和校驗(yàn)規(guī)則。支持校驗(yàn)規(guī)則的和錯誤消息的國際化。
    VFS——訪問各種文件系統(tǒng),可以是本地文件、HTTP服務(wù)器上的文件、zip中的文件。
    Commons Sandbox組件:

    Compress——處理壓縮文件如tar, zip 和 bzip2 格式。
    CSV——處理CSV文件
    Exec——安全地處理外部進(jìn)程
    Finder——實(shí)現(xiàn)類似UNIX find命令的功能
    I18n——處理軟件的I18n功能
    Id——生成id號功能
    Javaflow——捕捉程序運(yùn)行狀態(tài)
    JCI——java編譯接口
    OpenPGP——處理加密方法OpenPGP.?
    Pipeline——處理類似工作隊列的管道工具
    Proxy——生成動態(tài)代理

    Java開源-Apache組織的所有開源項(xiàng)目

    來自Apache的開源項(xiàng)目(按字母順序排序):

      Ant:Ant現(xiàn)在已經(jīng)是任何IDE都集成的編譯工具了。為了編譯一大堆java源代碼文件,需要一次次的在命令行敲重復(fù)的命令,Ant便是讓你編寫命令腳本,然后讓Ant自動完成復(fù)雜的編譯工作,類似于Makefile,但Ant腳本是標(biāo)準(zhǔn)的XML格式,更容易編寫和閱讀。事實(shí)上,巧妙地使用Ant,您可以讓Ant自動完成編譯,測試,輸出文檔,生成Release版本等一系列任務(wù),使得整個項(xiàng)目流程自動化。

      Commons:Commons包括一組可重用的Java組件,如BeanUtil,Collections,F(xiàn)ileUpload,Validator等等。

      Jetspeed:Jetspeed是開源的企業(yè)門戶應(yīng)用框架。支持JSP,Velocity,XML,RSS,WAP等,即將支持Java Portlet API規(guī)范(JSR168標(biāo)準(zhǔn))

      JMeter:JMeter是100%純Java編寫的壓力測試工具,最初專用于Web應(yīng)用的壓力測試,現(xiàn)在還可以測試文件系統(tǒng),數(shù)據(jù)隊列,F(xiàn)TP服務(wù)等其他應(yīng)用。JMeter模擬多用戶同時向服務(wù)器發(fā)送請求,并將結(jié)果以圖表的方式顯示出來,使用非常簡便。

      Log4j:看名字就能猜到,Log4j是專門為Java設(shè)計的日志服務(wù)。Log4j提供非常方便的分等級的日志記錄,可以輸出到屏幕,文件甚至是NT的日志系統(tǒng),特點(diǎn)是速度非常快。如果您留意的話,可以看到很多Java項(xiàng)目早已集成了Log4j,如Eclipse,Tomcat,Spring等等。

      Lucence:Lucence是一個高性能的全文搜索引擎,可以非常容易的把它集成到您的應(yīng)用中來。Lucence的發(fā)起人就是搜索領(lǐng)域的一位專家,曾在Excite任職。

      Taglibs:Taglibs是一組自定義的JSP標(biāo)簽庫。JSP標(biāo)簽?zāi)芤院唵蔚臉?biāo)簽來實(shí)現(xiàn)頁面功能但避免了嵌入Java代碼,不過JSP標(biāo)簽編寫比較困難,好在Taglibs提供一系列標(biāo)簽,幾乎能滿足您的常見需求。

      Tapestry:Tapestry是類似于JSP,Velocity的視圖技術(shù),提供一個完整的框架讓您不必使用JSP也能實(shí)現(xiàn)動態(tài)頁面。


      Tomcat:Tomcat是最著名的開源Web服務(wù)器,最新版本5.5支持Servlet2.4和JSP2.0,最適合于構(gòu)件Java Web應(yīng)用。

      Velocity:Velocity是類似JSP的另一種動態(tài)頁面,特點(diǎn)是標(biāo)簽更簡單,能直接寫在HTML中,并且不能嵌入Java代碼,強(qiáng)迫您只能在Velocity頁面中渲染結(jié)果而不是處理業(yè)務(wù)邏輯,以便更清晰地劃分MVC結(jié)構(gòu)。

    posted on 2007-10-24 09:54 蘆葦 閱讀(3801) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 免费手机在线看片| 亚洲色偷偷狠狠综合网| 十八禁在线观看视频播放免费| 亚洲国产日韩精品| 亚洲最新视频在线观看| 亚洲日韩中文字幕在线播放| 免费看一级做a爰片久久| 91情侣在线精品国产免费| 免费人成视频在线观看网站| 国产精品内射视频免费| 精品亚洲福利一区二区| 亚洲一区二区三区国产精品无码| 亚洲好看的理论片电影| 亚洲人色婷婷成人网站在线观看 | 国产午夜亚洲不卡| 日本免费无遮挡吸乳视频电影| 亚洲视频免费一区| 美女内射无套日韩免费播放| a色毛片免费视频| 一级特黄特色的免费大片视频| 豆国产96在线|亚洲| 亚洲色欲色欲www在线播放| 色偷偷亚洲女人天堂观看欧| 亚洲第一香蕉视频| 亚洲精品中文字幕乱码影院| 亚洲色图国产精品| 亚洲伊人tv综合网色| 亚洲AV成人精品网站在线播放| 久久亚洲综合色一区二区三区| 亚洲无人区午夜福利码高清完整版 | 精品久久久久久久免费人妻| 成年在线观看网站免费| 91在线视频免费播放| 在线看片免费不卡人成视频| 久久久久久久免费视频| 无码中文在线二区免费| 好先生在线观看免费播放| 黄色成人网站免费无码av| 韩国18福利视频免费观看| 国产精品免费看香蕉| 免费在线观看视频a|