Simple is beautiful.
#
摘要: HSQLDB 是一個用JAVA寫的開源數(shù)據(jù)庫,具有標準的SQL語法支持和JDBC接口,由于它的微型和性能從而成為運行測試和演示Demo的最佳選擇。
最近在學(xué)Hibernate, 由于Hsqldb的輕巧, 正好能滿足學(xué)習(xí)過程中的需要; 它除了為學(xué)習(xí)Hibernate提供方便以外, 更重要的是它是開源的, 可以通過研究源代碼來學(xué)習(xí)它實現(xiàn)的思想; 下面開始學(xué)習(xí)Hsqldb, 這將是一個持續(xù)的過程。
閱讀全文
摘要: 獲得列表
在上一步中我們已經(jīng)把數(shù)據(jù)保存到了內(nèi)容倉庫中,那我們?nèi)绾未_定數(shù)據(jù)確實保存進去了呢?getBlogList() 這個方法將返回根節(jié)點下所有名為blogEntry.的子節(jié)點。
閱讀全文
摘要: 開發(fā)我們的例子程序
jackrabbit已經(jīng)配置好了,現(xiàn)在讓我們來創(chuàng)建我們的示例程序。這個例子程序?qū)⒄{(diào)用JCR-170 API。很顯然,我們需要做兩件事情:一個是作為后臺的對數(shù)據(jù)進行增刪改查(持久層),另一個是開發(fā)相對應(yīng)的UI界面(WEB 層)。首先,讓我們定義一個DAO接口。這個接口BlogEntryDAO.java 如下:
閱讀全文
摘要: 內(nèi)容倉庫模型
JSR-170 是這樣定義內(nèi)容倉庫的,內(nèi)容倉庫由一組 workspace(工作空間)組成,這些workspace通常應(yīng)該包含相似的內(nèi)容。一個內(nèi)容倉庫有一個到多個 workspace。每個workspace都是一個樹狀結(jié)構(gòu),都有一個唯一的樹根節(jié)點(root node)。樹上的item(元素)或者是個node(節(jié)點)或者是個property(屬性)。每個node都可以有零個到多個子節(jié)點和零個到多個子屬性。只有根節(jié)點沒有父節(jié)點,其余所有的節(jié)點都有一個父節(jié)點。property 也必須有一個父節(jié)點,但它沒有子節(jié)點或是子屬性,property 是葉子元素。property是真正存儲數(shù)據(jù)的元素。
閱讀全文
摘要: JSR-170把自己定義為一個能與內(nèi)容倉庫互相訪問的,獨立的,標準的方式。同時它也對內(nèi)容倉庫做出了自己的定義,它認為內(nèi)容倉庫是一個高級的信息管理系統(tǒng),該系統(tǒng)是是傳統(tǒng)的數(shù)據(jù)倉庫的擴展,它提供了諸如版本控制、全文檢索,訪問控制,內(nèi)容分類、訪問控制、內(nèi)容事件監(jiān)視等內(nèi)容服務(wù)。
閱讀全文
摘要:
所有的Hibernate應(yīng)用都會訪問Hibernate的五個核心接口:
1)Configuration接口:配置Hibernate,根啟動Hibernate,創(chuàng)建SessionFactory對象。
2)SessionFactory接口:初始化Hibernate,充當數(shù)據(jù)存儲源的代理,創(chuàng)建Session對象。
3)Session接口:負責保存、更新、刪除、加載和查詢對象。
4)Transaction:管理事務(wù)。
5)Query和Criteria:執(zhí)行數(shù)據(jù)庫查詢。
閱讀全文
摘要: Session接口向業(yè)務(wù)邏輯層提供讀、寫和刪除域?qū)ο蟮姆椒ǎ?它不公開任何數(shù)據(jù)訪問細節(jié), SessionImpl實現(xiàn)了Session接口, 它通過JDBC API實現(xiàn)了數(shù)據(jù)的持久化。SessionFactory類負責創(chuàng)建Session實例。Hibernate在初始化階段把對象-關(guān)系映射文件中的映射元數(shù)據(jù)讀入到SessionFactory的緩存中。
閱讀全文
摘要: 認識拉出式MVC模式J2EE Web框架-----WebWork
WebWork是由OpenSymphony組織開發(fā)的,致力于組件化和代碼重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,現(xiàn)在的WebWork2.x前身是Rickard Oberg開發(fā)的WebWork,但現(xiàn)在WebWork已經(jīng)被拆分成了Xwork1和WebWork2兩個項目。 Xwork簡潔、靈活功能強大,它是一個標準的Command模式實現(xiàn),并且完全從web層脫離出來。 Xwork提供了很多核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉(zhuǎn)換,強大的表達式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應(yīng)和請求。WebWork2使用ServletDispatcher將HTTP請求的變成Action(業(yè)務(wù)層Action類), session(會話)application(應(yīng)用程序)范圍的
閱讀全文
摘要: 在軟件項目開發(fā)過程中, 項目涉及到的文件很多, 比如代碼源文件等, 如果沒有一個版本管理工具, 那么在項目開發(fā)中將會遇到各種問題, 比如版本不統(tǒng)一. 通過一個版本管理服務(wù)器, 能很好的管理軟件項目過程中的資源, 能有效地提高開發(fā)的效率, 減少錯誤的發(fā)生.
SVN(Subversion)是類似于VSS 和 CVS 的版本管理軟件,是CVS的作者另起爐灶開發(fā)的,繼承了CVS的優(yōu)點,避免了CVS的一些缺點.
以下是在windows環(huán)境下搭建svn版本管理服務(wù)器
閱讀全文
摘要: Exception:According to TLD or attribute directive in tag file, attribute value does not accept any expression
閱讀全文
摘要: 目前整個開發(fā)社區(qū)對AOP(Aspect Oriented Programing)推崇備至,也涌現(xiàn)出大量支持AOP的優(yōu)秀Framework,--Spring, JAC, Jboss AOP 等等。AOP似乎一時之間成了潮流。Java初學(xué)者不禁要發(fā)出感慨,OOP還沒有學(xué)通呢,又來AOP。本文不是要在理論上具體闡述何為AOP, 為何要進行AOP . 要詳細了解學(xué)習(xí)AOP可以到它老家http://aosd.net去瞧瞧。這里只是意圖通過一個簡單的例子向初學(xué)者展示一下如何來進行AOP.
閱讀全文
摘要: Object Web Lomboz的版本是ObjectWeb Lomboz for JavaEE Development
Version: 3.2,它也是基于Eclipe核心技術(shù)的。
CVS 全稱Concurrent Versions System,主要用于管理在開發(fā)過程中生成的源代碼、文檔等資料,記錄他們的更新歷史,使開發(fā)團隊各成員可以更好的協(xié)作。CVS版本控制系統(tǒng)采用C/S架構(gòu),目前CVS server可以支持Linux、windows 2000/xp/2003以及部分unix(如sun的solaris等),CVS client在linux、windows、unix上也有對應(yīng)的版本。
閱讀全文
摘要: 在Struts中你要盡可能的不用Action類,因為他們讓你的項目變得臃腫,你可以使用org.apache.struts.actions.DispatchAction類來完成業(yè)務(wù)邏輯所需要的相關(guān)操作集中到一個Action類中,在繼承DispatchAction后,你不再是重新定義execute()方法,而是編寫你自己的業(yè)務(wù)方法,execute()方法在DispatchAction抽象類定義。
閱讀全文