MVC三層架構:模型層,控制層和視圖層。模型層,用Hibernate框架讓來JavaBean在數據庫生成表及關聯,通過對JavaBean的操作來 對數據庫進行操作;控制層,用Struts框架來連接數據層和視圖層的,接收、處理、發送數據並控制流程;視圖層,用JSP模板把頁面展現給用戶以及提供 與用戶的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整個架構,提供IOC容器使代碼鬆耦合以及AOP框架的切面功能 等等。
也可以換種說法:我們去飯館吃飯,擺在我們面前的油淋小白菜就是Jsp呈現的視圖,而這道菜怎麼來的呢,當然要有小白菜,也就是Hibernate產生的 數據,小白菜要洗乾淨,切好,這是對數據的操作;這些準備好了就要炒小白菜了,這就是Struts的事了。這個過程分工明確,各做各的,有的只負責洗菜, 有的只負責炒菜的,Spring就是中間負責跑腿的,讓洗菜的和炒菜的都安心做自己的事。最終一道菜就出來了,我們看到的是成品菜,卻看不見它被製作的過 程。
我舉個例子來說明怎麼利用SSH框架做菜,當然這裏僅僅是一些最簡單的示例代碼用來做說明:
1.JavaBean類(Model,這裏就是買來的小白菜):
public class Building {
private String code;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
2.用Hibernite把對象持久化到數據庫中(Model,還是小白菜,只不過換個說法,你可以給它隨便起個名字,比如說實體小白菜,但其實還是一樣的東西)
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Building" table="building">
<id name="id" column="id">
<generator class="uuid"/>
</id>
<property name="code"/>
</class>
</hibernate-mapping>
3.把對數據的訪問封裝成一個面向對象的接口(Model,洗菜,切菜):
public interface BuildingManager {
List findEntity();
}
4.控制層的處理(Controller,開始炒菜了):
public class BuildingAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest req,
HttpServletResponse servletResponse) throws Exception {
List results = entityManager.findItems();
req.setAttribute("buildings",page);
return actionMapping.findForward("list");
}
}
5.jsp視圖(View,端上桌的油淋小白菜,這裏我就不寫示例代碼了)。
至此,我們在MVC清晰明瞭的架構中,雖然代碼簡單,卻足以勾勒出如何在SSH三大框架的通力合作下實現樓宇列表的顯示,小白菜可以吃了。
SSH框架與MVC架構之間的關係
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
如果同事暗中傷害你,應該怎麼辦?
這個饅頭有餡
2019-02-24 13:59:08
職場中,抱怨越多的員工,越被領導瞧不起!
這個饅頭有餡
2019-02-24 13:59:08
老程序員被裁,應屆生卻能月薪 1.3 萬?這你能忍?
前端高達
2019-02-24 13:48:04
遇到到處蹭吃卻從不請客吃飯的主怎麼辦?
樑軍年
2019-02-24 13:26:35
Linux基本操作命令
wbzjacky
2019-02-24 13:12:38
高標準機房綜合配線安裝
wbzjacky
2019-02-24 13:12:38
IPsec ***實驗
wbzjacky
2019-02-24 13:12:37
真實的模擬***綜合實驗
wbzjacky
2019-02-24 13:12:37
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
MongoDB索引優化詳解
geekpy
2019-02-24 14:20:06
Sql server中一些Select檢索高級用法
wbzjacky
2019-02-24 13:12:37