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

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

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

    軟件是對質(zhì)量的不懈追求

    Apache Java項目全介紹

    最近接觸Jakarta-Common-BeanUtils這個東東比較 多,于是對Apache Jakarta Project產(chǎn)生了興趣,上他們的官方網(wǎng)站上看了下感覺有用的東西好多,眼花繚亂的,又沒有中文網(wǎng)站,又上各大論壇搜了下,也沒有發(fā)現(xiàn)一個集中該項目的 資料,于是決定自己整理翻譯一下,有助于各位網(wǎng)友更好的了解該項目。如果有什么描述不對不全面的地方,希望各位提出來給大家分享。

    Jakarta項目是ASF(The Apache Software Foundation)的一部分。ASF是一個非贏利組織,她鼓勵基于開放的軟件許可下進行合作、注重實效的開發(fā),并提供各個領(lǐng)域的高質(zhì)量軟件,她涉及到 Http服務(wù)器,編譯工具,類庫,開發(fā)架構(gòu),服務(wù)器端Java技術(shù),J2EE容器,數(shù)據(jù)庫工具,日志工具,XML解析等等諸多領(lǐng)域。ASF提供的java 項目有一部分在Jakarta中,還有一些成為獨立的諸如Tomcat的項目,Jakarta項目則提供了多種多樣開源的java解決通用方案。

    先介紹一下ASF中和Jakarta項目并列的java項目:

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

    下面介紹下Jakarta的各個子項目:

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

    Commons Proper組件:

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

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

    posted on 2009-11-14 13:36 BlakeSu 閱讀(233) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久国产精品免费观看| 成人免费网站在线观看| 亚洲日本乱码一区二区在线二产线 | 亚洲高清中文字幕免费| 吃奶摸下高潮60分钟免费视频| 51午夜精品免费视频| 亚洲小说区图片区| 亚洲精品tv久久久久| 麻豆视频免费播放| 一级特黄a免费大片| 亚洲伊人久久精品| 免费大黄网站在线观| 91免费福利精品国产| 女人裸身j部免费视频无遮挡| 亚洲黄色免费网址| 亚洲综合另类小说色区色噜噜| 中文毛片无遮挡高潮免费| www成人免费观看网站| 97se亚洲国产综合自在线| 亚洲一区二区三区在线观看精品中文| 中国在线观看免费国语版| 国产拍拍拍无码视频免费| 久久亚洲精品无码gv| 亚洲国产精品成人综合色在线婷婷 | 久久成人a毛片免费观看网站| 亚洲heyzo专区无码综合| 99人中文字幕亚洲区| 亚洲国产精品丝袜在线观看| 国产美女在线精品免费观看| 国产一精品一av一免费爽爽| 黄网站色视频免费观看45分钟| 亚洲成av人片不卡无码| 中文亚洲AV片不卡在线观看| 国产禁女女网站免费看| 亚洲天堂免费在线| **aaaaa毛片免费| 黄网站色视频免费在线观看的a站最新| 欧洲亚洲综合一区二区三区| 亚洲天堂一区在线| 亚洲黄色片在线观看| 国产成人精品久久亚洲|