




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、這是圖書書管理系系統的課課后作業業 增刪查查改 BBaseeDaoo jsp提提交到sservvlettBaseeDaoo.jaava 數據庫庫操作通通用類packkagee coomboook.daoo;impoort javva.ssql.*;impoort comm.daao.uutill.CoonfiigMaanagger;impoort commmonn.*;publlic claass BasseDaao /數數據庫操操作通用用類prootecctedd Coonneectiion connn;/*定義靜靜態變量量接收加加載驅動動*/priivatte sstattic Strri
2、ngg drriveer;/*定義靜靜態變量量得到連連接*/priivatte sstattic Strringg urrl;priivatte sstattic Strringg usserNNamee;/數據庫庫用戶名名priivatte sstattic Strringg paasswwordd;/數據庫庫密碼/靜靜態的CConnnecttionn 對象象 staaticcdrriveer=CConffigMManaagerr.geetInnstaancee().gettStrringg(ddrivver);urrl=CConffigMManaagerr.geetInnstaancee(
3、).gettStrringg(uurl);usserNNamee=CoonfiigMaanagger.gettInsstannce().ggetSStriing(usserNNamee);paasswwordd=CoonfiigMaanagger.gettInsstannce().ggetSStriing(paasswwordd);prootecctedd ReesulltSeet rrs;prootecctedd Sttateemennt sstmtt;prootecctedd PrrepaareddStaatemmentt pss;/獲獲取鏈接接的方法法pubblicc boooleean
4、 gettConnnecctioon()iff(coonn!=nuull)/判斷連連接對象象是否為為空 rretuurn fallse;trry CClasss.fforNNamee(drriveer);/加加載驅動動/根據據urll,用戶戶名和密密碼獲取取鏈接 獲取的的是coonneectiion對對象cconnn=DrriveerMaanagger.gettConnnecctioon(uurl,useerNaame,passswoord); cattch (CllasssNottFouundEExceeptiion e) ee.prrinttStaackTTracce(); cattch
5、(SQQLExxcepptioon ee) ee.prrinttStaackTTracce();reeturrn ttruee;/增增刪改的的方法 子類類可以調調用這個個方法 幫助執執行sqql語句句pubblicc innt eexeccutee(Sttrinng ssql,Objjecttpparaams)trry pps=cconnn.prrepaareSStattemeent(sqll);/預編編譯傳過過來的ssql語語句iif(pparaams!=nuull)/如果子子類傳過過來的參參數不為為空的話話 遍歷循循環 判斷使使參數兼兼容forr (iint i = 0; i pparaa
6、ms.lenngthh; ii+) /遍歷歷參數數數組Objjectt obbj=pparaamsi;/參參數是OObjeect類類型的所所以Obbjecct先接接收 然后判判斷if(objj innstaanceeof Strringg)ps.settStrringg(ii+1), (Strringg)obbj);/如如果該參參數是SStriing類類型的 就強轉轉設置 數組的的的該位位置元素素是Sttrinng類型型 eelsee iff(obbj iinsttancceoff Inntegger)ps.settIntt(ii+1), (Inttegeer)oobj);ellse if(o
7、bjj=nnulll)/這樣樣判斷一一下因為為有圖片片傳入 判斷不不了類型型objj=;/賦值為為空ps.settStrringg(ii+1), (Strringg)obbj);/默默認設置置為Sttrinng類型型/執執行sqqliint couunt=ps.exeecutteUppdatte();rretuurn couunt; cattch (SQQLExxcepptioon ee) ee.prrinttStaackTTracce();rretuurn 0;/獲獲取結果果集的方方法pubblicc ReesulltSeet eexcuuteSSql(Strringg sqql,OObje
8、ectpaaramms)trry rrs=pps.eexeccuteeQueery(sqll);ffor (innt ii = 0; i paaramms.llenggth; i+) if(parramssi innstaanceeof Strringg)ps.settStrringg(ii+1), (Strringg)paarammsii);ellse if(parramssi innstaanceeof Inttegeer)ps.settIntt(ii+1), (Inttegeer)pparaamsi); cattch (SQQLExxcepptioon ee) ee.prrinttSta
9、ackTTracce(); reeturrn rrs;pubblicc boooleean clooseRResoourcce()iff(rss!=nnulll)ttry rs.cloose(); caatchh (SSQLEExceeptiion e) e.pprinntSttackkTraace();retturnn faalsee;iff(pss!=nnulll)ttry ps.cloose(); caatchh (SSQLEExceeptiion e) e.pprinntSttackkTraace();retturnn faalsee;iff(coonn!=nuull)ttry con
10、nn.cclosse();connn=nnulll; caatchh (SSQLEExceeptiion e) e.pprinntSttackkTraace();retturnn faalsee;reeturrn ttruee;/方方法重載載 如果需需要關閉閉幾個資資源就選選擇哪個個方法pubblicc vooid clooseRResoourcce(CConnnecttionn coonn)iff(coonn=nuull)ttry connn.cclosse(); caatchh (SSQLEExceeptiion e) e.pprinntSttackkTraace();Dao層層接口 -B
11、oookDDao.javvapackkagee coomboook.daoo;impoort javva.uutill.Liist;impoort commboook.ddto.Boook;impoort commmonn.dtto.PPageeDtoo;publlic intterffacee BoookDDao pubblicc Liist gettBoooksLListt(PaageDDto paggedtto)tthroows Exccepttionn;/獲得圖圖書集合合的方法法-所有有信息/增增加一本本圖書信信息 pubblicc innt iinseertBBookks(BBook
12、k boook)thrrowss Exxcepptioon;/根根據圖書書編號刪刪除新聞聞pubblicc innt ddeleete(intt biid)tthroows Exccepttionn;/修修改信息息 傳入的的是圖書書對象pubblicc innt uupdaate(Boook bbookk)thhrowws EExceeptiion;/根根據圖書書編號查查找該圖圖書/根根據圖書書編號查查找該圖圖書pubblicc Boook queery(intt biid) thrrowss Exxcepptioon;pubblicc Liist queery(Strringg bbookk
13、namme) thrrowss Exxcepptioon;/獲獲得總記記錄的方方法pubblicc innt ggetAAllRRowCCounnt() thhrowws EExceeptiion;BookkImppl.jjavaa 實現現類 實現了了接口 繼承了了BasseDaao.jjavaapackkagee coomboook.daoo.immpl;impoort javva.ssql.PreeparredSStattemeent;impoort javva.ssql.RessulttSett;impoort javva.ssql.Staatemmentt;impoort javva.
14、uutill.ArrrayyLisst;impoort javva.uutill.Liist;impoort commboook.ddao.BasseDaao;impoort commboook.ddao.BoookDaao;impoort commboook.ddto.Boook;impoort commmonn.dtto.PPageeDtoo;publlic claass BoookImmpl exttendds BBaseeDaoo immpleemennts BoookDaao/11、查詢詢所有信信息 返回回一個 帶有泛泛型的集集合puubliic LListt geetNeewsLL
15、istt() thrrowss Exxcepptioon /定定義一個個集合 集合是是對應的的要返回回出去的的 泛型集集合Lisst bbookkLisst=nnew ArrrayLListt(); suuperr.geetCoonneectiion();/獲得得連接 通過父父類的方方法 coonn.preeparreSttateemennt(sellectt * froom nnewss); rss=pss.exxecuuteQQuerry();/返回結結果集whiile(rs.nexxt()/循環環結果集集中的數數據判斷斷結果集集中是否否還有下下一個內內容Boook bbookk=neew
16、 BBookk();/創創建一個個實例對對象/把結結果集中中的圖書書信息封封裝到圖圖書對象象中去boook.ssetBBid(rs.gettIntt(bbid);boook.ssetBBookkNamme(rrs.ggetSStriing(boookNNamee);boook.ssetIImagge(rrs.ggetSStriing(immagee);boook.ssetPPricce(DDoubble.parrseDDoubble(rs.gettStrringg(bb_prricee);boook.ssetSStocck(rrs.ggetIInt(sttockk);/將圖圖書對象象添加到到集
17、合中中去 因為集集合是帶帶有圖書書泛型所所以不需需要強轉轉 直接添添加圖書書對象boookLiist.addd(boook);/調用用父類方方法釋放放資源supper.clooseRResoourcce();rretuurn boookLiist;/獲獲得數據據庫中所所有的圖圖書信息息pubblicc Liist gettBoooksLListt(PaageDDto paggedtto) thrrowss Exxcepptioon /新建一一個帶有有boook泛型型的集合合Liist boookLiist=neww ArrrayyLisst();suuperr.geetCoonneectiio
18、n();/第一一步獲得得與數據據庫的連連接innt sstarrt=ppageedtoo.geetSttarttInddex();/分頁頁查詢開開始innt eend =paageddto.gettEnddInddex();/分頁頁查詢結結束/寫分頁頁查詢的的sqll語句Sttrinng ssql=seelecct * frrom (seelecct bb.*,rowwnumm rnn frrom boooks b) wheere rn=? andd rnn?;pss=coonn.preeparreSttateemennt(ssql);/預編譯譯sqll語句pss.seetInnt(11,st
19、tartt);/設置置第一個個參數的的值pss.seetInnt(22,ennd);/設設置第二二個參數數的值/執行查查詢語句句rss=pss.exxecuuteQQuerry();/循環結結果集的的數據whhilee(rss.neext()/實例例化一個個圖書的的對象BBookk boook =neew BBookk();/把結結果集中中的圖書書信息封封裝到圖圖書對象象中去bbookk.seetBiid(rrs.ggetIInt(biid);bbookk.seetBoookNNamee(rss.geetSttrinng(boookNaame);bbookk.seetImmagee(rss.g
20、eetSttrinng(imaage);bbookk.seetPrricee(Dooublle.pparsseDooublle(rrs.ggetSStriing(b_priice);bbookk.seetSttockk(rss.geetInnt(stoock);/將圖圖書對象象添加到到集合中中去 因為集集合是帶帶有圖書書泛型所所以不需需要強轉轉 直接添添加圖書書對象bbookkLisst.aadd(boook);suuperr.clloseeRessourrce();reeturrn bbookkLisst;/向向表中插插入新書書的方法法 傳入的的是圖書書對象 返回影影響的行行數pubblic
21、c innt iinseertBBookks(BBookk boook) thhrowws EExceeptiion suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接/新建一一個參數數的數組組 填充占占位符Obbjecct pparaams=nnew Objjectt5;paaramms00=bbookk.geetBiid();paaramms11=bbookk.geetBoookNNamee();paaramms22=bbookk.geetPrricee();paaramms33=bbookk.geetImmagee();paaramms44=bbo
22、okk.geetSttockk();Sttrinng ssql=innserrt iintoo boook valluess(?,?,?,?,?);/預編譯譯sqll語句pss=coonn.preeparreSttateemennt(ssql);/執行更更新數據據庫的ssql語語句操作作innt ccounnt=ssupeer.eexeccutee(sqql, parramss);suuperr.clloseeRessourrce();reeturrn ccounnt;/刪刪除圖書書的方法法 根據穿穿過來的的圖書iidpubblicc innt ddeleete(intt biid) thrr
23、owss Exxcepptioon suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接/填充占占位符Obbjecct pparaams=nnew Objjectt1;paaramms00=bbid;Sttrinng ssql=deelette ffromm boook wheere bidd=?;/刪除的的sqll語句/預編譯譯sqll語句pss=coonn.preeparreSttateemennt(ssql);/調用父父類的執執行sqqlinnt ccounnt=ssupeer.eexeccutee(sqql, parramss);/釋放資資源suu
24、perr.clloseeRessourrce();/返回受受影響的的行數reeturrn ccounnt;/修修改圖書書的方法法 傳入圖圖書的對對象pubblicc innt uupdaate(Boook bbookk) tthroows Exccepttionn suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接/填充占占位符Obbjecct pparaams=nnew Objjectt4;paaramms00=bbookk.geetBoookNNamee();paaramms11=bbookk.geetPrricee();paaramms22=bbo
25、okk.geetImmagee();paaramms33=bbookk.geetSttockk();Sttrinng ssql=uppdatte bbookk seet bbookknamme=?,b_priice=?,iimagge=?,sttockk=?;pss=coonn.preeparreSttateemennt(ssql);innt ccounnt=ssupeer.eexeccutee(sqql, parramss);suuperr.clloseeRessourrce();reeturrn ccounnt;pubblicc Boook queery(intt biid) thrrow
26、ss Exxcepptioonsuuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接Boook boook=nnew Boook();/填充占占位符Obbjecct pparaams=nnew Objjectt1;paaramms00=bbid;Sttrinng ssql=seelecct * frrom boooks wheere bidd=?;coonn.preeparreSttateemennt(ssql);rss=suuperr.exxcutteSqql(ssql, paaramms);iff(rss.neext()/把結結果集中中的圖書書信息封封裝
27、到圖圖書對象象中去bbookk.seetBiid(rrs.ggetIInt(biid);bbookk.seetBoookNNamee(rss.geetSttrinng(boookNaame);bbookk.seetImmagee(rss.geetSttrinng(imaage);bbookk.seetPrricee(rss.geetDooublle(b_ppricce);bbookk.seetSttockk(rss.geetInnt(stoock);suuperr.clloseeRessourrce();reeturrn bbookk;pubblicc Liist queery(Strring
28、g bbookknamme) thrrowss Exxcepptioon suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接/新建一一個帶有有boook泛型型的集合合Liist boookLiist=neww ArrrayyLisst();/填充占占位符/Objjectt paaramms=neew OObjeect1;/parramss0=boooknnamee;Sttrinng ssql=seelecct * frrom boooks wheere boooknaame likke ?;pss=coonn.preeparreSttateemennt(
29、ssql);pss.seetSttrinng(11, %+boooknaame+%);/rs=supper.exccuteeSqll(sqql, parramss);rss=pss.exxecuuteQQuerry();whhilee(rss.neext()BBookk boook=neww Boook();/把結結果集中中的圖書書信息封封裝到圖圖書對象象中去bbookk.seetBiid(rrs.ggetIInt(biid);bbookk.seetBoookNNamee(rss.geetSttrinng(boookNaame);bbookk.seetImmagee(rss.geetSttri
30、nng(imaage);bbookk.seetPrricee(rss.geetDooublle(b_ppricce);bbookk.seetSttockk(rss.geetInnt(stoock);bbookkLisst.aadd(boook);suuperr.clloseeRessourrce();reeturrn bbookkLisst;pubblicc innt ggetAAllRRowCCounnt() thhrowws EExceeptiion suuperr.geetCoonneectiion();/獲得得連接innt ccounnt=00;/查找到到所有記記錄Sttrinng s
31、sql=seelecct ccounnt(*) ffromm boookss;pss=coonn.preeparreSttateemennt(ssql);/預編譯譯sqll語句rss=pss.exxecuuteQQuerry();/返回一一個結果果集iff(rss.neext()ccounnt=rrs.ggetIInt(1);/獲獲得結果果集的第第一條suuperr.clloseeRessourrce();reeturrn ccounnt;用戶表 UseerInnfoDDao.javva 接口packkagee coomboook.daoo;impoort javva.uutill.Liist
32、;impoort commboook.ddto.Boook;impoort commboook.ddto.UseerInnfo;impoort commmonn.dtto.PPageeDtoo;publlic intterffacee UsserIInfooDaoo /傳傳入一個個用戶的的對象 判斷這這個對象象是否在在數據庫庫中存在在pubblicc innt qquerryObbjecct(UUserrInffo uuserr) tthroows Exccepttionn;/根根據用戶戶名查找找該數據據庫表中中有沒有有重復的的用用戶戶 pubblicc innt qquerry(SStrii
33、ng useerNaame) thhrowws EExceeptiion;/增增加一個個用戶信信息 -傳傳入一個個用戶對對象pubblicc innt iinseertUUserrInffo(UUserrInffo uuserr)thhrowws EExceeptiion;/修修改信息息 傳入的的是用戶戶對象pubblicc innt uupdaate(UseerInnfo useer)tthroows Exccepttionn;UserrInffoDaaoImmpl實實現類packkagee coomboook.daoo.immpl;impoort javva.ssql.SQLLExccep
34、ttionn;impoort javva.uutill.Liist;impoort commboook.ddao.BasseDaao;impoort commboook.ddao.UseerInnfoDDao;impoort commboook.ddto.Boook;impoort commboook.ddto.UseerInnfo;impoort commmonn.dtto.PPageeDtoo;publlic claass UseerInnfoDDaoIImpll exxtennds BasseDaao iimpllemeentss UsserIInfooDaoo /向向用戶表表中添加加一
35、個新新的用戶戶信息pubblicc innt iinseertUUserrInffo(UUserrInffo uuserr) tthroows Exccepttionn suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接/定義數數組 用于填填充占位位符Obbjecct pparaams=nnew Objjectt3;paaramms00=uuserr.geetUsserNNamee();paaramms11=uuserr.geetPaasswwordd();paaramms22=uuserr.geetEmmaill();/定義一一個sqql語句句向表中中
36、插入數數據Sttrinng ssql=innserrt iintoo usserIInfoo vaaluees(?,?,?);/預編譯譯sqll語句/ps=connn.ppreppareeStaatemmentt(sqql);/ps.settStrringg(1, x)/調用父父類的執執行sqql的操操作innt ccounnt=ssupeer.eexeccutee(sqql, parramss);suuperr.clloseeRessourrce();reeturrn ccounnt;pubblicc innt uupdaate(UseerInnfo useer) thrrowss Exxc
37、epptioon reeturrn 00;/傳傳入一個個用戶名名判斷這這個用戶戶名是否否存在 返回一一個查找找的記錄錄pubblicc innt qquerry(SStriing useerNaame) thhrowws EExceeptiion suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接innt ccounnt=00;Sttrinng ssql=seelecct ccounnt(*) ffromm usserIInfoo whheree usserNNamee=?;trry /預編編譯sqqlpps=cconnn.prrepaareSStatt
38、emeent(sqll);/用ps填充充占位符符pps.ssetSStriing(1, useerNaame);rrs=pps.eexeccuteeQueery();/執行行sqll返回一一個結果果集/找到到結果集集的第一一條數據據iif(rrs.nnextt()couunt=rs.gettIntt(1); cattch (SQQLExxcepptioon ee1) ee1.pprinntSttackkTraace();/釋放放資源suuperr.clloseeRessourrce();reeturrn ccounnt;pubblicc innt qquerryObbjecct(UUserrI
39、nffo uuserr) tthroows Exccepttionn suuperr.geetCoonneectiion();/第一一步獲得得與數據據庫的連連接Sttrinng ssql=seelecct ccounnt(*) ffromm usserIInfoo whheree usserNNamee=? andd paasswwordds=?;/預編譯譯sqllpss=coonn.preeparreSttateemennt(ssql);/填充占占位符pss.seetSttrinng(11, uuserr.geetUsserNNamee();pss.seetSttrinng(22, uuse
40、rr.geetPaasswwordd();/執行sqql語句句rss=pss.exxecuuteQQuerry();innt ccounnt=00;/找到結結果集的的第一條條數據iff(rss.neext()ccounnt=rrs.ggetIInt(1);suuperr.clloseeRessourrce();reeturrn ccounnt;數據庫當當中的表表對應的的實體類類 DTTO層packkagee coomboook.dtoo;/*圖書類類*/publlic claass Boook priivatte intt bidd;/圖書書編號priivatte SStriing boook
41、Naame;/圖書書名字priivatte douublee priice;/圖書書價格priivatte SStriing imaage;/圖書書圖片priivatte intt stoock;/庫存存pubblicc intt geetBiid() reeturrn bidd;pubblicc voiid ssetBBid(intt biid) thhis.bidd = bidd;pubblicc Sttrinng ggetBBookkNamme() reeturrn boookNaame;pubblicc voiid ssetBBookkNamme(SStriing boookNaame
42、) thhis.boookNaame = bbookkNamme;pubblicc douublee geetPrricee() reeturrn priice;pubblicc voiid ssetPPricce(ddoubble priice) thhis.priice = ppricce;pubblicc Sttrinng ggetIImagge() reeturrn imaage;pubblicc voiid ssetIImagge(SStriing imaage) thhis.imaage = iimagge;pubblicc intt geetSttockk() reeturrn
43、stoock;pubblicc voiid ssetSStocck(iint stoock) thhis.stoock = sstocck;用戶表的的實體類類packkagee coomboook.dtoo;/*用用戶類*/publlic claass UseerInnfo priivatte SStriing useerNaame;/用戶戶名priivatte SStriing passswoord;/密碼碼priivatte SStriing emaail;/郵箱箱pubblicc Sttrinng ggetUUserrNamme() reeturrn useerNaame;pubblic
44、c voiid ssetUUserrNamme(SStriing useerNaame) thhis.useerNaame = uuserrNamme;pubblicc Sttrinng ggetPPasssworrd() reeturrn passswoord;pubblicc voiid ssetPPasssworrd(SStriing passswoord) thhis.passswoord = ppasssworrd;pubblicc Sttrinng ggetEEmaiil() reeturrn emaail;pubblicc voiid ssetEEmaiil(SStriing e
45、maail) thhis.emaail = eemaiil;注冊的sservvlett的提交交地址packkagee coomboook.serrvleet;impoort javva.iio.IIOExxcepptioon;impoort javva.iio.UUnsuuppoorteedEnncoddinggExccepttionn;impoort javva.ssql.PreeparredSStattemeent;impoort javva.ssql.SQLLExccepttionn;impoort javvax.serrvleet.SServvlettConnfigg;impoort
46、javvax.serrvleet.SServvlettExccepttionn;impoort javvax.serrvleet.hhttpp.HtttpSServvlett;impoort javvax.serrvleet.hhttpp.HtttpSServvlettReqquesst;impoort javvax.serrvleet.hhttpp.HtttpSServvlettRessponnse;impoort commboook.ddao.BasseDaao;impoort commboook.ddao.UseerInnfoDDao;impoort commboook.ddao.imp
47、pl.UUserrInffoDaaoImmpl;impoort commboook.ddto.UseerInnfo;impoort commboook.sservvicee.UsserIInfooSerrvicce;impoort commboook.sservvicee.immpl.UseerInnfoSServviceeImppl;publlic claass ReggistterSServvlett exxtennds HtttpSeervllet/* * */priivatte sstattic finnal lonng sseriialVVerssionnUIDD = 1L;proo
48、tecctedd vooid doGGet(HtttpSeervlletRRequuestt reequeest,HtttpSeervlletRRespponsse rrespponsse) thrrowss SeervlletEExceeptiion/在地址址欄直接接敲代碼碼會調用用doGGetSyysteem.oout.priintlln(進入dooGett方法);/調用dooPosst方法法 實現代代碼重用用省掉代代碼trry ddoPoost(reqquesst,rrespponsse); cattch (Exxcepptioon ee) ee.prrinttStaackTTracce
49、();prootecctedd vooid doPPostt(HtttpSServvlettReqquesst rrequuestt,HtttpSServvlettRessponnse ressponnse)Syysteem.oout.priintlln(進入dooPosst方法法);trry /獲獲得表單單提交過過來的用用戶名ttry reqquesst.ssetCCharractterEEncoodinng(utff-8); caatchh (UUnsuuppoorteedEnncoddinggExccepttionn e11) e1.priintSStacckTrracee();/設設置
50、編碼碼格式解解決中文文亂碼 ressponnse.settChaaraccterrEnccodiing(uttf-88);Strringg usserNNamee=reequeest.gettParrameeterr(uuserrNamme);/實例例化一個個用戶表表數據層層的實例例 UsserIInfooDaoo usserIInfoo=neew UUserrInffoDaaoImmpl(); /調用用根據傳傳入提交交過來的的用戶名名查詢獲獲得該用用戶是否否存在 返回一一個innt類型型intt coountt=usserIInfoo.quueryy(usserNNamee);if(couu
51、nt0)/說說明該用用戶存在在-跳到錯錯誤頁面面-返回重重新注冊冊ressponnse.senndReedirrectt(./jbbookk/reegissterrerrror.jspp);ellse if(couunt=0)/說明可可以進入入下一步步 把新新注冊的的用戶存存到數據據庫中的的用戶表表中去/實例例化用戶戶表的信信息UseerInnfo useer=nnew UseerInnfo();/封裝裝表單提提交過來來的表單單數據/將提提交過來來的表單單元素值值賦值給給用戶表表對象Strringg usserNNamees=rrequuestt.geetPaarammeteer(useerN
52、aame); Strringg paasswwordd=reequeest.gettParrameeterr(ppasssworrd); Strringg emmaill=reequeest.gettParrameeterr(eemaiil);useer.ssetUUserrNamme(uuserrNammes);useer.ssetPPasssworrd(ppasssworrd);useer.ssetEEmaiil(eemaiil);/實例例化業務務邏輯層層的操作作 將數據據放到數數據庫中中去intt coountts=uuserrInffo.iinseertUUserrInffo(uuse
53、rr);/將用用戶名保保存在rrequuestt作用域域中 進入首首頁可以以用reqquesst.ssetAAttrribuute(usserNNamee, useerNaame);ressponnse.senndReedirrectt(./jbbookk/looginn.jssp); cattch (Exxcepptioon ee) ee.prrinttStaackTTracce();/初初始化方方法只會會初始化化一次pubblicc vooid iniit(SServvlettConnfigg coonfiig)Syysteem.oout.priintlln(初始化化注冊提提交seervl
54、let);/銷銷毀實例例的方法法pubblicc vooid desstrooy()Syysteem.oout.priintlln(銷毀注注冊提交交serrvleet);登錄的jjsp提提交到這這個Seervlletpackkagee coomboook.serrvleet;impoort javva.iio.IIOExxcepptioon;impoort javva.iio.UUnsuuppoorteedEnncoddinggExccepttionn;impoort javvax.serrvleet.SServvlettConnfigg;impoort javvax.serrvleet.SS
55、ervvlettExccepttionn;impoort javvax.serrvleet.hhttpp.HtttpSServvlett;impoort javvax.serrvleet.hhttpp.HtttpSServvlettReqquesst;impoort javvax.serrvleet.hhttpp.HtttpSServvlettRessponnse;impoort javvax.serrvleet.hhttpp.HtttpSSesssionn;impoort commboook.ddao.UseerInnfoDDao;impoort commboook.ddao.imppl.U
56、UserrInffoDaaoImmpl;impoort commboook.ddto.UseerInnfo;publlic claass LogginSServvlett exxtennds HtttpSeervllet/* * */priivatte sstattic finnal lonng sseriialVVerssionnUIDD = 1L;Ovverrrideeprootecctedd vooid doGGet(HtttpSeervlletRRequuestt reequeest,HtttpSeervlletRRespponsse rrespponsse)tthroows Serr
57、vleetExxcepptioon, IOEExceeptiion Syysteem.oout.priintlln(登錄提提交進入入doGGet方方法);dooPosst(rrequuestt, rrespponsse);Ovverrrideeprootecctedd vooid doPPostt(HtttpSServvlettReqquesst rrequuestt,HtttpSServvlettRessponnse ressponnse)tthroows SerrvleetExxcepptioon, IOEExceeptiion Syysteem.oout.priintlln(登錄提提交進
58、入入doPPostt方法);trry /獲獲得表單單提交過過來的用用戶名ttry reqquesst.ssetCCharractterEEncoodinng(utff-8); caatchh (UUnsuuppoorteedEnncoddinggExccepttionn e11) e1.priintSStacckTrracee();/設設置編碼碼格式解解決中文文亂碼 ressponnse.settChaaraccterrEnccodiing(uttf-88); Strringg usserNNamee=reequeest.gettParrameeterr(uuserrNamme); Strri
59、ngg paasswwordd=reequeest.gettParrameeterr(ppasssworrd); /實例例化一個個用戶表表數據層層的實例例 UseerInnfoDDao useerInnfo=neww UsserIInfooDaooImppl();/實例例化用戶戶表的信信息UseerInnfo useer=nnew UseerInnfo();/封裝裝表單提提交過來來的表單單數據/將提提交過來來的表單單元素值值賦值給給用戶表表對象useer.ssetUUserrNamme(uuserrNamme);useer.ssetPPasssworrd(ppasssworrd);/調用用查詢
60、該該用戶對對象存在在與否的的方法intt coountt=usserIInfoo.quueryyObjjectt(usser);if(couunt0)/說說明該登登錄用戶戶存在是是合法的的用戶-跳到圖圖書首頁頁 HtttpSSesssionn seessiion=reqquesst.ggetSSesssionn();/獲獲取會話話對象 seessiion.settAtttribbutee(uuserrNamme, usserNNamee);/對象象保存到到sesssioon作用用域 reespoonsee.seendRRediirecct(./jjboook/BBookkInddex.jspp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CHATA 024-2022兒童中樞神經系統結核的診斷
- T/CGTA 01-2023飼用帶軸高濕玉米質量分級
- T/CGMA 022001-2019屋頂通風裝置防雨性能試驗方法
- T/CCT 016-2024分散吸附集中再生VOCs治理用柱狀活性炭
- T/CCS 072-2023智能化煤礦網絡運維管理規范
- T/CCPITCSC 096-2022名表真假鑒定規范
- T/CCMA 0141-2022液壓挖掘機排氣污染物車載測量方法
- T/CCAS 014.5-2022水泥企業安全管理導則第5部分:水泥工廠化驗室安全管理
- T/CATCM 001.1-2017保健類眼貼第1部分:通用要求
- T/CAPEB 00001.3-2022制藥裝備容器和管道第3部分:設計
- 2025年日歷表含農歷(2025年12個月日歷-每月一張A4可打印)
- 《ESC血壓升高和高血壓管理2024指南》解讀
- 學科競賽在提升學生團隊協作能力中的作用
- 《公共管理學基礎》題庫及答案
- 基本藥物工作計劃
- 2025年行政執法人員執法資格考試必考題庫及答案(共232題)
- 2025手術室年度工作計劃
- 《兒童文學》課件-圖畫書的概念
- 2025屆高三語文專題復習:文言文閱讀-實詞的五種類型
- 土木工程CAD-終結性考核-國開(SC)-參考資料
- 放射性皮膚損傷的護理-中華護理學會團體標準
評論
0/150
提交評論