今天把Structs和EJB稍微了解了一下。
Structs是apache 組織jakarta 項目的一個子項目,用以改善 web 系統的結構,是一個基于J2EE的Web形式MVC模式實現。Structs是由一組類、Servlet和Taglib組成。Structs有其自己的控制器(Controller),基本組件是ActionServlet中定義的Servlet,由ActionMapping定義的,ActionMapping類表示的是Action對象的名字和位置。當一個請求進入控制器時,它將請求的路徑映射到Action的位置,并且將請求傳送給Action。Structs另外一個重要部分是標簽(TagLib),主要由頁面制作人員使用。
EJB(Enterprise JavaBean ) 是設計成運行在服務器上,并由客戶機調用的非可視遠程對象??赏ㄟ^多個非可視 JavaBean 構建 EJB。它們有一個部署描述符,其目的與 JavaBean 屬性相同:它是以后可由工具讀取的 bean 的描述。EJB 還獨立于平臺,一旦編寫好,還可以在任何支持 Java 的平臺(包括客戶機和服務器)上使用。

如果不使用EJB,在EJB服務層實現的業務核心將由普通JavaBeans實現,不能很好的保證負責MVC的JavaBeans和負責業務核心的JavaBeans清晰地分開。
采用EJB,Web完全只是一個MVC模式的實現,關鍵業務核心是在EJB的服務層實現,這樣做的優點是,Web只負責界面相關部分,因為,如果是一個智能客戶端,如Swing或J2ME,在不需要修改任何業務核心的情況下能夠方便地更換。同樣,提供Web Services功能,也只是在 Web層修改,不會涉及EJB方面的修改,同樣保證了系統的穩定性,保證了系統升級和未來的擴展性。
EJB容器(如JBoss)已經提供了對象池和緩存機制,所以,沒有事務機制的無狀態Session Bean的性能肯定要強于普通JavaBeans。EJB容器不但在單機中提供了對象池和緩存,而且可以跨服務器實現動態負載平衡,這些都無需開發者自己開發任何軟件代碼。
EJB提供的事務機制非常周全,但事務機制帶來的缺點是性能的降低,在一般企業應用或數據庫系統應用中,EJB不會對你構成很重的包袱。
通過一天的學習,雖然沒有寫出Structs和EJB的實現代碼,但是基本上對這兩個東西有了初步的了解