Velocity空間

          快速構建JAVA應用
          隨筆 - 11, 文章 - 15, 評論 - 5, 引用 - 0
          數(shù)據(jù)加載中……

          概述

           

          起初,WEB頁面是一個為所有訪問者提供一個統(tǒng)一的信息靜態(tài)實體。開發(fā)者很快就想到為擁有一種為每一個用戶提供唯一數(shù)據(jù)的能力,一個大的技術分類隨之而來,比如PHP,ASPJSP。當這些語言在解決這個問題的同時,也導致了一個非常大的問題。

          這些語言直接和HTML標簽相混合,導致程序可維護性大大降低。如果開發(fā)者想改變頁面外觀,修改工作將難以進行。

          幸運的是,模型-視圖-控制器(MVC)設計范例完全把私有代碼從頁面和數(shù)據(jù)中分離出來。使用MVC模式進行設計時,WEB設計者只關注于創(chuàng)建頁面表現(xiàn)外觀,而WEB開發(fā)者則只需關注代碼的處理。Velocity是一種用于從私有代碼中分離Java Web代碼的技術(通過MVC方式), Web設計者通過使用java基礎模板,引用用java書寫的私有代碼。

          這本書提供了一個使用Velocity1.3.x創(chuàng)建可維護站點的綜合處理方案(通過本書示例的幫助)。

          這本書里有些什么?

          因為Velocity是為Web設計者和開發(fā)者而設計的,這本書包含了VTLvelocity模板語言)的全部內容。我們展示了如何把VTL語言應用到你的Velocity模板的窗體數(shù)據(jù)里,以及如何使用這些模板開發(fā)應用程序。

          我們假定你不知道Velocity,因此在編寫第一個實際應用之前,我們提供了一個示例以便于你能夠理解系統(tǒng)是如何工作的。在這個實例里,我們展示了如何利用MYSQL數(shù)據(jù)庫來構建一個CD收藏應用。通過這個應用,你將學會如何利用MVC方式書寫代碼。你也將學會如何用velocity模板來進行web輸出、文本報表和生成XML。本書第二個示例是一個酒店預約系統(tǒng),用于驗證如何使用Maverick Velocity 模板來構建一個完整的WEB應用。這個應用允許用戶使用某幾個標準進行房間信息搜索,預訂想要的房間,然后顯示預約確認。許多Velocity模板和三個控制類被用于完成應用,用一個Velocity模板來展現(xiàn)。

          誰最應該讀這本書

          本書是為幫助WEB開發(fā)者和WEB設計者維護和開發(fā)WEB站點和應用而寫的。許多組織把這些分成WEB設計者和軟件開發(fā)者這兩個角色,并分別雇用圖形設計者來進行WEB表現(xiàn)設計和雇用軟件設計者來進行WEB開發(fā)。這兩個角色都是(critical)獨立的:WEB開發(fā)者專注于Servlet Veloctiy后端(back-end)支持,WEB設計者利用WEB開發(fā)者提供的后端支持進行界面設計。

          在這里,我們假定WEB開發(fā)者已經具備JAVA開發(fā)工作的經驗和知識,并且已經能夠熟練使用servletsEJBs進行交互,同時假定WEB設計者已經具備HTML開發(fā)工作的經驗和知識。如果他們(exposure)不得不使用JSP/ASP或其他服務器端語言進行開發(fā),Velocity將很容易進行轉換(雖然我們假定他們不了解這些知識)。

          本書由三部分組成。第一部分是MVCVelocity的介紹。一旦你已經掌握或了解了(under your belt)這些介紹性的知識,我們將進入Velocity語言和它的特性討論環(huán)節(jié)(第二部分)。最后,第三部分提供了許多示例和全面的示例應用,并舉例說明如何使用Velocity

          Part I: VelocityMVC介紹

          Chapter 1: Web開發(fā)基礎(development basics)

          直到今天,Internet開發(fā)僅僅是目前技術革新的一小部分。通過internet,把相互連接性進一步延長,它允許個體和公司以相同的方式向全球成千上萬的客戶和朋友呈現(xiàn)信息。最初,WEB頁面開發(fā)僅限于使用HTML來產生一個靜態(tài)頁面。

          隨著internet語言的進化和站點需求的增加,開始向動態(tài)頁面發(fā)展,并利用數(shù)據(jù)庫進行數(shù)據(jù)管理和復雜應用處理。新的復雜性是,結果常常導致在同一個文件里混雜view和處理代碼。Velocity利用MVC方式為設計者和開發(fā)者提供了一個解決方案。本章為internet發(fā)展歷史和velocity是如何brings to the table(使表恢復知覺?)提供了一個全面的概覽。

          Chapter 2: MVC基本原理

          Smalltalk-80設計出來的時候,一個叫做Model-View-ControllerMVC)的體系被用于從數(shù)據(jù)和控制邏輯中分離view,幾年過去了,MVC已經變成一個能夠被所有現(xiàn)代語言所應用的模式。MVB已經帶進WEB舞臺,同時能夠被Velocity充分利用。

          本章給你一個全面的MVC概覽,同時向你解釋MVCinternet開發(fā)處理中的角色。我們向你呈現(xiàn)了代碼示例,同時描述了每一個MVC組件是如何解決在創(chuàng)建組合代碼過程中所出現(xiàn)的問題。

          Chapter 3: Velocity介紹

          本章主要介紹Veloctiy。我們向你呈現(xiàn)了Velocity是如何工作的,并且調試我們在本書中將使用的代碼。隨著學習的深入,你將對這個系統(tǒng)有一個好的理解。

          Part II: Velocity 基礎

          Chapter 4: 安裝Velocity

          在你開始關注Velocity細節(jié)之前,你必須先安裝它。本章提供了一個全面的Velocity安裝手冊。涵蓋windowsUnix平臺下所有必須的開發(fā)工具和先決條件包。我們將對Velocity測試組進行全面討論,同時提供一個執(zhí)行示例應用的手冊和sevlets支持包。一些支持包包含了Java SDK和一個應用服務器(比如TomcatResin)。

          Chapter 5:創(chuàng)建Hello World 示例

          正如你所期待的一樣,一個新的開發(fā)范例都是從Hello World應用開始的。在這一節(jié)里,你將書寫你的第一個Velocity應用-but with a twist。你可以書寫用于單機和WEB格式的應用,以此證明Velocity能夠用于任何類型的應用輸出。當然,書寫代碼僅僅是戰(zhàn)斗的一部分——你還必須能夠部署和執(zhí)行你的應用。本章將告訴你每一個詳細的步驟。

          Chapter 6: 理解和模板和上下文

          Velocity的兩個主要組件就是templates模板和context上下文。模板為WEB設計者創(chuàng)建應用界面提供了一個區(qū)域,這個界面將通過單機應用生成一個WEB頁面或產生一個報表;上下文為WEB開發(fā)者放置所有設計者designerVelocity模板所需要的信息提供了一個區(qū)域。本章將介紹這些組件。我們將通過調試一個完整的示例來展示組件是如何在一起工作的,同時,我們將討論他們的一般用法。

          Chapter 7: Exploring References引用探索

          Velocity內部,引用在模板和上下文(一個存儲數(shù)據(jù)的地方)之間提供了一個接口。在這一節(jié)里,我們將描述以下三種類型的引用:語法、正式的和非正式的(?),我們也將討論逃逸(escaping)、靜態(tài)(quiet)和屬性符號(property notation),同時提供一個示例來說明這些概念。

          Chapter 8: 使用指令(Directives

          Velocity和許多別的Internet語言一樣,提供了一個命叫指令(directives)的控制和判斷結構,這些指令(如#foreach #if)為WEB設計者提供了一個強大的工具,來熟練操作上下文中的數(shù)據(jù)。本章涵蓋了directivesincludes示例,同時也包含了一個用于快速查找的引用片段。

           

          Chapter 9: Velocimacros介紹

          當你發(fā)現(xiàn)自己再三重復同樣的Velocity代碼時,你就應該開始學習velocimacros了。這些宏允許你創(chuàng)建一些用于模板的模塊,以產生清晰(clean-looking)的代碼,同時有助于今后開發(fā)的維護。本章涵蓋了velocimacros內容,同時提供了廣泛的例子。

          Chapter 10: Velocity控制器討論

          Velocity開發(fā)者需要包含了幾個結構——比如事件、資源加載和其他系統(tǒng)屬性(幫助你定制Velocity的行為)。本章用示例來說明如何更改Velocity模式以適用于你的應用。

          Part III: Velocity開發(fā)

          Chapter 11: Velocity, XML, Anakia

          XML是宣傳和介紹的最多的技術。用于HTML時,XML允許用戶自定義標記來識別包含在文本里的數(shù)據(jù)。為了使XML更易用,人們設計了XSLT,用于快速、便捷地操控和轉換XML數(shù)據(jù)。

          Anakia設計者使用Ant任務,利用強大的XSLT功能(found)和XML來創(chuàng)建輸出。

          Chapter 12:Servlets里使用Velocity

          當你使用Velocity開發(fā)應用時,MVC范例模式是創(chuàng)建可維護性應用最有效方式。第一個控制器開發(fā)的就是Servlet。本章里,我們將向你展示如何使用ServletVelocity書寫一個CD收藏應用。許多模板都是有插圖的,同時我們將討論在下載表文件的窗體里利用Velocity來輸出文本。該應用同時也利用了EJBs來作為MVC范例模式的模型(model)組件。在EJBs里,數(shù)據(jù)通過Collection(收藏)對象窗體里的上下文來傳遞到模板。VTL指令(directives)把顯示給用戶的Collection(收藏)數(shù)據(jù)填充到數(shù)據(jù)庫行。

          Chapter 13: Velocity和國際化

          當你正在設計一個WEB應用的時候,你可能習慣考慮使用母語來書寫應用里的文本,但是你可能忘記了其他國家的用戶或許正在使用這個應用的功能。雖然Velocity不能改變在JAVA基礎WEB應用上完成國際化任務的現(xiàn)狀,但它提供了一個創(chuàng)建被許多語言理解的兼容站點的框架。本章展示了如何把德語文本增加到你的CD收藏Velocity應用中。使用這個本章介紹的這個技術,你可以很容易地為你的Velocity應用增加其他語言支持。

          Chapter 14: Turbine(渦輪)里應用Velocity

          Jakarta的開發(fā)小組中,Turbine是一個為開發(fā)者提供的創(chuàng)建企業(yè)級應用工具的應用框架,其目標是提供一個讓開發(fā)者自行創(chuàng)建其想要的組件框架(?)。

          在本章里,我們將討論如何使用TurbineVelocity獲取、安裝和部署一個應用。讓你利用TurbineMVC支持進行Velocity開發(fā)。

          Chapter 15: Maverick里使用Velocity

          如果你正在使用J2EEMVC構建一個應用,可以考慮使用Maverick框架。這個框架聯(lián)合了VelocityDVSL,它允許你構建一個企業(yè)級的XML應用。你也可以在應用中混合使用JDBCEJBs

          Chapter 16: Velocity IDEs

          雖然許多開發(fā)者和設計者都使用文本編輯器來操作他們的WEB頁面,一些人更喜歡使用IDE。本章提供了各種不同的第三方IDE插件和文本編輯器插件。我們將涵蓋許多開發(fā)工具的插件,比如IntelliJ's IDEA, UltraEdit, JEdit, TextPad, Emacs

          Chapter 17: Struts里使用Velocity

          Struts或許是目前用得最多的MVC框架了。Velocity團隊預期的開發(fā)目標是使用Velocity作為MVC框架里的VIEW組件,同時創(chuàng)建可利用的接口包來進行綜合處理。本章為使用StrutsVelocity創(chuàng)建一個應用提供了完整的說明。

          Chapter 18: 酒店預約Velocity應用系統(tǒng)

          在這一節(jié)時里,我們使用VelocityMVC框架書寫了一個完整的WEB應用文檔。我們使用許多模板來為WEB用戶提供輸入和顯示頁面。控制器使用MYSQL數(shù)據(jù)庫跟蹤酒店房間信息。

          Chapter 19: JSP里使用Velocity

          許多WEB設計者和開發(fā)者對JSP已經非常熟悉,他們不想切換到Velocity或不想放棄JSP頁面,只想把JSPVelocity混合在起編程。本節(jié)向你展現(xiàn)了如何在JSP頁面里使用Velocity標記庫將Velocity命令嵌入到JSP頁面中。

           

          Chapter 20: DVSLVelocity

          Velocity類型聲明語言(DVSL)是為許多XSLT特性功能而設計的(?),它可以使用許多XSLT中相同的方法函數(shù)來轉換XML。本章提供了一些使用DVSL例子。

          Appendix A: The Velocity規(guī)范

          Velocity系統(tǒng)由許多類和接口組成。本附錄提供了一個完整的概覽。

          Appendix B: Velocity 站點

          本附錄提供了一個Velocity幫助站點列表。

          posted on 2008-10-11 22:26 KINGWEE 閱讀(781) 評論(1)  編輯  收藏 所屬分類: Velocity

          評論

          # re: 概述  回復  更多評論   

          基本看完了~再次感謝樓主~
          這本書有免費下載的嗎?原版PDF的~官網(wǎng)要40美刀...吃不起...
          2010-05-17 14:50 | badpeas
          主站蜘蛛池模板: 保康县| 博罗县| 大宁县| 嘉鱼县| 泽普县| 昭平县| 平遥县| 六盘水市| 大渡口区| 阜新市| 筠连县| 阿克苏市| 万安县| 合江县| 疏勒县| 志丹县| 收藏| 克拉玛依市| 平利县| 旬阳县| 华宁县| 九龙坡区| 四会市| 怀宁县| 报价| 拉孜县| 彭泽县| 双江| 乐业县| 淮南市| 嘉义县| 抚州市| 太白县| 准格尔旗| 工布江达县| 桓台县| 琼海市| 平利县| 霍林郭勒市| 黄龙县| 手游|