版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、struts,hibernate,spring集成開發(fā)示例Q:B!VbEi7DPGuest一個網(wǎng)站登錄的例子。MyPlaces(自我空間 自由展現(xiàn))6d-nnE h工具:jdk1.5、eclipse3.2、myeclipse5.0GA、mysql5.0及其JDBC驅(qū)動、tomcat5.5下面是具體操作步驟:MyPlaces(自我空間 自由展現(xiàn)) l8lBR R7O!w預(yù)備工作:1、用mysql創(chuàng)建一個test數(shù)據(jù)庫,再創(chuàng)建一個user表,再創(chuàng)建兩個字段username和password。腳本如下-m1i qE!:V_*iGuest2X753q2OaGuestDROP DATABASE IF E
2、XISTS test;ky wnk DGuestCREATE DATABASE test J9jIbI6?yd#GuestUSE test;,oBCi2oxD!R;hGuestMyPlaces(自我空間 自由展現(xiàn))k f5/XqEuJwCREATE TABLE user ($rA vq2n4f,gfGuestid int(11) NOT NULL auto_increment,MyPlaces(自我空間 自由展現(xiàn))gO:j p$W2l$cGusername varchar(30) NOT NULL default ,MyPlaces(自我空間 自由展現(xiàn))P#aG.G7wWZ.cpassword
3、 varchar(30) default ,xY oG&UAGuestPRIMARY KEY (id)MyPlaces(自我空間 自由展現(xiàn))y4X8T)KvWK(q.l8) ENGINE=InnoDB DEFAULT CHARSET=gb2312;在表中輸入一條記錄供測試用:username=admin, password=123456MyPlaces(自我空間 自由展現(xiàn)) _ dd7NvN(s2、打開myeclipse的database explore透視圖MyPlaces(自我空間 自由展現(xiàn))VEHcY DMyPlaces(自我空間 自由展現(xiàn))r%IJx0,y b0Ya9RGuestB_0
4、 o#KKk.bGuestM c n#o9guz?Guest右鍵單擊左側(cè)的空白區(qū)域 ,點擊 new 按鈕7kOu3A? i UrGuestMyPlaces(自我空間 自由展現(xiàn))X*X7sekDTW9|YG+GGuest(Qjcfy*x%NwGuest單擊“configure database driver”來配置數(shù)據(jù)庫的驅(qū)動。完成以后,做如下操作::LB!D9EI8IGuestMLc Sv#vGuestMyPlaces(自我空間 自由展現(xiàn))BGQS*n.e3u4Z3j,Ug;c!f|#I;AGuest測試數(shù)據(jù)庫配置是否成功。準(zhǔn)備工作完畢。6x+meW8Zf%IGuestMyPlaces(自我空
5、間 自由展現(xiàn))N b4I mMyPlaces(自我空間 自由展現(xiàn))!x!O f;j,1pxQ,SMyPlaces(自我空間 自由展現(xiàn))s b9A2N8O p(B:gPxMyPlaces(自我空間 自由展現(xiàn))K$3Etb)ue1p1 新建一個myeclipse的web項目testSpringMyPlaces(自我空間 自由展現(xiàn))+3s$yo6A2k,kMyPlaces(自我空間 自由展現(xiàn))&qU)g9t(y YMyPlaces(自我空間 自由展現(xiàn))V!y3 Jn1r_(Lo7Lj3w#?k,Y YGuestMyPlaces(自我空間 自由展現(xiàn))ogL SSv2 引入Spring包DyZ2u_6c
6、 Guest右鍵項目名:8axL/j(AGuestMyPlaces(自我空間 自由展現(xiàn)) u5I(Ag3I (dMyPlaces(自我空間 自由展現(xiàn))Uhx*Z4C9E.xdBs5nMGuest.eL)rI?g g:yGuestIh%c00M0f)MGuestYba6r(AKzGuestMyPlaces(自我空間 自由展現(xiàn))t*pL)v-_|;T n注意:這里為了省得以后再添加spring的相關(guān)包,所以一次性的選中了所有的包。選中MyPlaces(自我空間 自由展現(xiàn))cTC:bGCopy選項,它會把這些包拷貝到/WebRoot/WEB-INF/lib目錄下,方便以后的實際部署。其余選下一步,完
7、成。MyPlaces(自我空間 自由展現(xiàn))o2b_c3 添加hibernate包MyPlaces(自我空間 自由展現(xiàn))7C Yxr_o$m4t;V*NPGuestMyPlaces(自我空間 自由展現(xiàn))WLxuQG注:m.QA.Ky-qGuest系統(tǒng)會檢測到該工程已經(jīng)添加了Spring包,選擇使用Spring的配置文件yCsqkx/OGuestMyPlaces(自我空間 自由展現(xiàn))XI%?&Oh3o*f4? gJ A.C9RGuest*fV C y8Guest點擊 next:2M1s1$|7yz QYE mGuest$n ui S H;a#AAhMGuestMyPlaces(自我空間 自由展現(xiàn))
8、$Rx Qyr-J;UA+3l,ZaWGuest點擊 nextW7I6H|&t$Q|pt.D*GGuestMyPlaces(自我空間 自由展現(xiàn))Cd5L y%Z(LMyPlaces(自我空間 自由展現(xiàn))G2*TB,o4|*n ag f9QGuest點擊 nextu-B0qM;ba2lGuestI(vn*?*W1| x4MGuestMyPlaces(自我空間 自由展現(xiàn)):blU7qb N MyPlaces(自我空間 自由展現(xiàn))1k:y2nRS#ba2+G最后點擊Finish按鈕即可。R6T2mWe3k$w%mGuest4、切換到database explore視圖,右鍵 點擊 user 表的“H
9、ibrnate Reverse Engineering”MyPlaces(自我空間 自由展現(xiàn))9lk2V)p#j5t.s*YwMyPlaces(自我空間 自由展現(xiàn))desefe,K&N&U/r*qeV+fGuest3W4ZpLcZ/Guest彈出如下窗口MyPlaces(自我空間 自由展現(xiàn)).f?#_!F6B-pMyPlaces(自我空間 自由展現(xiàn))7p$WBg lEMyPlaces(自我空間 自由展現(xiàn))1R3R,jbT u+G(V?NA&U b!sGuest點擊 “next”MyPlaces(自我空間 自由展現(xiàn))X+j% F8C9TMyPlaces(自我空間 自由展現(xiàn))+3G)F(iZ/s&
10、Ft3qkaGuest!xk j:y?&W;pGuest再單擊finish。MyPlaces(自我空間 自由展現(xiàn))3u,TX$pgf%ph FE在包視圖中 可以看到 src下多了一個名為vo的package以及該包下的四個文件MyPlaces(自我空間 自由展現(xiàn))Op.aOaMQMyPlaces(自我空間 自由展現(xiàn))?TYn1EH i4D(sSFAy&uI*tGuestZw,OM#w;C*gGuest為了更加直觀地顯示分層,另建一個名為dao的package,并把UserDAO.java移到dao中,-ueQ,HGuestMyPlaces(自我空間 自由展現(xiàn))Q*FG vOSFFZJ k;y
11、U,V GGuest&brBD3t/JjGuest同時注意在applicationContext.xml中把對UserDAO的引用部分也作相應(yīng)修改。另外,在自動生成的映射文件中,把 這行的catalog=”test”刪除,否則會出現(xiàn)sql異常。MyPlaces(自我空間 自由展現(xiàn)) fI2b;s pZF5、建立業(yè)務(wù)邏輯層代碼6p#A$?H KGuest新建一個名為service的包,再在里面建立一個Service類,代碼如下MyPlaces(自我空間 自由展現(xiàn)) sug,O ?8spackage service;MyPlaces(自我空間 自由展現(xiàn))1N4Jx q+J6q+OMyPlaces(
12、自我空間 自由展現(xiàn))l-07D4D& D9QlyQimport java.util.List;:BN cb_&Guest-sGe(g w pGuestimport vo.User;MyPlaces(自我空間 自由展現(xiàn))8r,j k syimport dao.UserDAO;MyPlaces(自我空間 自由展現(xiàn)),e,K,Z&X0O3r qo|0WtC,j&uKeGuestpublic class Service MyPlaces(自我空間 自由展現(xiàn))jm T S|d1WmUe4M,a9qsGuest private UserDAO userDao;T$_v3cr zGuestZ9U7p;OR
13、B N F)w+ZGuest public UserDAO getUserDao() _6E V2C/S_vgGuest return userDao;MyPlaces(自我空間 自由展現(xiàn))g(zfSaB )y2zJD7AHNGuestITi I NH.b h&Guest public void setUserDao(UserDAO userDao) MyPlaces(自我空間 自由展現(xiàn))LY4b Ul this.userDao = userDao;V;M!iX%yGuest MyPlaces(自我空間 自由展現(xiàn))6?x8Q#U+W P ?;qMyPlaces(自我空間 自由展現(xiàn))E1j$:?
14、0X8 public boolean isValid(User user) /判斷用戶是否合法MyPlaces(自我空間 自由展現(xiàn)):gC-n,5Qk0s$keRX-XGuest List result = userDao.findByExample(user);/L1vCq d0RVDGuestVt%c.s-K+FGuest if (result.size() 0)MyPlaces(自我空間 自由展現(xiàn))4T V3 return true;L G8z8y0D!iIGuest elseMyPlaces(自我空間 自由展現(xiàn))/gWQ3v2ag!a return false;f6H/M|7EX.A8
15、EiGuestMyPlaces(自我空間 自由展現(xiàn))A!/e8u,Ld MyPlaces(自我空間 自由展現(xiàn))L!OX!b,kMyPlaces(自我空間 自由展現(xiàn))E,.SWMyPlaces(自我空間 自由展現(xiàn))pz:v8T*_Q同時在applicationContext.xml中添加如下配置2l$f9z n4i4G._6E#N wGuestMyPlaces(自我空間 自由展現(xiàn))7A)uOQd- L7i3r7 y MyPlaces(自我空間 自由展現(xiàn))*JNT_S8pk fdd TMlGuest 1_p W+xGuest MyPlaces(自我空間 自由展現(xiàn))h X:p$TpZ5E%6配置UI
16、層8FW)J$8Guest添加struts包,方法同添加spring一樣JSBw D M$m-W#GuestMyPlaces(自我空間 自由展現(xiàn))(XX s&B|SwMyPlaces(自我空間 自由展現(xiàn))3F_r_ t+yg9lkFV.RH tMFGuest配置struts-config.xml文件,在空白區(qū)域右鍵單擊 new 一個 action ,actionForm ,jspMyPlaces(自我空間 自由展現(xiàn))&?m5nlg:je!WMyPlaces(自我空間 自由展現(xiàn))$U.wetxMyPlaces(自我空間 自由展現(xiàn))GoX filG,Yh6x ?8y)rhGuest ct,yGue
17、stMyPlaces(自我空間 自由展現(xiàn))CXULpx8jNMyPlaces(自我空間 自由展現(xiàn))%rx)d3UB5w7X z7CW;CdDrGuestMyPlaces(自我空間 自由展現(xiàn))pG;b Ue4E*b)KMyPlaces(自我空間 自由展現(xiàn)).cO;q-l B r FMyPlaces(自我空間 自由展現(xiàn))N#yF atUb9?下一步,在出現(xiàn)的畫面中,9hzs/KyA5:FGuest對forward作設(shè)置:增加succeed轉(zhuǎn)到welcome.jsp, fail轉(zhuǎn)到login.jspMyPlaces(自我空間 自由展現(xiàn))c Y7g;N)!uC xEipG0P&Guest在WebRoo
18、t目錄下建立一個welcome.jsp文件,顯示用戶登錄成功后的歡迎信息。MyPlaces(自我空間 自由展現(xiàn))#TfEF)qUnm2g8s7、把struts和spring連接起來*O1R,$TBRd*q_Guest77 7.1、修改struts-config.xml,注意紅色字體部分:MyPlaces(自我空間 自由展現(xiàn))W4k2Ly9d xczaMyPlaces(自我空間 自由展現(xiàn)) g/wgV3ye+Q ouj%A(hGuest c_._.OD7rcGuestW|8jXWGuestMyPlaces(自我空間 自由展現(xiàn))5bK*YT dN再在strut-config.xml中添加如下代碼:
19、?Ci:o1nGuestMyPlaces(自我空間 自由展現(xiàn))9?.B/l%sIf jU1wyO;U4AEGuestMyPlaces(自我空間 自由展現(xiàn))#*|RS(npA7.2、修改applicationContext,增加以下內(nèi)容:MyPlaces(自我空間 自由展現(xiàn))QWHsA*qPi6i,sg BGuest MyPlaces(自我空間 自由展現(xiàn))B&S5R1E7uH$ $ T z)cnD3oGuest MyPlaces(自我空間 自由展現(xiàn))#NOEt KMyPlaces(自我空間 自由展現(xiàn))4He7x7vw zC7.3、修改LoginAction.java部分代碼,增加一個servic
20、e變量,以及其 get/set方法(主要用于Spring IOC)。代碼如下:b.SXN:_7Q8EGuestCr e2Qo/FOGuestpackage web.action;9W*B(fk AGuestMyPlaces(自我空間 自由展現(xiàn))VsGt9 D simport javax.servlet.http.HttpServletRequest;0RUY PGuestimport javax.servlet.http.HttpServletResponse;kIXd+QR VGuestimport org.apache.struts.action.Action;, U|t8ehGuesti
21、mport org.apache.struts.action.ActionForm;MyPlaces(自我空間 自由展現(xiàn))T3U(p)ivm Rimport org.apache.struts.action.ActionForward;q9n2Ew6q_:Q/ZGuestimport org.apache.struts.action.ActionMapping;(efG7h _Guestimport web.form.LoginForm;MyPlaces(自我空間 自由展現(xiàn))nn no(uH simport service.Service;MyPlaces(自我空間 自由展現(xiàn))F9ZS4;A0
22、import vo.User;MyPlaces(自我空間 自由展現(xiàn))Tn2f(l|2r3yB p bGuestpublic class LoginAction extends Action :S#C*k7WG i;fBKGuest Z.x|-nRGuestMyPlaces(自我空間 自由展現(xiàn))%h*eK#hi(E private Service service;LB 9QI e6vGuestMyPlaces(自我空間 自由展現(xiàn))&Sq&-LKrPaY*t public void setService(Service service) MyPlaces(自我空間 自由展現(xiàn))k(5v2r%7t t
23、his.service = service;MyPlaces(自我空間 自由展現(xiàn))LgX2L:um MyPlaces(自我空間 自由展現(xiàn))#t2h4j!DGW N*MyPlaces(自我空間 自由展現(xiàn))%c_ObZ8Q Af y public Service getService() 3v;b L0E6O2Bp1W,VGuest return service;MyPlaces(自我空間 自由展現(xiàn))Z,n8I:H9q(Y MyPlaces(自我空間 自由展現(xiàn))7kd;ih+w,r*n w5G:L7M)h3t YGuest public ActionForward execute(ActionMapping mapping, ActionForm form,ITW:pw6y.xGue
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川酒業(yè)茶業(yè)投資集團(tuán)有限公司2026年公開選聘下屬企業(yè)高管的備考題庫附答案詳解
- 2026年漯河市城市管理局人才引進(jìn)備考題庫完整參考答案詳解
- 2026年來賓市合山生態(tài)環(huán)境局招聘備考題庫含答案詳解
- 東南大學(xué)附屬中大醫(yī)院2026年招聘備考題庫及參考答案詳解
- 中共屏山縣委辦公室關(guān)于2025年第二次公開招聘編外聘用人員的備考題庫及一套答案詳解
- 會議會務(wù)籌備與場地布置制度
- 2026年浙江大學(xué)國際教育學(xué)院招聘備考題庫附答案詳解
- 大冶公安2026年招聘紀(jì)委監(jiān)委留置場所看護(hù)人員備考題庫及答案詳解1套
- 2026年黑龍江工商學(xué)院招聘備考題庫及參考答案詳解一套
- 中學(xué)學(xué)生社團(tuán)活動交流合作制度
- 2025北京陳經(jīng)綸中學(xué)高一9月月考物理(貫通班)試題含答案
- 中國鋁礦行業(yè)現(xiàn)狀分析報告
- 物業(yè)人員消防安全培訓(xùn)課件
- 2025年大學(xué)大四(預(yù)防醫(yī)學(xué))環(huán)境衛(wèi)生學(xué)階段測試試題及答案
- 產(chǎn)房護(hù)士長年度工作業(yè)績總結(jié)與展望
- 2025海康威視安檢機(jī)用戶手冊
- 學(xué)堂在線 雨課堂 學(xué)堂云 智能時代下的創(chuàng)新創(chuàng)業(yè)實踐 期末考試答案
- 移動電源規(guī)格書
- 七年級下冊數(shù)學(xué)期末考試試卷共十套
- 餐飲部物品清單
- 康柏西普或雷珠單抗治療近視性脈絡(luò)膜新生血管療效及注射次數(shù)比較
評論
0/150
提交評論