天天看點

《jQuery EasyUI開發指南》——1.8 搭建SSH開發架構

本節書摘來自異步社群《jquery easyui開發指南》一書中的第1章,第1.8節,作者:王波著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

工欲善其事,必先利其器。在java web開發中,之是以采用myeclipse,并且采用最流行的mvc架構來開發,就是因為myeclipse的擴充性。它可以說是無限擴充的,需要什麼就安裝什麼,這些來自第三方的插件,可以非常友善地為項目服務,提供強大的功能。而tomcat也可以成功解析這些插件。這樣,既可以為程式員開發提供便利,又可以節省開發成本,何樂而不為呢?

在manage項目中,需要搭建一個ssh開發架構。ssh是struts+spring+hibernate的一個內建架構,是目前較流行的一種web開發模式。

首先,需要去網上下載下傳這些架構。具體的下載下傳方法就不贅述了,基本上在百度搜尋它們,都可以搜尋到符合條件的下載下傳位址。可以到這些架構的官方網站下載下傳,官方網站不但提供jar包,還會提供源代碼和參考文檔。如果英文不好,可以選擇在csdn下載下傳。

1.8.1 struts2的內建

第一種內建方式是将struts 2.x包裡需要的jar包導入/webroot/web-inf/lib目錄下,再建立一個struts.xml配置檔案到src目錄下即可。使用這種方式內建struts2會讓所有的jar檔案都內建在web app libraries這個庫檔案夾下。如果還要內建其他jar包的話,那麼随着jar包內建得越來越多,這個庫檔案夾下的檔案也會越來越多,這樣非常不利于管理,也會顯得淩亂。

第二種內建方式是打開項目的“buildpath”,配置“build path”,選擇“add library”→“myeclipse libraries”,此時,會列出所有myeclipse自帶的jar庫。從清單中,找到“struts2 core libraries”,單擊“完成”。此時,myeclipse會自動生成一個struts2 core libraries庫檔案夾來管理這些jar檔案。從項目的建構路徑可以看到,單獨把一些jar檔案放到一個庫檔案夾中管理非常有條理,也顯得很專業。受到了這種啟發,我們會想,如何讓自己手動導入的jar檔案,也可以做到這樣呢?

第三種內建方式是打開項目的“build path”,配置“build path”,選擇“add library”。此時,會彈出一個新的對話框,從清單中選擇“user library”。再次彈出一個新對話框,單擊“user libraries”按鈕。此時,就可以建立使用者庫了。

單擊“new”按鈕,輸入名稱struts2。

單擊“add jars”,找到struts2檔案夾,選中需要添加的檔案,單擊“确定”。

此時,我們手動添加的jar檔案也可以被統一放到struts2檔案夾中管理了。一般來說,初學者可能更傾向于第一種內建方式,但作為一個成熟的開發人員,最好還是把一類jar檔案放入一個檔案夾中管理。

不論以哪種方式內建struts2,都需要在src目錄下建立一個struts.xml檔案,用于配置struts的業務邏輯。在web.xml裡需要配置struts2用到的核心過濾器:

1.8.2 spring3的內建

第一種方式是打開項目的“build路徑”,配置“build路徑”,選擇“add library”→“myeclipse libraries”,此時,會列出所有myeclipse自帶的jar庫。從清單中,找到“spring 3.0 core libraries”,單擊完成。

在src目錄下建立一個applicationcontext.xml檔案,用于配置。在web.xml裡需要配置spring用到的監聽器:

添加struts2和spring整合的插件struts2-spring-plugin-2.0.12.jar。如果不使用這個插件,則需要在struts.xml裡加入一些配置:

如果采用第一種方式內建spring3,其實已經完成了struts2和spring3搭配的過程,但如果需要再搭配hibernate,就需要采用第二種方式了。

将滑鼠定位到manage項目名稱上,單擊右鍵,依次選擇菜單“myeclipse”→“add spring capabilities…”,在彈出的對話框裡勾選“spring 3.0 aop”“spring 3.0 core”“spring 3.0 persistence core”“spring 3.0 persistence jdbc”“spring 3.0 web”等5個核心庫,注意将它們複制到/webroot/web-inf/lib目錄下,再單擊“next”,配置存放spring配置檔案的路徑與名稱,将jar包放在webroot/web-inf/lib下,配置檔案放在src下即可,配置檔案名為applicationcontext.xml。

建立資料源,切換到“myeclipse database explorer”視窗。在左邊“db browser”的視窗裡,右擊選擇“new”,建立一個資料源。在彈出的視窗中,根據自己項目所建的資料庫來選擇配置,引入連接配接驅動jar包。

配置好之後,單擊“test driver”來測試配置連接配接是否成功。成功了再進行下一步操作。

“schema details”選擇連接配接映射的資料庫,沒必要将全部資料庫連接配接進來。根據使用者名選擇需要連接配接的資料庫,連接配接成功後可以檢視表結構。

配置好以後,選中它,将它的“open connection”打開看一看,看能否将資料連接配接過來。

1.8.3 hibernate的內建

搭建好了struts2和spring3這兩個架構,可以很好地幫助我們控制項目的請求轉向和管理實體類。現在,讓我們搭建項目資料通道的最後一層——持久層hibernate,搭建好這一層,目前業内最流行的ssh架構就建立起來了。

(1)将滑鼠定位到web project項目名稱上,單擊右鍵,依次選擇菜單“myeclipse”→“add hibernate capabilities…”。

(2)選擇“hibernate 3.3”,注意将庫複制到/webroot/web-inf/lib目錄下。 

(3)在對話框中選擇“spring configuration file”,表示希望将hibernate托管給spring進行管理,這是将hibernate與spring進行整合的基礎。然後單擊“next”。

(4)在出現的對話框中選擇“existing spring configuration file”。因為之前已經添加了spring的配置檔案,是以這裡選擇的是已存在的配置檔案。myeclipse會自動找到存在的那個檔案。然後在“sessionfactory id”中輸入hibernate的sessionfactory在spring配置檔案中的bean id的名字,這裡輸入sessionfactory即可。然後單擊“next”。

(5)在出現的對話框中的“bean id”裡面輸入資料源在spring中的bean id的名字,這裡輸入datasource。然後在“db driver”裡面選擇剛剛配置好的ssh,myeclipse會将其餘的資訊自動填寫到表格裡面。然後單擊“next”。

(6)在出現的對話框中取消“create sessionfactory class”,單擊“finish”即可。

hibernate的主要作用就是跟資料庫建立聯系,通過配置的方式,在項目中生成以類的方式來管理表的形式,友善在開發過程中直接使用,不用手動去寫。但如果資料庫中的表過多,hibernate會在項目檔案夾下生産過多的映射檔案,也就是.hbm.xml檔案,這算是一個美中不足吧。總之,我們隻是事先把hibernate架構內建到項目當中,至于用不用,是另外一回事。到這裡,整個項目的架構搭建就算是初步成形了。

hibernate reverse engineering反向生成pojo類,自動生成映射關系。

(1)再次進入“myeclipse database explorer”視圖,全選所有的表,右擊選擇“hibernatereverse engineering...”操作。

(2)單擊“java src folder”右邊的“browse...”選項,設定到自己建立好的包下面。

(3)再選擇*.hbm.xml和pojo映射,建議不用選擇“create abstract class”。不然,會生成大量抽象類檔案。

(4)下一步再選擇“id generator”的生成政策,選擇“native”。

(5)接下來,保持預設選項,直接單擊“finish”完成這項操作。

(6)最後回到“myeclipse javaenterprise”視圖,檢視是否已成功生成映射檔案。

到這裡,已經将ssh整合的所有操作都做好了,接下來就是進行編碼工作,修改相應的xml配置檔案,直到最後完成整個項目的開發。釋出web項目,啟動tomcat伺服器,可以測試之前的配置工作是否成功。