1. 程式人生 > >SSH 框架簡單介紹

SSH 框架簡單介紹

  1.struct : 主要是JSP頁面上的請求與控制器之間的,   對model, View, controller都提供了對應的元件 ActionServlet,這個類是Struts1的核心控制器,負責攔截來自使用者的請求。 Action,這個類通常由使用者提供,該控制器負責接收來自ActionServlet的請求,並根據該請求呼叫模型的業務邏輯方法處理請求,並將處理結果返回給JSP頁面顯示。 Model部分: 由ActionForm和JavaBean組成,其中ActionForm用於將使用者的請求引數封裝成ActionForm物件,該物件被ActionServlet轉發給Action,Action根據ActionForm裡面的請求引數處理使用者的請求。
JavaBean則封裝了底層的業務邏輯,包括資料庫訪問等。 View部分: 該部分採用JSP(或HTML、PHP……)實現。 Struts提供了豐富的標籤庫,通過標籤庫可以減少指令碼的使用,自定義的標籤庫可以實現與Model的有效互動,並增加了現實功能。對應上圖的JSP部分。 Controller元件: Controller元件有兩個部分組成——系統核心控制器,業務邏輯控制器。 系統核心控制器,對應上邊的ActionServlet。該控制器繼承了HttpServlet類,因此可以配置成標註的Servlet。該控制器負責攔截所有的HTTP請求,然後根據使用者請求決定是否要轉給業務邏輯控制器。 業務邏輯控制器,負責處理使用者請求,本身不具備處理能力,而是呼叫Model來完成處理。對應Action部分。
2.Spring層 Spring 是一個開源框架,  由Rod Johnson建立。它是為了解決企業應用開發的複雜性而建立的 。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。 然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性鬆耦合的角度而言,任何Java應用都可以從Spring中受益。 目的:解決企業應用開發的複雜性 功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能 範圍:任何Java應用 簡單來說,Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。 輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小隻有1MB多的JAR檔案裡釋出。並且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應用中的物件不依賴於Spring的特定類。
控制反轉——Spring通過一種稱作控制反轉(IoC)的技術促進了鬆耦合。當應用了IoC,一個物件依賴的其它物件會通過被動的方式傳遞進來,而不是這個物件自己建立或者查詢依賴物件。你可以認為IoC與JNDI相反——不是物件從容器中查詢依賴,而是容器在物件初始化時不等物件請求就主動將依賴傳遞給它。 面向切面——Spring提供了面向切面程式設計的豐富支援,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用物件只實現它們應該做的——完成業務邏輯——僅此而已。它們並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支援 容器——Spring包含並管理應用物件的配置和生命週期,在這個意義上它是一種容器,你可以配置你的每個bean如何被建立——基於一個可配置原型(prototype),你的bean可以建立一個單獨的例項或者每次需要時都生成一個新的例項——以及它們是如何相互關聯的。然而,Spring不應該被混同於傳統的重量級的EJB容器,它們經常是龐大與笨重的,難以使用。 框架——Spring可以將簡單的元件配置、組合成為複雜的應用。在Spring中,應用物件被宣告式地組合,典型地是在一個XML檔案裡。Spring也提供了很多基礎功能(事務管理、持久化框架整合等等),將應用邏輯的開發留給了你。 所有Spring的這些特徵使你能夠編寫更乾淨、更可管理、並且更易於測試的程式碼。它們也為Spring中的各種模組提供了基礎支援。 3. Hibernate層 Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程式使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。 Hibernate的核心介面一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心介面在任何開發中都會用到。通過這些介面,不僅可以對持久化物件進行存取,還能夠進行事務控制。下面對這五個核心介面分別加以介紹。 ·Session介面:Session介面負責執行被持久化物件的CRUD操作(CRUD的任務是完成與資料庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session物件是非執行緒安全的。同時,Hibernate的session不同於JSP應用中的HttpSession。這裡當使用session這個術語時,其實指的是Hibernate中的session,而以後會將HttpSession物件稱為使用者session。 ·SessionFactory介面:SessionFactory介面負責初始化Hibernate。它充當資料儲存源的代理,並負責建立Session物件。這裡用到了工廠模式。需要注意的是SessionFactory並不是輕量級的,因為一般情況下,一個專案通常只需要一個SessionFactory就夠,當需要操作多個數據庫時,可以為每個資料庫指定一個SessionFactory。 ·Configuration介面:Configuration介面負責配置並啟動Hibernate,建立SessionFactory物件。在Hibernate的啟動的過程中,Configuration類的例項首先定位對映文件位置、讀取配置,然後建立SessionFactory物件。 ·Transaction介面:Transaction介面負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理程式碼。 ·Query和Criteria介面:Query和Criteria介面負責執行各種資料庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。