天天看點

j2ee架構學習感悟(一)

這一陣子都在看關于架構的東西,目前為止對ssh2有了一點基本的認識。

Struts2,雖然同Struts1核心不是一脈相承,而是從webwork的衍射品,但是在項目中的作用還是一脈相承的,我現在對于它的了解就是與表現層緊密相連,用于分發頁面的請求到指定的action,之後又響應後的result傳回到對應的頁面中。在我目前的學習當中,感覺Struts2要比1友善一些,而現在應該是用2的人跟多一些,因為1對于程式的侵入太大,不利于修改,雖然我也不是很有切身體會所謂的侵入,但是用起來就是2友善一些。

hibernate,這個東西應該是ssh2中最難學的一個架構,正所謂物有所值,它應該是最有用的一個架構了,沒有它,光和資料庫增删改查相關的代碼就要寫的累死人,反正到現在我是基本上隻會利用IDE生成代碼,我越學這個架構,越發現我對資料庫的知識,資料結構的知識都知之甚少,因而我感覺我應該現在轉到資料庫基礎知識好好學一學,否則對于映射,事務,并發将會一無所知,學起來事倍功半……\

Spring 目前我隻了解學習了注入,至于其他的反轉什麼的,還不是很了解。

在ssh2整合裡面,整個流程應該是jsp發送請求xx.action到struts的攔截器,根據struts.xml找到對應的action 然後根據class名 轉到 ApplacationContext.xml裡面找到相應的action,調用相應的action.java 通過ref來注入其屬性,action通過調用需要的service,service需要相應的dao,這些service dao entity都需要在ApplactionContext.xml配置。action執行完畢後傳回字元串标示,根據struts.xml和字元串然後轉到相應的表現頁面。hibernate主要是負責dAO層和資料庫之間的事情,Struts負責程式與頁面之間的事情,Sping 負責對于hibernate和struts的協同工作,以及各種配置注入工作。三者各司其職,協調工作。