top
Loading...
Java利器JakartaCommons(一)


Jakarta Commons是Jakarta的一個子項目,目的是創建和維護獨立于其他框架和產品的程序包(packages)。這些程序包是一些服務于小范圍的有效組件的集合,通常適用于服務器端編程。

Commons項目分為兩部分:Sandbox和Commons庫。Sandbox用于測試。本文關注庫組件,包括它們什么時候使用,在那里,以及用例子說明如何使用。

簡要介紹

Jakarta Commons項目源于重用,其中的程序包必須確保能夠重用。有一些包來自于其他項目,例如通用日志包是Jakarta Struts的一部分。當開發者發現某個包對于其他項目很有用,可以縮短開發周期,他們決定將這些包做成通用組件。這就是Jakarta Commons項目。

要真正做到可重用,每個程序包必須獨立于其他較大的框架和項目。因此,Commons項目中的每個包在很大程度上是獨立的,不僅相對于其他項目,甚至對于其他包也是如此。違反這一原則的情況是存在的,但決大多數情況是使用成熟的APIs。例如,Betwixt包建立在XML APIs基礎之上。盡管這個項目的本意是建立不依賴其他組件的程序包。

大多數程序包十分簡潔,以至于缺少必要的文檔、維護和幫助。有些包甚至只有錯誤的連接和極少的文檔。大多數情況下,你只能自己摸索如何使用它們,為什么使用它們。希望這篇文章對你有幫助。

注意:Jakarta Commons與Apache Commons是不同的。后者是Apache Software Foundation(ASF)的頂級項目。而前者是ASF的另一個頂級項目Jakarta的子項目,是本文介紹的對象。而且,Jakarta Commons只使用Java。在本文中Commons指的是Jakarta Commons。

組件

為了組織方便,我將18個(包括EL,Latka和Jexl)Commons組件分為五類。如下:

組件類別

組件

Web相關
FileUpload,HTTPClient和Net

XML相關
Betwixt,Digester,Jelly和JXPath

工具
BeanUtils,Logging,DBCP,Pool和 Validator

打包
Codec 和 Modeler

小程序
CLI,Discovery,Lang和 Collections

要注意的是這個分類只是對本文而言,在Commons項目中是不存在的。在某種程度上分類是重疊的。本文將介紹Web相關和小程序類,下篇文章包括XML相關和打包類,工具類在最后一篇文章中。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗