日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

J2EE开发之常用开源框架介绍

發布時間:2023/12/9 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 J2EE开发之常用开源框架介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From:?http://blog.csdn.net/kuyuyingzi/article/details/38351231

主要就我所了解的J2EE開發的框架或開源項目做個介紹,可以根據需求選用適當的開源組件進行開發。主要還是以Spring為核心,也總結了一些以前web開發常用的開源工具和開源類庫

1持久層:

1Hibernate

  這個不用介紹了,用的很頻繁,用的比較多的是映射,包括繼承映射和父子表映射

  對于DAO在這里介紹個在它基礎上開發的包bba96,目前最新版本是bba96?2.0它對Hibernate進行了封裝,?查詢功能包括執行hsql或者sql查詢/更新的方法,如果你要多層次邏輯的條件查詢可以自己組裝QueryObject.可以參考它做HibernateDAO.也可以直接利用它

2)?iBATIS

  另一個ORM工具,Apache的,沒有Hibernate那么集成,自由度比較大

2SpringMVC

原理說明和快速入門:

配置文件為:

  Spring的配置文件默認為WEB-INF/xxxx-servelet.xm其中xxxweb.xmlorg.springframework.web.servlet.DispatcherServletservlet-name.

Action分發:

  Spring將按照配置文件定義的URLMapping到具體Controller類,再根據URL里的action=?xxx或其他參數,利用反射調用Controller里對應的Action方法。

輸入數據綁定:

  Spring提供Binder?通過名字的一一對應反射綁定Pojo,也可以直接從request.getParameter()取數據。

輸入數據驗證

  Sping?提供了Validator接口當然還可以使用開源的Commons-Validaor支持最好

Interceptor(攔截器)

  Spring的攔截器提供接口需要自己編寫,在這點不如WebWork做的好。全面

  (這里提一下WebWorkStruts的區別最主要的區別在于WebWork在建立一個Action時是新New一個對象而StrutsSingleMoule所有的都繼承它的一個Action,所以根據項目需要合適的選擇。)

3View

1)?標簽庫:JSP2.0/JSTL

  由于WebworkSpring的標簽確實很有限,一般view層用JSTL標簽,而且據說JSTL設計很好速度是所有標簽中最快的使用起來也很簡單

2)?富客戶端:DOJO?Widgets,?YUIYahooUI),FCKEditor,?Coolest日歷控件

  Dojo主要提供Tree,?Tab等富客戶端控件,可以用其進行輔助客戶端開發

  YahooUIDOJO一樣它有自己的一套javascript調試控制臺,主要支持ajax開發也有很多TreeTableMenu等富客戶端控件

  FCKEditor?最流行的文本編輯器

  Coolest日歷控件?目前很多日歷控件可用,集成在項目中也比較簡單,這個只是其中的一個,界面不錯的說……

3)?JavaScriptPrototype.js

  Prototype.js作為javascript的成功的開源框架,封裝了很多好用的功能,通過它很容易編寫AJAX應用,現在AJAX技術逐漸成熟,框架資源比較豐富,比如YUIDWR等等,也是因為JavaScript沒有合適的調試工具,所以沒有必要從零開始編寫AJAX應用,個人認為多用一些成熟的Ajax框架實現無刷新更新頁面是不錯的選擇。

4)表格控件:Display?Tag?Extreme?Table

  這兩個的功能差不多,都是View層表格的生成,界面也比較相向,可以導出ExcelPdf,對Spring支持很容易。

  相比較而言比較推薦ExtremeTable,它的設計很好功能上比DisplayTag多一些,支持Ajax,封裝了一些攔截器,而且最方面的是在主頁wiki中有詳細的中文使用文檔。

5):OSCache

  OSCacheOpenSymphony組織提供的一個J2EE架構中Web應用層的緩存技術實現組件,Cache是一種用于提高系統響應速度、改善系統運行性能的技術。尤其是在Web應用中,通過緩存頁面的輸出結果,可以很顯著的改善系統的穩定性和運行性能。

  它主要用在處理短時間或一定時間內一些數據或頁面不會發生變化,或將一些不變的統計報表,緩沖在內存,可以充分的減輕服務器的壓力,防治負載平衡,快速重啟服務器(通過硬盤緩存)。

6SiteMesh

  sitemesh應用Decorator模式主要用于提高頁面的可維護性和復用性,其原理是用Filter截取requestresponse,把頁面組件headcontentbanner結合為一個完整的視圖。通常我們都是用include標簽在每個jsp頁面中來不斷的包含各種header,?stylesheet,?scripts?and?footer,現在,在sitemesh的幫助下,我們刪掉他們輕松達到復合視圖模式。

  Sitemesh也是?OpenSymphony的一個項目現在最近的版本是2.2,目前OpenSymphony自從04年就沒有更新的版本了……感覺它還是比較有創新的一種頁面組裝方式,?OpenSymphony開源組織的代碼一般寫的比較漂亮,可以改其源代碼對自己的項目進行適配。

  測試發現Sitemesh還存在一些問題,比如中文問題,它的默認編碼是iso-8859-1在使用時候需要做一些改動。

7CSSXHTML

  這個不用說了,遵循W3C標準的web頁面開發。

8)分頁標簽:?pager-taglib組件

  Pager-taglib?是一套分頁標簽庫,可以靈活地實現多種不同風格的分頁導航頁面,并且可以很好的與服務器分頁邏輯分離。使用起來也比較簡單。

9Form:?Jodd?Form?taglib

  Jodd?Form?taglib使用比較簡單,只要把html的頭尾以form包住,就會自動綁定mybean,?自動綁定mybean的所有同名屬性到普通html標記input,?selectbox,?checkboxradiobox……在這些input框里不用再寫任何代碼…

10AjaxDWR

  J2EE應用最常用的ajax框架

11)報表?圖表

  Eclipse?BIRT功能比較強大,也很龐大……好幾十M,一般沒有特別需求或別的圖表設計軟件可以解決的不用它

  JasperReports+?iReport是一個基于Java的開源報表工具,它可以在Java環境下像其它IDE報表工具一樣來制作報表。JasperReports支持PDFHTMLXLSCSVXML文件輸出格式。JasperReports是當前Java開發者最常用的報表工具。

  JFreeChart主要是用來制作各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。

  琴棋報表,國產的……重點推薦,適合中國的情況,開放源代碼,使用完全免費。純JAVA開發,適用多種系統平臺。特別適合B/S結構的系統。官方網站有其優點介紹,看來用它還是不錯的選擇,最重要的是支持國產呵呵

4:權限控制:?Acegi

  AcegiSpring?Framework?下最成熟的安全系統,它提供了強大靈活的企業級安全服務,如完善的認證和授權機制,Http資源訪問控制,Method?調用訪問控制等等,支持CAS

  (耶魯大學的單點登陸技術,這個單點登陸方案比較出名。我也進行過配置使用,可以根據項目需要,如果用戶分布在不同的地方不同的系統通用一套登陸口令可以用它進行解決,一般注冊機登陸機就是這樣解決的)

  Acegi只是于Spring結合最好的安全框架,功能比較強大,當然還有一些其他的安全框架,這里列舉一些比較流行的是我從網上找到的,使用方法看其官方文檔把…

  JAAS,?Seraph,?jSai?-?Servlet?Security,?Gabriel,?JOSSO,?Kasai,?jPAM,?OpenSAML都是些安全控制的框架……真夠多的呵呵

5:全文檢索

1)?Lucene

  Lucene是一套全文索引接口,可以通過它將數據進行倒排文件處理加入索引文件,它的索引速度和查詢速度是相當快的,查詢百萬級數據毫秒級出結果,現在最火的Apache開源項目,版本更新速度很快現在已經到了2.0,每個版本更新的都比較大,目前用的最多的版本應該是1.4.3,但它有個不太方面的地方單個索引文件有2G文件限制,現在2.0版本沒有這個限制,我研究的比較多,它的擴展性比較好,可以很方面的擴充其分詞接口和查詢接口。

  基于它的開發的系統很多,比如最常用的Eclipse的搜索功能,還有一些開源的軟件比如CompassNutchLius,還有我最近做的InSearch(企業級FTP文件網頁搜索)

6:公共Util

  主要是Jakarta-Commons類庫,其中最常用得是以下幾個類庫

1)?Jakarta-Commons-Language

  最常用得類是StringUtils類,提供了使用的字符串處理的常用方法效率比較高

2)?Jakarta-Commons-Beantuils

  主要用Beantuils能夠獲得反射函數封裝及對嵌套屬性,maparray型屬性的讀取。

3)?Jakarta-Commons-Collections

  里面有很多Utils方法

7?日志管理

  Log4J

  任務是日志記錄,分為InfoWarnerror幾個層次可以更好的調試程序

8?開源的J2EE框架

1)?Appfuse

  AppfuseMatt?Raible?開發的一個指導性的入門級J2EE框架,?它對如何集成流行的SpringHibernateiBatisStrutsXdcoletJUnit等基礎框架給出了示范。?在持久層,AppFuse采用了Hibernate?O/R映射工具;在容器方面,它采用了Spring,用戶可以自由選擇StrutsSpring/MVCWebworkJSF這幾個Web框架。

2)?SpringSide

  。SpringSide較完整的演示了企業應用的各個方面,是一個電子商務網站的應用?SpringSide也大量參考了Appfuse中的優秀經驗。最重要的是它是國內的一個開源項目,可以了解到國內現在的一些實際技術動態和方向很有指導意義…

9:模版?Template

  主要有VeloctiyFreemarker

  模板用Servlet提供的數據動態地生成?HTML.編譯器速度快,輸出接近靜態HTML?頁面的速度。

10:工作流

  我所知道比較出名的主要有JBpm?Shark?Osworkflow,由于對它沒有過多的研究所以還不是很清楚之間有什么區別。

項目管理軟件

  dotProject:是一個基于LAMP的開源項目管理軟件。最出名的項目管理軟件

  JIRA:?項目計劃,任務安排,錯誤管理

  Bugzilla:提交和管理bug,和eclipse集成,可以通過安裝MyEclipse配置一下即可使用

  BugFree借鑒微軟公司軟件研發理念、免費開放源代碼、基于Web的精簡版Bug管理

  CVS:這個就不介紹了都在用。

  SVN:?SubVersion已逐漸超越CVS,更適應于JavaEE的項目。Apache用了它很久后,Sourceforge剛剛推出SVN的支持。

  測試用例:主要JUnit單元測試,編寫TestCaseSpring也對Junit做了很好的支持


總結

以上是生活随笔為你收集整理的J2EE开发之常用开源框架介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。