麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

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

2019-11-18 13:40:15
字體:
來源:轉載
供稿:網友

2006 年 8 月 31 日

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

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

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

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

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

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

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

圖 1 闡述了一個典型 AppFuse 應用程序的概念設計:


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

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


清單 1. 使用 AppFuse 創建新項目
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 社區最近在熱情地擁抱 WebWork,這種結合導致為 Java 平臺提供了一個非常優秀的新 Web 框架:Struts 2。當然,Spring MVC 是一個非常優秀的基于請求的框架,但是它不能像 Struts 2 一樣支持 JSF。基于內容的框架(例如 JSF 和 Tapestry)也都很好,但是我發現 WebWork 更為直觀,更輕易使用(更多有關 Structs 2 和 JSF 的內容請參看 參考資料)。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 请播放一级毛片 | 国产精品热 | 污版视频在线观看 | 亚洲欧美国产精品va在线观看 | 国产精品看片 | 91精品国 | 99国语露脸久久精品国产ktv | 久久精精品 | 国产精品视频一区二区三区四 | 日韩视频在线观看免费 | 99re久久最新地址获取 | 国产乱色精品成人免费视频 | 国产成人网 | 有兽焉免费动画 | 俄罗斯hdxxx 日夜操天天干 | 亚洲第一页中文字幕 | 国产亚洲精品久久午夜玫瑰园 | 国产午夜免费视频 | 国产亚洲在 | 国内精品久久久久久久影视红豆 | www.777含羞草 | 欧美中文日韩 | 干一夜综合| 粉嫩粉嫩一区二区三区在线播放 | 99国语露脸久久精品国产ktv | 久久精品视频日本 | lutube成人福利在线观看污 | 欧美77 | 国产1区2 | 国产精品美女久久久久久不卡 | 久久激情国产 | 看毛片免费 | 91久久国产综合久久91精品网站 | 福利一区二区三区视频在线观看 | 女人久久久www免费人成看片 | 欧美爱爱视频网站 | 欧美精品18videos性欧美 | 在线高清中文字幕 | 欧美成人影院 | av在线高清观看 | 亚洲欧美成aⅴ人在线观看 av免费在线播放 |