版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第15章 网上书店实例在本章中我们使用JSP和Java Bean来构建一个网上书店。本章介绍的例子可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。客户端程序由以下几个部分构成:default.jsp:会员登录界面(首页);checklogon.jsp:检测登录代码和密码是否一致,根据由JavaBean返回的结果显示不同的信息。BuyeerBeean:会员的的合法性性检验所所用的BBeann;bookklisst.jjsp:给登录录会员显显示当前前书店中中可供选选择的图图书;addccartt.jssp:将将所选的的图书加加入购物物
2、车;shopppinngcaart.jspp:查看看购物车车的内容容;本例的数数据库采采用Acccesss(.MDBB数据库库),对对数据库库的访问问采用便便于理解解的JDDBC-ODBBC方式式,在使使用本例例前先在在本地数数据库建建立一个个ODBBC数据据源:bbookkstoore。设置步骤骤如下:(1)在在开始-设置置-控控制面版版(Wiin988、NTT4.00)中选选取“数据源源(ODDBC)”;在WWin 20000 PProffesssionnal和和Serrverr中分别别位于“开始-设置置-控控制面版版-管管理工具具”和“开始-程序序-管管理工具具”下。(2)启启动“数据源
3、源(ODDBC)”配置程程序,界界面如图图15-1所示示。图15-1 ODBBC数据据源管理理界面(3)在在图155-1中中“系统DDSN”选项下下单击“添加”按钮,来添加加一个系系统的数数据源(DSNN),则则出现如如图155-2所所示数据据源驱动动程序选选择界面面:图15-2 数据源源驱动程程序选择择界面(4)在在图155-2中中选择“Miccrossoftt Acccesss DDrivver (*.mdbb)”单击“完成”加载AAcceess数数据库的的驱动,则出现现如图115-33所示数数据库OODBCC安装界界面:图15-3 数据库库ODBBC安装装界面(5)在在图155-3中中单
4、击“选择(S)”按钮,启动一一个类似似资源管管理器的的界面来来选择数数据库,如图115-44所示,在图115-44所示的的界面中中选择bbookkstoore.mdbb。图15-4 数据库库选择界界面15.11 会会员登录录做一个网网上书店店,在顾顾客开始始购书之之前,必必须要记记录用户户的一些些信息以以便用户户在不同同的分类类、不同同的页面面购书时时,最后后能够去去收款台台统一结结帐,而而且网上上书店同同时有许许多人在在选购图图书,也也要求对对不同的的顾客进进行区分分,我们们可以要要求顾客客在购书书之前进进行注册册成为会会员,以以后只用用会员代代码和密密码即可可登录。为了便于于说明现现在的电
5、电子商务务网站,由JSSP做页页面表现现,由JJavaa Beaan做应应用逻辑辑的结构构,在本本例中将将会员登登录程序序分成两两大部分分:一、Javva BBeann用于对对数据库库的操作作,验证证用户名名和密码码是否正正确;二二、JSSP页面面部分,用于供供用户会会员代码码和密码码以及显显示验证证结果。15.11.1会员登登录Jaava Beaan我们网上上书店中中的会员员信息的的库结构构如图115-55所示:图15-5 会员信信息库其中meembeerIDD 是主主键,用用于区分分不同的的会员,新会员员注册时时只能使使用没有有被使用用的用户户代码。在验证时时我们只只要使用用验证用用户的m
6、membberIID和其其pwdd是否一一致即可可判断该该用户是是否合法法,如果果合法则则其登录录次数加加1。下面是用用户验证证部分的的Javva BBeann的代码码清单155-1 BuuyerrBeaan.JJavaa/* *BuyyerBBeann.Jaava 11.100.20001 *Coppyriightt 20000, 20001 bby ccuugg lllp.*本Beean中中有两个个sett方法和和两个gget 方法:*settMemmberrID() 对BuuyerrBeaan中的的memmberrID属属性进行行赋值;*settPwdd()对BuyyerBBeann中的
7、 pwdd 属性性进行赋赋值; *gettLoggonttimees() 取该该会员登登录的次次数*gettMennberrNamme()获得该该会员的的真实姓姓名,用用于显示示欢迎信信息。*maain()方法法用于将将BEAAN作为为一个 Apppliccatiion进进行测试试时使用用,正式式发布时时可以删删除。 */packkagee cuuug;impoort Javva.ssql.*;publlic claass BuyyerBBeann privvatee Sttrinng mmembberIID = nuull; /会员员IDpriivatte SStriing memmberr
8、Namme = nuull; /会会员姓名名priivatte SStriing pwdd = nulll;/密密码priivatte iint loggonttimees = -11;/登登录的次次数priivatte sstattic Strringg sttrDBBDriiverr = “suun.jjdbcc.oddbc.JdbbcOddbcDDrivver”; /JJDBCC驱动priivatte sstattic Strringg sttrDBBUrll = “jddbc:odbbc:bbookkstoore”; /数据源源 ,priivatte CConnnecttionn co
9、onn =nuull; /连接priivatte RResuultSSet rs = nnulll;/结结果集pubblicc BuuyerrBeaan ()/加载JJDBCC-ODDBC驱驱动trry CClasss.fforNNamee(sttrDBBDriiverr );/捕获异异常caatchh(Jaava.lanng.CClasssNootFoounddExccepttionn e)SSysttem.errr.prrinttln(“BuuyerrBeaan():” + ee.geetMeessaage();/获获得登录录次数,登录的的会员的的名字也也在该方方法调用用时获得得pubbl
10、icc innt ggetLLogoontiimess()Sttrinng sstrSSql = nnulll;trrycconnn = DriiverrMannageer.ggetCConnnecttionn(sttrDBBUrll);SStattemeent stmmt = coonn.creeateeStaatemmentt();strSSql = “Sellectt loogonnTimmes,memmberrnamme ffromm buuyerrInffo wwherre mmembberIID = ” + membberIID + “ annd ppwd =” + pwdd +
11、“”;rrs = sttmt.exeecutteQuueryy(sttrSqql);wwhille (rs.nexxt()/登录录的次数数logoontiimess = rs.gettIntt(“llogoonTiimess”);/会会员姓名名 meembeerNaame = rrs.ggetSStriing(“meembeernaame”); rrs.cclosse();/如果果是合法法会员则则将其登登录次数数加1iif (loggonttimees != -1 ) strrSqll = “Uppdatte bbuyeerInnfo sett logoonTiimess = loggonTT
12、imees +1 wwherre mmembberIID = ” + memmberrID + “”;stmmt.eexeccuteeUpddatee(sttrSqql);sstmtt.cllosee();cconnn.cllosee();/捕获异异常caatchh(SQQLExxcepptioon ee)SSysttem.errr.prrinttln(“BuuyerrBeaan.ggetLLogoontiimess():” + e.gettMesssagge();reeturrn llogoontiimess ;/设置置memmberrID属属性;pubblicc vvoidd seetMe
13、embeerIDD(Sttrinng IID)thhis.memmberrID = IID;/设设置pwwd 属属性pubblicc vooid seetPwwd(SStriing passswoord)thhis.pwdd = passswoord;/获获得该会会员的真真实姓名名,必须须在取该该会员登登录的次次数之后后才能被被赋予正正确的值值pubblicc Sttrinng ggetMMembberNNamee()reeturrn mmembberNNamee;/测试试Beaan中的的各个方方法是否否能够正正常工作作pubblicc sstattic voiid mmainn(Sttrin
14、ng aargss)BuuyerrBeaan bbuyeer = neew BBuyeerBeean();buuyerr.seetMeembeerIDD(“aabcdd”);buuyerr.seetPwwd(“12334”);Syysteem.oout.priintlln(bbuyeer.ggetLLogoontiimess();Syysteem.oout.priintlln(bbuyeer.ggetMMembberNNamee();在BuyyerBBeann中用了了pacckagge cuuug; 在发布布到WEEB SSERVVER时时,可以以用JAAR(JJDK中中带的打打包工具具)把编
15、编译后的的BuyyerBBeann.cllasss 打包包成JAAR文件件在服务务器的环环境变量量claassppathh中给予予指定,或者在在服务器器claassppathh环境变变量指定定的目录录下建一一个cuuug文文件夹,把BuuyerrBeaan.cclasss放到到cuuug目录录下。15.11.2会会员登录录htmm与JSSP会员登录录要由两两个部分分来完成成,第一一个页面面用于会会员输入入其IDD和密码码,当然然首页还还可以加加一些广广告等的的其它信信息,在在本例中中略过。清单155-2 deefauult.htmm! Coopyrrighht 19999 cuuug,lliu
16、.CUUUG OON LLINEE BOOOK STOORE MMEMBBER LOGGINCUUUG 网网上书店店会员登登录页&nbssp;&nbssp;请输入会会员代号号和密码码: 会员代码码: 密&nbbsp;&nbbsp;&nbbsp;&nbbsp;码: 在本例中中提供了了一个文文本框供供用户输输入会员员代号和和登录密密码,其其运行结结果如图图15-6所示示,当会会员输入入其代码码和密码码后调用用cheeckllogoon.jjsp 来验证证该网络络用户是是否是合合法会员员。图15-6 会员登登录页在cheeckllogoon.jjsp 中接收收从deefauult.htmm中由用用户
17、所填填的会员员代码和和密码,把它传传给BuuyerrBeaan,由由BuyyerBBeann判断该该用户的的会员代代码和密密码的正正确性,若正确确显示欢欢迎信息息;若不不正确,则提供供一个重重新登录录的链接接。Checckloogonn.jssp的源源代码如如下:清单155-3 chheckkloggon.jsppCUUGG ONN LIINE BOOOK SSTORRE MEEMBEER LLOGIINCUUUG 网网上书店店 0)sesssionn.puutVaaluee(mmembberIID,memmberrID);%欢迎迎你第次来到到CUUUG网上上书店进进入书店店对不不起,你你的用
18、户户名和密密码不一一致重重新登录录登录正确确时的结结果如图图15-7所示示,错误误时的结结果如图图15-8所示示。图15-7 用户登登录正确确(会员员abccd的真真实姓名名是cuuug0001)图15-8 用户登登录错误误15.22选书会员登录录之后,合法的的用户将将可以看看到本书书店中可可供选择择的图书书,并且且将他感感兴趣的的书放入入“购物车车”,在去去“收银台台”结帐之之前,该该用户可可以放弃弃购买其其购物车车中的任任何一本本书。在在此处我我们用BBookkBeaan来获获取图书书的信息息,在BBookklisst.jjsp中中显示这这些书。在会员选选书部分分,我们们仍用JJavaa
19、Beean来来操作数数据库,用jssp来做做页面表表现。15.22.1选选书Jaava Beaan图书信息息的表结结构如图图15-9所示示,为了了便于说说明,在在本例中中priice也也设置成成了Sttrinng型,在实际际应用中中应该设设置成货货币或浮浮点型:图15-9 图书信信息的表表结构其中,bbookkISBBN是主主键,区区分不同同的图书书。Jaava Beaan要根根据不同同的图书书的boookIISBNN来获得得其相应应的书名名、作者者、出版版社、价价格、简简介等信信息。同同时Jaava Beaan还要要有列出出书店中中所有图图书的信信息的功功能。清单155-4 BoookBBe
20、ann.JJavaa/* *BuyyerBBeann.Jaava 11.100.20001 *Coppyriightt 20000, 20001 bby ccuugg ,lllp.*本Beean中中的各个个方法的的功能介介绍如下下:*settBoookISSBN():设设置图书书的编号号,同时时根据编编号更新新相应的的书名、作者、出版社社、价格格*和简简介*gettBoookLiist() 取得得书库中中全部书书的书名名、出版版社、价价格、作作者等信信息;*gettBoookISSBN() 取得得当前图图书的编编号 ; *geetBoookNNamee()取得当当前图书书的书名名;*geetB
21、oookAAuthhor()取得当当前图书书的作者者;*geetPuubliisheer()取得当当前图书书的出版版社信息息;*geetPrricee()取得当当前图书书的价格格;* geetInntrooducce()取得当当前图书书的简介介信息。*maain()方法法用于将将BEAAN作为为一个 Apppliccatiion进进行测试试时使用用,正式式发布时时可以删删除。 */packkagee cuuug;impoort Javva.ssql.*;publlic claass BoookBeean priivatte SStriing boookISSBN = nnulll;/图图书编号
22、号priivatte SStriing boookNaame = nnulll;/书书名priivatte SStriing boookAuuthoor = nuull;/作作者priivatte SStriing pubblissherr = nulll;/出出版社priivatte SStriing inttrodducee = nulll;/简简介priivatte SStriing priice = nnulll;/价价格priivatte sstattic Strringg sttrDBBDriiverr = suun.jjdbcc.oddbc.JdbbcOddbcDDrivver;
23、priivatte sstattic Strringg sttrDBBUrll = jddbc:odbbc:bbookkstoore;priivatte CConnnecttionn coonn =nuull;priivatte RResuultSSet rs = nnulll;pubblicc BoookBBeann()/加载驱驱动trry CClasss.fforNNamee(sttrDBBDriiverr );caatchh(Jaava.lanng.CClasssNootFoounddExccepttionn e)SSysttem.errr.prrinttln(BoookBBeann (
24、): + ee.geetMeessaage();/取当当前书库库中全部部图书信信息pubblicc ReesulltSeet ggetBBookkLisst()Sttrinng sstrSSql = nnulll;trry/建立立与数据据库的连连接cconnn = DriiverrMannageer.ggetCConnnecttionn(sttrDBBUrll);SStattemeent stmmt = coonn.creeateeStaatemmentt();sstrSSql = Sellectt boookIISBNN,boookNNamee,boookAAuthhor,pubblissh
25、err,prricee frrom boookInnfo ;rrs = sttmt.exeecutteQuueryy(sttrSqql);/捕获异异常caatchh(SQQLExxcepptioon ee)SSysttem.errr.prrinttln(BoookBBeann.geetBoookLListt(): + e.gettMesssagge();reeturrn rrs ;/根根据图书书的编号号给图书书的其他他信息赋赋值priivatte voiid ggetBBookkInffo(SStriing ISBBN)Sttrinng sstrSSql = nnulll;boookNName
26、e = nulll;boookAAuthhor = nnulll;puubliisheer = nuull;inntrooducce = nuull;prricee = nulll;trry/建立立和数据据库的连连接cconnn = DriiverrMannageer.ggetCConnnecttionn(sttrDBBUrll);SStattemeent stmmt = coonn.creeateeStaatemmentt();sstrSSql = Sellectt * froom bbookkInffo wwherre bbookkISBBN = + ISBBN + ;rrs = sttm
27、t.exeecutteQuueryy(sttrSqql);wwhille (rs.nexxt()boookNaame = rrs.ggetSStriing(boookNNamee);boookAuuthoor = rss.geetSttrinng(boookAuuthoor);pubblissherr = rs.gettStrringg(ppubllishher);inttrodducee = rs.gettStrringg(iintrroduuce);priice = rrs.ggetSStriing(prricee);/捕获异异常caatchh(SQQLExxcepptioon ee)SS
28、ysttem.errr.prrinttln(BoookBBeann.geetBoookLListt(): + e.gettMesssagge();/给给图书的的编号赋赋值,同同时调用用函数给给图书的的其他信信息赋值值pubblicc vvoidd seetBoookIISBNN (SStriing ISBBN)thhis.boookISSBN = IISBNN;geetBoookIInfoo(boookIISBNN);/取取图书编编号pubblicc SStriing gettBoookISSBN ()reeturrn bbookkISBBN ;/取取书名pubblicc Sttrinng g
29、getBBookkNamme()reeturrn bbookkNamme ;/取取作者信信息pubblicc Sttrinng ggetBBookkAutthorr()reeturrn bbookkAutthorr;/取取出版社社信息pubblicc Sttrinng ggetPPubllishher()reeturrn ppubllishher;/取取图书简简介pubblicc Sttrinng ggetIIntrroduuce()reeturrn iintrroduuce ;/取取图书价价格pubblicc Sttrinng ggetPPricce()reeturrn ppricce;/将
30、BBeann作为一一个apppliicattionn进行测测试用pubblicc sstattic voiid mmainn(Sttrinng aargss)BoookBBeann boook = nnew BoookBeean ();boook.settBoookISSBN(7-50553-553166-4);Syysteem.oout.priintlln(bbookk.geetBoookNNamee();Syysteem.oout.priintlln(bbookk.geetBoookAAuthhor();Syysteem.oout.priintlln(bbookk.geetPuubliis
31、heer();Syysteem.oout.priintlln(bbookk.geetInntrooducce();Syysteem.oout.priintlln(bbookk.geetPrricee();trryRResuultSSet tmppRS = bbookk.geetBoookLListt();wwhille (tmppRS.nexxt()Sysstemm.ouut.pprinntlnn(tmmpRSS.geetSttrinng(boooknaame);ttmpRRS.cclosse();/捕获异异常catcch(EExceeptiion e)SSysttem.errr.prrint
32、tln(maain() + ee.geetMeessaage();15.22.2选选书JSSP会员正确确登录之之后,即即可进入入书店进进行选书书,我们们已经在在cheeckllogoon.jjsp中中将会员员的代码码(meembeerIDD)放入入系统的的sesssioon中,为了保保证用户户只能从从主页面面登录进进入书店店,我们们在给会会员显示示可供选选择的图图书之前前,先检检查seessiion中中是否有有memmberrID的的合法值值,如果果没有则则提示用用户先去去登录。清单155-5 boookllistt.jsspCUUGG Boook Stoore On Linne -memmb
33、err:CUUUG 网网上书店店 请先先登录,然后再再选书 登登录 书书名 作作者 出出版社 定定价 &nnbspp; aahreef=boookinnfo.jspp?issbn= aa hrref=Jaavasscriipt:opeenwiin()加入购购物车 查查看购物物车 &nbssp;已经登录录过的会会员和没没有登录录过的会会员进入入该页面面是的结结构分别别如图115-110和图图15-11所所示:正正确登录录的会员员的会员员代码在在浏览器器的标题题栏显示示为:mmembber:“会员代代码”。图15-10 会员员abccd正确确登录图15-11 会员员未登录录直接来来选书在本例中中利
34、用JJavaaScrriptt语句定定义了一一个函数数来将所所调用另另外的一一个jssp来处处理把书书加入购购物车的的操作:该函数用用于打开开adddcarrt.jjsp并并切将图图书编号号作为参参数传给给adddcarrt.jjsp。addccartt.jssp利用用Coookiee来保存存所选购购的图书书信息,Coookiee相当于于一个购购物车。为了与与其他的的Coookiee变量区区分,每每个写入入Coookiee的图书书编码前前面都加加上“ISBBN”作为标标志,向向购物车车中加入入图书的的代码如如下:清单155-6 adddcaart.jsppfuncctioon TTimeer(
35、)seetTiimeoout(seelf.cloose(),100000)购物车车CUUUG 网上订订书系统统图图书已经经成功放放入购物物车!查看购物物车SHHOPPPINGG CAART提交定单单 ORRDERR (此窗口口将为您您在100秒内自自动关闭闭,您的的商品已已经安全全地保存存在购物物车中。)在adddcarrt.jjsp中中利用JJavaaScrriptt定义了了一个函函数Tiimerr(),由它来来控制该该窗口的的显示时时间()。继续购购买部分分也是由由JavvaSccrippt定义义的函数数来控制制关闭本本窗口。其运行行结果如如图155-122所示。图15-12 加入入购物车
36、车无论从图图15-12还还是图115-113所示示的界面面中,都都提供了了一个查查看购物物车的超超链接,查看购购物车的的程序如如下所示示,它从从Coookiee中取出出图书的的编号,并将它它传给BBookkBeaan,由由BoookBeean来来获得图图书的详详细资料料。查看看购物车车的JSSP代码码shooppiingccartt.jssp代码码如下:清单155-7 shhopppinggcarrt.jjsp查看购物物车 -memmberr:CUUUG 网网上书店店购物车车 ISBBN 书名名 单价 数量 %/*读取取购物车车信息*/Cookkie ccookkiess=reequeest.
37、gettCoookiees();for (innt ii=0;i A hreef=boookinnfo.jspp?issbn= IINPUUT ssizee=55 ttypee=ttextt mmaxllenggth=5 vaaluee= namee=nnum reeadoonlyy A hhreff=ddelbbookk.jssp?iisbnn=删除 返返回首页页 清空购购物车 修改数数量 填填写提提交订单单 查看购购物车的的结果如如图155-133所示:图15-13 查看看购物车车内容在查看购购物车内内容时提提供了一一个删除除图书的的功能,其目的的是从购购物车删删除不想想购买的的图书,其源
38、代代码如下下:清单155-8 deelboook.jspp删除图书书 本例中利利用jssp:fforwwardd动作在在删除图图书动作作完成之之后,将将页面继继续转向向购物车车页面。即图115-114只显显示一瞬瞬间,浏浏览器的的内容由由成为购购物车内内容的页页面。图15-14 删除除图书的的页面如果一个个会员选选了很多多书,逐逐个删除除比较麻麻烦。为为了方便便会员放放弃选购购的所有有图书,重新开开始选书书,本例例提供了了清空购购物车程程序(eempttycaart.jspp),用用于清空空购物车车,其原原理与删删除图书书相同,只是把把全部的的Coookiee中图书书的有关关的内容容都清空空了
39、。其其代码如如下:清单155-9 emmptyycarrt.jjsp%/*清空空Coookiee(购物物车)信息*/Cookkie ccookkiess=reequeest.gettCoookiees();for (innt ii=0;i清空购物物车 图15-15 清空空购物车车的页面面从图书选选择页面面和购物物车页面面,点图图书名称称,都可可以查看看图书的的详细信信息,查查看图书书详细信信息的jjsp仍仍用BoookBBeann来获取取图书的的详细信信息,只只是在该该页中可可以看到到更加详详细的信信息:清单155-100 bbookkinffo.jjsp图书信息息 ISSBN 书名名 出版版
40、社 作者者/译者 图书书价格 内容容简介 aa hrref=Jaavasscriipt:opeenwiin()加入入购物车车 查看购购物车 返返回首页页 其运行结结果如图图15-16所所示。图15-16 图书书详细信信息15.33定单提提交及查查询用户一旦旦确定购购物车中中所选的的图书都都是其所所要购买买的,就就要到去去提交其其定单,以便书书店按照照相应的的方式进进行处理理。而且且,为方方便用户户是否已已经提交交定单,及定单单的状态态,本例例提供了了定单查查询功能能。在此此处我们们用OrrderrBeaan来将将定单提提交到数数据库中中,在oordeer.jjsp中中显示并并提交定定单信息息,
41、quueryyordder.jspp来查询询定单。在会员选选书部分分,我们们仍用JJavaa Beean来来操作数数据库,用jssp来做做页面表表现。15.33.1定定单提交交Javva BBeann为了减少少数据冗冗余,定定单信息息由两张张表来记记录其信信息:oordeerInnfo,记录定定单的有有关公用用信息,ordderddetaail,记录该该定单包包含哪些些书籍及及数量,表结构构分别如如下:图15-17定定单信息息表结构构图15-18定定单详细细所有的对对数据库库的操作作都由JJavaaBeaan来完完成,其其代码如如下:清单155-111 OOrdeerBeean.Javvapa
42、ckkagee cuuug;impoort Javva.ssql.*;publlic claass OrdderBBeann priivatte sstattic Strringg sttrDBBDriiverr = suun.jjdbcc.oddbc.JdbbcOddbcDDrivver;priivatte sstattic Strringg sttrDBBUrll = jddbc:odbbc:bbookkstoore;priivatte CConnnecttionn coonn =nuull;priivatte RResuultSSet rs = nnulll;priivatte JJav
43、aa.laang.Strringg boookiinfoo = nulll;priivatte JJavaa.laang.Strringg odderppricce = nuull;priivatte JJavaa.laang.Strringg orrderrDatte = nuull;priivatte JJavaa.laang.Strringg orrderrID = nnulll;priivatte JJavaa.laang.Strringg orrderrRemm = nulll;priivatte JJavaa.laang.Strringg reeceiiverrAdddresss
44、= nuull;priivatte JJavaa.laang.Strringg reeceiiverrNamme = nuull;priivatte JJavaa.laang.Strringg reeceiiverrZipp = nulll;priivatte JJavaa.laang.Strringg usserIID = nuull;pubblicc OrrderrBeaan()trry CClasss.fforNNamee(sttrDBBDriiverr );caatchh(Jaava.lanng.CClasssNootFoounddExccepttionn e)SSysttem.err
45、r.prrinttln(OrrderrBeaan (): + e.ggetMMesssagee();pubblicc sstattic voiid mmainn(Sttrinng aargss)/* * 返返回定单单的总价价。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetOOderrpriice() retuurn odeerprricee;/* *返回回定单的的日期 。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng gg
46、etOOrdeerDaate() ordeerDaate = nnew Javva.uutill.Daate().ttoSttrinng();retuurn ordderDDatee;/* * 返返回定单单的IDD号。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetOOrdeerIDD() retuurn ordderIID;/* * 返返回定单单的备注注信息。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetOOrd
47、eerReem() retuurn ordderRRem;/* * 返返回接收收者的地地址 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetRReceeiveerAdddreess() retturnn reeceiiverrAdddresss;/* * 返返回接收收者的姓姓名。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetRReceeiveerNaame() retuurn recceivverNNamee;/*
48、* 返返回接收收者的邮邮政编码码。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetRReceeiveerZiip() retuurn recceivverZZip;/* * 获获得用户户ID。 * retturnn Jaava.lanng.SStriing */publlic Javva.llangg.Sttrinng ggetUUserrID() retuurn useerIDD;/* * 给给图书信信息赋值值。 * parram newwBoooks Javva.uutill.Prropeertiie
49、s */publlic voiid ssetBBookkinffo(JJavaa.laang.Strringg neewBoookiinfoo) bookkinffo = neewBoookiinfoo;creaateNNewOOrdeer();int froomInndexx = 0;int tmppInddex = 00;int tmppEndd = 0;Striing strrSqll = nulll;trrycconnn = DriiverrMannageer.ggetCConnnecttionn(sttrDBBUrll);SStattemeent stmmt = coonn.cree
50、ateeStaatemmentt();wwhille(bbookkinffo.iindeexoff(;,ffrommInddex) != -11 )tmppEndd = boookinnfo.inddexOOf(;,froomInndexx);tmppInddex = bbookkinffo.llasttInddexoof(=,tmppEndd);strrSqll = innserrt iintoo orrderrdettaill (oordeerIDD ,bbookkISBBN ,boookcoountt)+ vaaluees( gettOrdderIID() + , + boookiinf
51、oo.suubsttrinng(ffrommInddex ,tmmpInndexx) + , + bbookkinffo.ssubsstriing(tmppInddex+1 ,tmppEndd) + ) ;stmmt.eexeccuteeUpddatee(sttrSqql);ffrommInddex = ttmpEEnd + 11;stmtt.cllosee();connn.cllosee();caatchh(SQQLExxcepptioon ee)SSysttem.errr.prrinttln(BuuyerrBeaan.ggetLLogoontiimess(): + e.gettMesssa
52、gge();/* *给定定单的总总价赋值值。 * parram newwOdeerprricee Jaava.lanng.SStriing */publlic voiid ssetOOderrpriice(Javva.llangg.Sttrinng nnewOOderrpriice) oderrpriice = nnewOOderrpriice;/* * 给给定单的的备注赋赋值。 * parram newwOrdderRRem Javva.llangg.Sttrinng */publlic voiid ssetOOrdeerReem(JJavaa.laang.Strringg neewOrrd
53、errRemm) ordeerReem = neewOrrderrRemm;/* * 给给接收者者的地址址赋值。 * parram newwRecceivverAAddrresss Jaava.lanng.SStriing */publlic voiid ssetRReceeiveerAdddreess(Javva.llangg.Sttrinng nnewRReceeiveerAdddreess) recceivverAAddrresss = newwRecceivverAAddrresss;/* * 给给接收者者的姓名名赋值。 * parram newwRecceivverNNamee Ja
54、ava.lanng.SStriing */publlic voiid ssetRReceeiveerNaame(Javva.llangg.Sttrinng nnewRReceeiveerNaame) recceivverNNamee = newwRecceivverNNamee;/* * 给给接收者者的邮政政编码代代码赋值值。 * parram newwRecceivverZZip Javva.llangg.Sttrinng */publlic voiid ssetRReceeiveerZiip(JJavaa.laang.Strringg neewReeceiiverrZipp) receei
55、veerZiip = neewReeceiiverrZipp;/* * 给给用户代代码赋值值。 * parram newwUseerIDD Jaava.lanng.SStriing */publlic voiid ssetUUserrID(Javva.llangg.Sttrinng nnewUUserrID) userrID = nnewUUserrID;/* * 创创建一个个新定单单 */privvatee vooid creeateeNewwOrdder() Striing strrSqll = nulll;tryyconnn = DrriveerMaanagger.gettConnnec
56、ctioon(sstrDDBUrrl);Stattemeent stmmt = coonn.creeateeStaatemmentt();strSSql = inssertt innto ordderIInfoo (uuserrID,recceivverNNamee,receeiveerAdddreess,recceivverZZip,ordderRRem,ordderPPricce,OOrdeerdaate)+ vaaluees( gettUseerIDD() + , + ggetRReceeiveerNaame() + , + ggetRReceeiveerAdddreess() + , + geetReeceiiverrZipp() + , + ggetOOrdeerReem() + , + ggetOOrdeerPrricee() + , ggetOOrdeerDaate() + ) ;sttmt.exeecutteUppdatte(sstrSSql);sttrSqql = sseleect maxx(OrrderrID) frrom orrderrInffo wwherre uuserrID = ggetUUserrID() + annd rreceeiveerNaame = + geetReeceiiverrNamme() + andd ree
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 京东POP店铺售前咨询客服初级认证考试真题题库及答案解析
- 传染病防治知识培训试题及答案
- 2026年中学音乐教师水平测试题及答案
- 2026年初级护师考试真题及答案
- 智能办公设备采购与使用规范手册
- 智能家居实施方案
- 园艺专业人才培养方案
- 幼儿园教师师德师风培训
- 届新初三英语暑假衔接资料包中考词汇语法阅读写作听力材料检测卷含答案详解与学习诊断表
- 2026北京教师面试题库及答案
- Transformer架构详解:理解大模型的基石
- 2025年鸡西市虎林市社区工作者公开招聘笔试真题(含完整答案解析)
- 砌体平整度垂直度检测记录
- 钢结构防火涂料施工方案及技术措施
- 2025-2026学年冀教版三年级数学下册期末综合素质达标卷(含答案)
- 连云港交通控股集团2026年招聘笔试题库
- 2026数字人民币运营管理中心有限公司招聘笔试历年参考题库附带答案详解
- 2026《绿色建筑学报》编辑部专业技术人员招聘3人备考题库及完整答案详解1套
- 水工建筑物水下缺陷修复技术导则
- 2026年广东高中学业水平合格性考试生物试卷试题(含答案详解)
- 2025江苏省扬州市中考真题数学试卷(原卷版)
评论
0/150
提交评论