SSH框架與MVC架構之間的關係

MVC三層架構:模型層,控制層和視圖層。模型層,用Hibernate框架讓來JavaBean在數據庫生成表及關聯,經過對JavaBean的操做來 對數據庫進行操做;控制層,用Struts框架來鏈接數據層和視圖層的,接收、處理、發送數據並控制流程;視圖層,用JSP模板把頁面展示給用戶以及提供 與用戶的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整個架構,提供IOC容器使代碼鬆耦合以及AOP框架的切面功能 等等。 

    也能夠換種說法:咱們去飯館吃飯,擺在咱們面前的油淋小白菜就是Jsp呈現的視圖,而這道菜怎麼來的呢,固然要有小白菜,也就是Hibernate產生的 數據,小白菜要洗乾淨,切好,這是對數據的操做;這些準備好了就要炒小白菜了,這就是Struts的事了。這個過程分工明確,各作各的,有的只負責洗菜, 有的只負責炒菜的,Spring就是中間負責跑腿的,讓洗菜的和炒菜的都安心作本身的事。最終一道菜就出來了,咱們看到的是成品菜,卻看不見它被製做的過 程。 數據庫

SSH 它就是一個架構 MVC 它是一種思想架構

我舉個例子來講明怎麼利用SSH框架作菜,固然這裏僅僅是一些最簡單的示例代碼用來作說明:app

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三大框架的通力合做下實現樓宇列表的顯示,小白菜能夠吃了。jsp

相關文章
相關標籤/搜索