版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
word格式PAGE....軟件學(xué)院綜合性實驗報告專業(yè):年級/班級:學(xué)年第二學(xué)期課程名稱JavaEE程序設(shè)計指導(dǎo)教師姓名學(xué)號實驗地點實驗時間6月1、8、15日上午3-4節(jié)項目名稱SSH框架集成應(yīng)用實驗類型綜合性實驗?zāi)康?.SSH為struts+spring+hibernate的一個集成框架,是目前較流行的一種Web應(yīng)用程序開源框架。因此希望通過本次實驗充分了解SHH框架集成應(yīng)用的設(shè)計理念和具體步驟;2.通過翻閱課本,查閱資料,培養(yǎng)一個程序員應(yīng)有的信息搜索能力已經(jīng)借助其他工具解決問題的能力;3.真正掌握三個框架的精髓,更好地應(yīng)用與以后的學(xué)習(xí)工作中去。實驗儀器或設(shè)備MyEclipse6.5Tomcat5.5.26MySQL5.0數(shù)據(jù)庫腳本程序CREATETABLEuser(idint(11)NOTNULLauto_increment,usernamevarchar(50)defaultNULL,passwordvarchar(50)defaultNULL,PRIMARYKEY(id));INSERTINTOuserVALUES('1','admin','admin');總體設(shè)計(設(shè)計原理、設(shè)計方案及流程等)1.創(chuàng)建工程打開MyEclipse,需要注意的是這里應(yīng)該處于MyEclipseJavaEnterprise視圖。新建一個WebProject,輸入適當(dāng)?shù)墓こ堂郑@里我們輸入ssh,F(xiàn)inish即可。確定之后MyEclipse會生成名為SSH的項目,其中生成的目錄結(jié)構(gòu)如下所示:實驗步驟(包括主要步驟、代碼分析等)1.添加Struts1.2框架支持在ssh工程上面右擊,在彈出的菜單中選擇MyEclipse->AddStrutsCapabilities…添加Struts的支持。在彈出的對話框中選擇Struts1.2,修改Basepackagefornewclasses成所需的包名其余保持原狀,F(xiàn)inish即可。完成后的結(jié)構(gòu)為2.添加Spring2.0框架支持在ssh工程上面右擊,在彈出的菜單中選擇MyEclipse->AddSpringCapabilities…添加Spring框架支持。由于Spring采取最小化庫發(fā)布的方式,使得Spring的庫文件彼此都是分離的。因而我們需要自己選擇需要的庫,需要引用的如下圖:選擇好后Next,在窗口中選擇Browse,選擇ssh工程下面的WEB-INF文件夾。然后Finsh3.配置數(shù)據(jù)源在MyEclipse右上角選擇MyEclipseDatabaseExplorer,打開數(shù)據(jù)庫管理視圖。在左側(cè)的DBBrowser點擊右鍵,選擇New…打開DatabaseDriver對話框。在DatabaseDriver對話框中按照如下配置選擇數(shù)據(jù)庫驅(qū)動。首先選擇DriverTemplate。在這里我們選擇MySQL。DriverName是以后配置時使用的驅(qū)動名字,用以區(qū)分驅(qū)動。這里使用MySQL即可。然后根據(jù)實際情況填寫URL,Username和Password。點擊AddJARs添加數(shù)據(jù)庫驅(qū)動文件。為方便配置,可以選擇Savepassword保存密碼。配置完畢后Finish即可。4.Spring與Hibernate的整合當(dāng)配置完數(shù)據(jù)源后,就可以添加Hibernate支持了。切換到MyEclipseJavaEnterprise視圖,在ssh工程上面右擊。在彈出的菜單中選擇MyEclipse->AddHibernateCapabilities,添加Hibernate的支持。我們選擇Hibernate3.2,全部按照默認設(shè)置即可,然后點擊Next在對話框中選擇Springconfigurationfile,表示我們希望將Hibernate托管給Spring進行管理,這是將Hibernate與Spring進行整合的基礎(chǔ)。然后點擊Next在出現(xiàn)的對話框中選擇ExistingSpringconfigurationfile。因為我們已經(jīng)添加了Spring的配置文件,所以這里選擇的是已存在的配置文件。MyEclipse會自動找到存在的那個文件。然后在SessionFactoryID中輸入Hibernate的SessionFactory在Spring配置文件中的BeanID的名字,這里我們輸入sessionFactory即可。然后點擊Next在出現(xiàn)的對話框中的BeanId里面輸入數(shù)據(jù)源在Spring中的BeanID的名字,這里我們輸入dataSource。然后在DBDriver里面選擇我們剛剛配置好的ssh,MyEclipse會將其余的信息自動填寫到表格里面。然后點擊Next在出現(xiàn)的對話框中取消CreateSessionFactoryclass。點擊Finish即可。此時MyEclipse會自動打開Spring的配置文件,文件內(nèi)容為:此時,切換到MyEclipseDataBaseExplorer視圖,右鍵打開數(shù)據(jù)庫連接,在需要使用的數(shù)據(jù)表格上面點擊右鍵,選擇HibernateReverseEngineering。這里我們使用剛剛建立在test數(shù)據(jù)庫中添加的user表。在打開的對話框中修改Javasrcfolder為我們建立的/ssh/src,這里需要選擇到src文件夾,并且需要填寫Javapackage,這是MyEclipse生成的類所在的包,我們將其取名為user。然后選擇JavaDataObject,建立POJO類。然后選擇JavaDataAccessObject。其中,POJO類是數(shù)據(jù)庫表格所對應(yīng)的Java類。JDO類是MyEclipse自動生成的對數(shù)據(jù)庫的一些操作。這里會封裝一些常用的操作,簡化我們的編寫。填寫完成后點擊Next。在出現(xiàn)的對話框中選擇IDGenerator為native,然后點擊Finish即可。此時ssh項目的目錄結(jié)構(gòu)如下所示。其中的User.Java是MyEclipse生成的使用面向?qū)ο蟮腏ava語言對數(shù)據(jù)庫表格進行的抽象,User.hbm.xml是將數(shù)據(jù)庫表格中的字段和POJO類的屬性進行映射的定義,UserDAO.java封裝了一些MyEclipse自動生成的對數(shù)據(jù)庫的操作。這時我們修改一下文件目錄,使之更好的組織。我們建立一個dao包,將DAO類與POJO類分開。然后我們在struts包下面建立action和form包,用來管理Struts的Action和Form。為了將實現(xiàn)與接口進行解耦。我們建議在dao包下面添加接口,然后建立dao.impl包,將實際的DAO類放在這里。DAO類是直接與數(shù)據(jù)庫打交道的類,為了對業(yè)務(wù)邏輯進行封裝,我們將業(yè)務(wù)全部寫在service類里面,和dao一樣,我們先建立service包,里面添加業(yè)務(wù)接口,具體的實現(xiàn)放在service.impl里面。將UserDAO.java移動到dao的impl包下面,并在dao包下建立接口IUserDAO內(nèi)容為:在service中建立接口IUserService.java,在service中impl中建立UserService.java此時的整體工程結(jié)構(gòu)為:此時的applicationContext內(nèi)容需要配置bean內(nèi)容為:5.整合Struts和SpringStruts和Spring整合方式其核心是讓Struts能夠訪問到交給Spring進行托管的類,這個我在網(wǎng)上看到了一個方式,自我認為很好,因此只要我們可以讓Struts從Spring獲得需要的類就可以了。為了達到這個目標,我們創(chuàng)建一個類BaseAction為了讓W(xué)eb容器能夠初始化Spring,我們需要修改web.xml文件,增加以下內(nèi)容6.測試通過上面的配置,我們已經(jīng)能夠讓這三個框架來協(xié)同作戰(zhàn)了,讓我們現(xiàn)在來測試一下。首先創(chuàng)建基于Struts的JSP頁面。打開WEB-INF下面的struts-config.xml,單擊右鍵,選擇New->Form,ActionandJSP。在彈出的對話框中添加Usercase,然后點擊Add生成Properties代碼。這會由MyEclipse自動生成相應(yīng)的Form代碼。輸入完成后選擇JSP選項卡,選上CreateJSPform,修改路徑,然后點擊Next。在出現(xiàn)的對話框中修改Path,將Superclass更改為前面定義的BaseAction,然后將InputSource修改為自己需要的路徑。完成后Finish即可。然后在struts-config.xml點擊右鍵,選擇New->Forward,準備創(chuàng)建一個ActionForward。在彈出的對話框中,選擇LocalActionForward,通過Browser填寫ActionPath,然后填寫Name和Path,完成后點擊Finish即可。在LoginAction中添加如下代碼login.jsp內(nèi)容Ok,這時我們可以啟動Tomcat進行查看頁面了7.異常處理上面的工作完成以后理論上應(yīng)該可用,但是當(dāng)你運行的事后卻發(fā)現(xiàn)會有一個非常詭異的異常出現(xiàn)這個問題本來面目是這樣,由于MyEclipse給我們做的事情太全面了,全面到spring和hibernate的包都是重復(fù)引用的。其解決辦法就是干掉多余的包,在Tomcat5.5\webapps\ssh\WEB-INF\lib下的asm-2.2.3.jar就可以了,在重啟Tomcat我們看看我們干了這么長時間的成果吧真令人失望又失敗了……有如下異常。忘了加入bean的初始化,在applicationContext.xml中加入如下內(nèi)容就可以了歷經(jīng)千難萬阻,我們終于看到了一個想看的巨破巨簡陋的界面,就到這里吧,估計大家要瘋了。五、結(jié)果分析與總結(jié)好了這就是我這位菜鳥完整記錄的myeclipse搭建SSH詳細講解了,中間肯定會出現(xiàn)解釋錯誤,我也會要更加深入地學(xué)習(xí)。三個框架學(xué)完了,集成也搞定了,下面就來做下總結(jié)。想了好幾天了對于ssh框架總覺的還是有什么地方不太對頭。這三個框架對我來說,感覺最感興趣的還是spring,有時間一定研究下spring的AOP和IOC,相信隨著不斷實踐能夠更加清楚的認識其中的奧妙,并能有更加正確的認識。簡單說下就是:
*struts找spring就是在struts核心xml中配一個plugin作為連接去找spring的xml
*spring則是在自己xml中配置sessonFactory中的屬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度蔬菜大棚承包與人才培養(yǎng)合同范本3篇
- 《審美與批判-論王德威的現(xiàn)當(dāng)代文學(xué)批評》
- 2024版文化藝術(shù)作品授權(quán)使用合同3篇
- 《環(huán)氧大豆油改性聚天冬氨酸酯聚脲研究》
- 2024年電商協(xié)議法實際應(yīng)用指南版B版
- 2025年中國國際電路租賃行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報告
- 金融市場學(xué)復(fù)習(xí)測試題
- 計算機比賽復(fù)習(xí)測試題
- 2025年度物業(yè)托管及智慧家居服務(wù)合同3篇
- 《基于知識結(jié)構(gòu)演化分析的創(chuàng)業(yè)導(dǎo)向?qū)?chuàng)業(yè)績效的影響機制研究》
- 2023年公路養(yǎng)護工知識考試題庫附答案
- 高警示(高危)藥品考試試題與答案
- 42山東省棗莊市薛城區(qū)2023-2024學(xué)年七年級上學(xué)期期末考試生物試題
- 部編版六年級語文下冊第三單元大單元教學(xué)設(shè)計
- 成人教育培訓(xùn)方案
- 食品安全企業(yè)標準模板
- 全麻病人蘇醒期躁動的原因及處理課件
- VTE評估及護理預(yù)防
- 2024全新誠信考試課件
- 展望未來4-單詞表
- 教師培訓(xùn)的教師專業(yè)知識與技能
評論
0/150
提交評論