国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

新手入門:使用 AppFuse 的七個理由

2019-11-18 13:40:15
字體:
供稿:網(wǎng)友

2006 年 8 月 31 日

開始學(xué)習(xí)在 java™ 平臺上使用諸如 SPRing、Hibernate 或 MySQL 之類的開放源碼工具時可能非常困難。再加上 Ant 或 Maven,以及與 DWR 一起的小 Ajax,還有 Web 框架 —— 即 JSF,我們必須睜大眼睛盯著如何配置應(yīng)用程序。AppFuse 減少了集成開放源碼項目的痛苦。它可以把測試變成一等公民,讓我們可以從數(shù)據(jù)庫表生成整個 UI,并使用 XFire 來支持 Web 服務(wù)。另外,AppFuse 的社區(qū)也非常健全,這是不同 Web 框架用戶可以一起融洽相處的地方之一。

     AppFuse 是一個開放源碼的項目和應(yīng)用程序,它使用了在 Java 平臺上構(gòu)建的開放源碼工具來幫助我們快速而高效地開發(fā) Web 應(yīng)用程序。我最初開發(fā)它是為了減少在為客戶構(gòu)建新 Web 應(yīng)用程序時所花費的那些不必要的時間。從核心上來說,AppFuse 是一個項目骨架,類似于通過向?qū)?chuàng)建新 Web 項目時 IDE 所創(chuàng)建的東西。當(dāng)我們使用 AppFuse 創(chuàng)建一個項目時,它會提示我們將使用開放源碼框架,然后才創(chuàng)建項目。它使用 Ant 來驅(qū)動測試、代碼生成、編譯和部署。它提供了目錄和包結(jié)構(gòu),以及開發(fā)基于 Java 語言的 Web 應(yīng)用程序所需要的庫。

    與大部分 “new project” 向?qū)Р煌珹ppFuse 創(chuàng)建的項目從最開始就包含很多類和文件。這些文件用來實現(xiàn)特性,不過它們同時也會在您開發(fā)應(yīng)用程序時被用作示例。通過使用 AppFuse 啟動新項目,我們通常可以減少一到兩周的開發(fā)時間。我們不用擔(dān)心如何將開放源碼框架配置在一起,因為這都已經(jīng)完成了。我們的項目都已提前配置來與數(shù)據(jù)庫進行交互,它會部署到應(yīng)用服務(wù)器上,并對用戶進行認(rèn)證。我們不必實現(xiàn)安全特性,因為這都早已集成了。

    當(dāng)我最初開發(fā) AppFuse 時,它只支持 Struts 和 Hibernate。經(jīng)過幾年的努力,我發(fā)現(xiàn)了比 Struts 更好的 Web 框架,因此我還添加了為這些 Web 框架使用的選項。現(xiàn)在,AppFuse 可以支持 Hibernate 或 iBATIS 作為持久性框架。對于 Web 框架來說,我們可以使用 JavaServer Faces(JSF)、Spring MVC、Struts、Tapestry 或 WebWork。

AppFuse 提供了很多應(yīng)用程序需要的一些特性,包括:

  • 認(rèn)證和授權(quán)
  • 用戶治理
  • Remember Me(這會保存您的登錄信息,這樣就不用每次都再進行登錄了)
  • 密碼提醒
  • 登記和注冊
  • SSL 轉(zhuǎn)換
  • E-mail
  • URL 重寫
  • 皮膚
  • 頁面修飾
  • 模板化布局
  • 文件上載

     這種 “開箱即用” 的功能是 AppFuse 與其他 CRUD 代 框架的區(qū)別之一(CRUD 取自創(chuàng)建、檢索、更新刪除 幾個操作的英文首字母),包括 Ruby on Rails、Trails 和 Grails。上面提到的這些框架,以及 AppFuse,都讓我們可以從數(shù)據(jù)庫表或現(xiàn)有的模型對象中生成主頁/細節(jié)頁。

圖 1 闡述了一個典型 AppFuse 應(yīng)用程序的概念設(shè)計:


圖 1. 典型的 AppFuse 應(yīng)用程序
新手入門:使用 AppFuse 的七個理由(圖一)

     清單 1 給出了我們在創(chuàng)建 devworks 項目時所使用的命令行交互操作,同時還給出了所生成的結(jié)果。這個項目使用了 WebWork 作為自己的 Web 框架(請參考下面 參考資料 一節(jié)給出的鏈接)。


清單 1. 使用 AppFuse 創(chuàng)建新項目
alotta:~/dev/appfuse mraible$ ant newBuildfile: build.xmlclean:     [echo] Cleaning build and distribution Directoriesinit:new:     [echo]      [echo] +-------------------------------------------------------------+     [echo]     -- Welcome to the AppFuse New application Wizard! --          [echo]                                                                   [echo]  To create a new application, please answer the following         [echo]  questions.                                                       [echo] +-------------------------------------------------------------+    [input] What would you like to name your application [myapp]?devworks    [input] What would you like to name your database [mydb]?devworks    [input] What package name would you like to use [org.appfuse]?com.ibm    [input] What web framework would you like to use [webwork,tapestry,spring,jsf,struts]?webwork     [echo] Creating new application named 'devworks'...     [copy] Copying 359 files to /Users/mraible/Work/devworks     [copy] Copying 181 files to /Users/mraible/Work/devworks/extras     [copy] Copying 1 file to /Users/mraible/Work/devworks     [copy] Copying 1 file to /Users/mraible/Work/devworksinstall:     [echo] Copying WebWork JARs to ../../lib     [copy] Copying 6 files to /Users/mraible/Work/devworks/lib     [echo] Adding WebWork entries to ../../lib.properties     [echo] Adding WebWork classpath entries     [echo] Removing Struts-specific JARs   [delete] Deleting directory /Users/mraible/Work/devworks/lib/struts-1.2.9   [delete] Deleting directory /Users/mraible/Work/devworks/lib/strutstest-2.1.3     [echo] Deleting struts_form.xdt for XDoclet   [delete] Deleting directory /Users/mraible/Work/devworks/metadata/templates     [echo] Deleting Struts merge-files in metadata/web   [delete] Deleting 7 files from /Users/mraible/Work/devworks/metadata/web     [echo] Deleting unused Tag Libraries and Utilities   [delete] Deleting 2 files from /Users/mraible/Work/devworks/src/web/org/appfuse/webapp     [echo] Modifying appgen for WebWork     [copy] Copying 12 files to /Users/mraible/Work/devworks/extras/appgen     [echo] Replacing source and test files   [delete] Deleting directory /Users/mraible/Work/devworks/src/web/org/appfuse/webapp/form   [delete] Deleting directory /Users/mraible/Work/devworks/src/web/org/appfuse/webapp/action     [copy] Copying 13 files to /Users/mraible/Work/devworks/src   [delete] Deleting directory /Users/mraible/Work/devworks/test/web/org/appfuse/webapp/form   [delete] Deleting directory /Users/mraible/Work/devworks/test/web/org/appfuse/webapp/action     [copy] Copying 5 files to /Users/mraible/Work/devworks/test     [echo] Replacing web files (images, scripts, jsps, etc.)   [delete] Deleting 1 files from /Users/mraible/Work/devworks/web/scripts     [copy] Copying 34 files to /Users/mraible/Work/devworks/web   [delete] Deleting: /Users/mraible/Work/devworks/web/WEB-INF/validator-rules-custom.xml     [echo] Modifying Eclipse .classpath file     [echo] Refactoring build.xml     [echo] ----------------------------------------------     [echo] NOTE: It's recommended you delete extras/webwork as you shouldn't need it anymore.     [echo] ----------------------------------------------     [echo] Repackaging info written to rename.log     [echo]      [echo] +-------------------------------------------------------------+     [echo]            -- Application created sUCcessfully! --                [echo]                                                                   [echo]  Now you should be able to cd to your application and run:        [echo]  > ant setup test-all                                             [echo] +-------------------------------------------------------------+BUILD SUCCESSFULTotal time: 15 seconds

新手入門:使用 AppFuse 的七個理由(圖二)為什么使用 WebWork?
Struts 社區(qū)最近在熱情地?fù)肀?WebWork,這種結(jié)合導(dǎo)致為 Java 平臺提供了一個非常優(yōu)秀的新 Web 框架:Struts 2。當(dāng)然,Spring MVC 是一個非常優(yōu)秀的基于請求的框架,但是它不能像 Struts 2 一樣支持 JSF。基于內(nèi)容的框架(例如 JSF 和 Tapestry)也都很好,但是我發(fā)現(xiàn) WebWork 更為直觀,更輕易使用(更多有關(guān) Structs 2 和 JSF 的內(nèi)容請參看 參考資料)。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 柳江县| 沧源| 北海市| 济阳县| 漯河市| 仲巴县| 神池县| 洱源县| 保德县| 准格尔旗| 福贡县| 渭源县| 中超| 麦盖提县| 乌苏市| 三明市| 诏安县| 海伦市| 乌海市| 银川市| 临洮县| 岫岩| 施秉县| 新晃| 荆门市| 南岸区| 尼玛县| 丹阳市| 鹤庆县| 介休市| 定襄县| 长白| 当涂县| 万盛区| 呼伦贝尔市| 桐城市| 崇州市| 阿城市| 漾濞| 舟山市| 盐亭县|