JSP架構、JSP開發工具優缺點比較

隨着技術的日新月異 ,JSP的新技術也層出不窮,爲了方面大家的學習與工作,下面將簡單的介紹一下JSP架構、JSP開發工具、Web服務器及其鋮缺點。

JSP架構:

struts: Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優點,使開發者能更深入的瞭解其內部實現機制。

除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,比較靈活,能大大提高開發效率。另外,就目前國內的JSP開發者而言,除了使用JSP自帶的常用標記外,很少開發自己的標記,或許Struts是一個很好的起點。struts歷經6年多的發展,是目前用戶數最多、開發團隊和社區最火熱的框架,適用於中小型項目的快速開發。

tapestry: Tapestry是一個開源的基於servlet的應用程序框架,它使用組件對象模型來創建動態的,交互的web應用。一個組件就是任意一個帶有jwcid屬性的html標記。其中jwc的意思是Java Web Component.Tapestry使得java代碼與html完全分離,利用這個框架開發大型應用變得輕而易舉。並且開發的應用很容易維護和升級。Tapestry支持本地化,其錯誤報告也很詳細。Tapestry主要利用javabean和xml技術進行開發,是一個組件式的、事件驅動的框架,理念很先進,想實現類似於桌面程序開發的那種便捷模式。但是它的學習曲線比較陡峭,要花不少時間才能掌握它。它適合大型項目開發,隨着組件的積累,開發越到後期可複用的組件越多,開發速度越快。

spring mvc: Spring 的 Web MVC 框架是圍繞 DispatcherServlet 設計的,它把請求分派給處理程序,同時帶有可配置的處理程序映射、視圖解析、本地語言、主題解析以及上載文件支持。默認的處理程序是非常簡單的 Controller 接口,只有一個方法 ModelAndView handleRequest(request, response)。Spring 提供了一個控制器層次結構,可以派生子類。如果應用程序需要處理用戶輸入表單,那麼可以繼承 AbstractFormController.如果需要把多頁輸入處理到一個表單,那麼可以繼承 AbstractWizardFormController.spring提供的東東,使用了spring的IoC,並且也非常強大,但是感覺它比較接近低層,要關注的東西很多。

JSF: JSF負責對客戶端設備產生影響,它提供了將表示層、應用層和業務邏輯層整合在一起的工具,但是,JSF的範圍被限制在表示層。

以下是JSF Framwork提供最重要的服務。

◆MVC架構

軟件用戶總是要操作各種數據,例如,一個潛在用戶提交的註冊信息,這些數據叫做model.軟件開發人員必須將這些數據展現給用戶,這就是視圖views.在Web應用程序中,HTML文件用於描繪這些數據。

JSF將model和view結合在一起。可以用下面的方式將model屬性和view組件綁定:

  1. "#(user.username) "/> 

並且,JSF還充當控制器Controller的角色,它可以響應用戶的事件(例如,提交數據或者修改了某一個值),將這些事件的數據交由處理model的類以更新model.例如,可以調用一個方法來判斷某個用戶是否被允許登陸:

◆數據類型轉換

用戶在HTML表單輸入的都是文本,而我們需要的可能是數字、日期等類型,JSF提供了非常簡單的方法用於指定或者自定義數據轉換規則。

◆驗證和錯誤處理

在JSF中可以非常簡單的實現諸如“某個字段不得爲空”或“某個自動必須爲數字”之類的規則。客戶還希望在他輸入錯誤數據之後得到適當的提示,JSF提供了完成絕大多數類似任務的方法。

◆國際化

JSF提供國際化發佈管理,解決諸如字符編碼和資源文件選擇等課題。

◆自定義組件

◆可選擇的渲染器

缺省的,JSF將tag渲染爲HTML格式。但是,也可以非常簡單的擴展它,以適應其他渲染要求,比如WML.

◆工具支持

這個得等。

webwork: Webwork是一個源代碼開放的Web應用框架,用於簡化基於Web的應用開發。

Webwork的最大優點是它的簡單性和靈活性。Webwork有一個很小的API,它使開發者可以迅速進行開發工作。

Webwork是許多特性和適用性的組合,包括使用variour view技術,例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations Specification(XSLT)和JasperReporters.還有,Webwork對JFreechart有非常好的支持。和struts一樣經典的框架,而且比struts更易於使用,但是社羣就不如struts那麼強大了。

struts2:struts和webwork合併後的東東,還沒有正式發佈,不知道會不會是個怪胎。

服務器:

這些框架基本不依賴特定的服務器,tomcat、jboss、weblogic都沒有問題。

tomcat: Tomcat是一個開放源代碼、運行servlet和JSP Web應用軟件的基於Java的Web應用軟件容器。Tomcat由Apache-Jakarta子項目支持並由來自開放性源代碼Java社區的志願者進行維護。Tomcat Server是根據servlet和JSP規範進行執行的,因此我們就可以說Tomcat Server也實行了Apache-Jakarta規範且比絕大多數商業應用軟件服務器要好。做爲web容器輕量小巧,如果你不是使用ejb開發,那就可以用它,快速方便。

jboss:JBoss服務器是一種優秀的J2EE服務器,和BEA的Weblogic,IBM的Websphere屬於同類產品, JBoss的優勢在於具有良好的性價比,實現了所有j2ee的規範和api,支持的標準新,版本快,有開放源碼的所有優點,支持熱deploy,適合開發環境,尤其是大的團隊開發,deploy會拖掉整個團隊的效率。文檔太少。啓動快。

JBoss爲完全開放源碼的免費軟件,而且具有良好的運行效率和可靠性,因此已經得到越來越多的J2EE應用開發者的青睞。

他其中的web容器就是用tomcat,不過支持了ejb,速度慢一些,不適合開發階段,可以用於真實運行環境(免費)。

weblogic: WebLogic 是一套基於JAVA功能強大的電子商務套件,提供了許多功能強大的中間件以方便編程人員編寫的JSP、SERVLET 等電子商務應用,可以爲企業提供一個完整的商務應用解決方案。不適合開發階段,太慢了,適合於運行環境(收費)。

JSP開發工具:

IBM VisualAge for Java :IBM的Web開發產品可謂同類之中的龐然大物:體積龐大,功能衆多;使用對象是整個開發團隊;而設計目標則是搞定視野裏能看到的一切!

VisualAge for Java是提供了嚮導功能的第一個Java IDE,它可以生成大量的EJB基礎結構代碼,從而簡化了EJB開發過程。另外,對話和實體beans的創建嚮導、把beans映射到現有關係數據存儲以及先進的測試環境極大地減少了創建、測試和部署EJB所花的時間。

Jbuiler :JBuilder 軟件的目標定位是代碼開發人員而不是高級設計人員,所以JBuilder中包含了大量的嚮導程序和其他針對中間層的快速開發工具。JBuilder性能穩定、使用方便,特別適用於創建Java 組件。此外該軟件還提供了很多JSP功能。

Jrun :Allaire公司的JRun是一個具有最廣闊適用性的Java引擎,用於開發及實施由Java Servlets(JSP)和JavaServer Pages編寫的服務器端Java應用。其中Web服務器包括了Microsoft IIS,Netscape Enterprise Server,Apache等。

JRun是開發實施服務器端Java的先進引擎。如果你希望在你的Web應用中添加服務器端Java功能,那麼JRun將成爲你的正確選擇。

eclipse+myeclipse:幾乎可以滿足上述所有開發的需要。也可以根據需要找到某個框架的特定插件,但是myeclipse本身就集成了各種插件,更方便易用。

其他相關的技術:urlrewrite:URL重寫轉換,讓前端用戶通過靜態路徑訪問服務,後臺自動轉爲動態路徑。

sitemesh:簡化頁面開發,讓頁面開發模板化,公用相同的區域。

acegi安全框架:攔截並校驗用戶訪問的url,確定用戶是否有權訪問。功能不僅如此,很強大。

displaytag:列表顯示,自動實現翻頁、數據導出等功能。

dtree:樹形顯示,簡單易用。

jfreechat:統計圖表生成。

dwr:適合java的ajax開發框架,新版本中實現了服務器推模式,顛覆傳統的客戶端拉模式。

FCKeditor:網頁的所見即所得編輯器,漂亮的外觀,多語言支持等,很強大。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章