Struts是一個Web Framework。那麼什麼是Framework?
<!-- frame contents -->
<!-- /frame contents -->
Framework概念並不是很新了,伴隨著軟件開發的發展,在多層的軟件開發項目中,可重用、易擴展的,而且是經過良好測試的軟件組件,越來越為人們所青睐。這意味著人們可以將充裕的時間用來分析、構建業務邏輯的應用上,而非繁雜的代碼工程。於是人們將相同類型問題的解決途徑進行抽象,抽取成一個應用框架。這也就是我們所說的Framework。
Framework的體系提供了一套明確機制,從而讓開發人員很輕易的擴展和控制整個framework開發上的結構。 通常,framework的結構中都有一個“命令和控制”組件
常見的B/S WebFramework已經有很多了,其中不少也是很成功優秀作品。下面列舉一部分
Struts:主要關注於Controller流程,基於jsp與Taglib實現的View。
Cocoon:jakarta出品的用於處理XML的框架,將XML作為View並可以良好結合XSLT
Webwork:jive論壇采用的框架,采用command模式進行action的轉發,並可結合多種view模型
Turbine: 同樣是jakarta出品。是一個基於 Servlet 的Framework,使得 Java 開發者可以快速、安全的構建自己的網絡應用。采用Velocity 作為表現層。(Velocity:一個基於 Java 的模版引擎 )
Tapestry: 一個優秀的framwork,類似於dotNet中的winform,使用Html和一個servlet共同生成一個View
Spring: Spring是一個服務於所有層面的application framework:提供了bean的配置基礎,AOP的支持,JDBC的提取框架,抽象事務支持,等等。它有一個非常顯著的特點:在某個層面上假如你不需要Spring的支持,你就可以不使用String的class,只使用它的某一部分的功能。
JSF:JavaServerFaces,它並不算是Framework,但JSF同樣提供了一種不同的View生成方式。它可以和多種Framework整合。在J2EE1.4中,JSP2.0規范就包含了JSF標准。
Framework有很多種,Struts並不是我們唯一的選擇。我們可以根據具體的項目來選擇不同的framework。
之所以struts現在比較流行,其主要原因是它推出的比較早,版本較穩定,並且是MVC及core J2EE patterns的標准實現。
將來的發展趨勢,很有可能是JSF+Struts+Spring+Hibernate/JDO的開發模式。