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

十月 7, 2010 by
Filed under: CCIP 

隨著技術的日新月異 ,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組件綁定:

    “#(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:網頁的所見即所得編輯器,漂亮的外觀,多語言支持等,很強大。

    以上介紹JSP架構、JSP開發工具優缺點比較

Comments

Tell me what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!





*