Struts、spring、Hibernate在各層的作用
1)struts 負責 web層.
ActionFormBean 接收網頁中表單提交的數據,然後通過Action 進行處理,再Forward到對應的網頁。 在struts-config.xml中定義, 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接口方法,進行持久化操作。