SSH中 struts hibernate spring 各起什么作用?
簡單的說:
struts
控制用的
hibernate
操作數據庫的
spring
用解耦的
詳細的說:
STRUTS
在
SSH
框架中起控制的作用
,
其核心是
Controller,
即
ActionServlet,
而
ActionServlet
的核心就是
Struts-confi g.xml.
主要控制邏輯關系的處理
.
hibernate
是數據持久化層
,
是一種新的對象、關系的映射工具
,
提供了從
Java
類到數據表的映射,也提供了數據查詢和恢復等機制
,
大大減少數據訪問的復雜度。把對數據庫的直接操作
,
轉換為對持久對象的操作
.
起到的主要作用是解耦
Struts
、
spring
、
Hibernate
在各層的作用
1
)
struts
負責
web
層
.
ActionFormBean
接收網頁中表單提交的數據,然后通過
Action
進行處理,再
Forward
到對應的網頁。
在
struts-config.xml
中定義
<action-mapping>, ActionServlet
會加載。
2
)
spring
負責業務層管理,即
Service
(或
Manager).
1
.
service
為
action
提供統計的調用接口,封裝持久層的
DAO.
2
.可以寫一些自己的業務方法。
3
.統一的
javabean
管理方法
4
.聲明式事務管理
5.
集成
Hiberante
3
)
Hiberante
,負責持久化層,完成數據庫的
crud
操作
hibernate
為持久層,提供
OR/Mapping
。
它有一組
.hbm.xml
文件和
POJO,
是跟數據庫中的表相對應的。然后定義
DAO
,這些是跟數據庫打交道的類,它們會使用
PO
。
在
struts+spring+hibernate
的系統中,
對象的調用流程是:
jsp-> Action
-
> Service ->DAO ->Hibernate
。
數據的流向是
ActionFormBean
接受用戶的數據,
Action
將數據從
ActionFromBean
中取出,封裝成
VO
或
PO,
再調用業務層的
Bean
類,完成各種業務處理后再
forward
。而業務層
Bean
收到這個
PO
對象之后,會調用
DAO
接口方法,進行持久化操作。
posted on 2008-02-29 15:19 李云澤 閱讀(7147) 評論(0) 編輯 收藏 所屬分類: Hibernate 、Spring 、軟件設計 、Struts