當前位置:編程學習大全網 - 源碼下載 - J2EE和SSH是什麽關系?他們有什麽聯系?謝謝

J2EE和SSH是什麽關系?他們有什麽聯系?謝謝

SSH 在J2EE項目中表示了3種框架,即 Spring + Struts +Hibernate。

Struts:

Struts框架結構

Struts對Model,View和Controller都提供了對應的組件。

Action,這個類通常由用戶提供,該控制器負責接收來自ActionServlet的請求,並根據該請求調用模型的業務邏輯方法處理請求,並將處理結果返回給JSP頁面顯示。

Model部分

由ActionForm和JavaBean組成,其中ActionForm用於封裝用戶的請求參數,封裝成ActionForm對象,該對象被ActionServlet轉發給Action,Action根據ActionForm裏面的請求參數處理用戶的請求。 JavaBean則封裝了底層的業務邏輯,包括數據庫訪問等。

View部分

該部分采用JSP實現。 Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現與Model的有效交互,並增加了現實功能。對應上圖的JSP部分。

Controller組件

Controller組件有兩個部分組成——系統核心控制器,業務邏輯控制器。 系統核心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標註的Servlet。該控制器負責攔截所有的HTTP請求,然後根據用戶請求決定是否要轉給業務邏輯控制器。 業務邏輯控制器,負責處理用戶請求,本身不具備處理能力,而是調用Model來完成處理。對應Action部分。

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中的各種模塊提供了基礎支持。

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,而以後會將HttpSesion對象稱為用戶session。

SessionFactory接口

SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理,並負責創建Session對象。這裏用到了工廠模式。需要註意的是SessionFactory並不是輕量級的,因為壹般情況下,壹個項目通常只需要壹個SessionFactory就夠,當需要操作多個數據庫時,可以為每個數據庫指定壹個SessionFactory。

Configuration接口

Configuration接口負責配置並啟動Hibernate,創建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然後創建SessionFactory對象。

Transaction接口

Transaction接口負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理代碼。

Query和Criteria接口

Query和Criteria接口負責執行各種數據庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。

  • 上一篇:請問有沒學過數據結構(c語言版)的?能不能幫我把哈夫曼樹編寫出來?急需啊!!!
  • 下一篇:8. 下列關於操作系統正確的敘述是( )。
  • copyright 2024編程學習大全網