Web程序设计(Jsp)课程设计I第一章系统设计1.1需求分析网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。根据网上书店的基本需求,需要完成的任务如下:A.书图查询:当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。B.购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。C.订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。D.会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。1.2总体设计系统组成:下表中给出了构成网上书店系统的各个组件,通过下表,可以从宏观上了解各个组件的功能。Web程序设计(Jsp)课程设计II用户表示层(视图)控制器逻辑层BookMain.jspActionFormActionDBBookShow.jspLoginFormFirstActionConstantsBookShopCart.jspUserFormBookDetailActionBookOrderAddress.jspBookIdFormBookSearchActionBookCatOrderConfirm.jspBookCatIdFormLoginActionOrderUserLogin.jspPageIdFormBookBuyActionShopCartUserRegister.jspBookShopCartFromAddrConfirmActionUserOrderHistory.jspBookSearchFormClearShopCartActionWrong.jspDeliveryFormOrderDelActionOrderIdFormOrderHistoryAction1.3功能设计1).图书信息管理该模块实现图书书目信息的分类显示,也是提供图书信息依据书名及作者信息快速搜索的功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。2).购物车管理用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。3).会员注册实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采用的Web程序设计(Jsp)课程设计III方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。4).订单处理根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。1.4网上书店基本流程BookMain.p图书查询bookShow.jsp图书详情显示bookShopCasp购物车管理userLogin.jsp会员登录orderAddress.jsp会员地址确认orderConfirm.jsp订单确认orderHistorsp历史订单查询userRegister.jsp新会员注册Web程序设计(Jsp)课程设计IV1.5系统的模块图如下图所示:会员服务系统数据流程图Web程序设计(Jsp)课程设计V网上书店销售系统的E-R图如上图1.6网上书店各页面功能1)网上书店首页bookMain.jsp详细功能及描述获取图书分类信息以及图书基本信息集合循环显示图书分类信息提交显示指定分类图书信息的请求,同时传递对应图书分类编号提交书目搜索请求及搜索条件的表单提交搜索关键字的表单元素选择搜索条件的表单元素显示图书记录总数、当前页面编号以及总页数循环显示对应图书书目信息显示图书名称、价格、销售价格、作者信息提交显示图书详细信息请求的超链接Web程序设计(Jsp)课程设计VI提交分页显示请求的超链接,同时提交指定页面编号在本页面中,当单击选择书目分类时,将提交bookSearch.do?BookCatId=%=bookCat.GetId()%mode=1”请求,以便于获取对应图书分类的相关信息。当选择了查询依据,并且输入了对应关键字,单击“搜索”按钮时,将提交“bookSearch.do”请求,同时提交查询条件,进行后续书目信息搜索的处理。当在书目列表中单击查看详细信息请求时,将发出“bookDetail.do”请求,同时传递对应图书记录的编号,以获取指定图书更加详细的信息。此外,在单击“首页”、“上页”、“下页”超链接后,需要分别提交以下语句“bookPage.DopageId=%=bookPage.DopageId=%=schSta.GetPageId()-1%”,“bookPage.DopageId=%=schSta.GetPageId()+1%”等请求,以实现页面的跳转2)图书详细信息bookShow.jsp页面详细功能及描述依据图书记录编号获取待显示详细信息的图书类型的对象分别显示该图书对象的详细信息显示图书封面图片、名称、详细介绍、价格、销售价格单击“购买”按钮后,将提交放入购物车的请求显示图书目录本页面是在控制器响应了网上书店主页提交的查看图书详细信息请求,即“bookDeatial.do”请求后,跳转到的页面。在该页面中将获取到的指定图书详细信息显示出来,同时如果用户单击“购买”按钮,将提交“bookBuy.do?BookId=%=book.GetId()%”请求,进行后续放入购物车的处理。3)图书详细信息bookShow.jsp页面详细功能及描述依据图书记录编号获取待显示详细信息的图书类型的对象分别显示该图书对象的详细信息显示图书封面图片、名称、详细介绍、价格、销售价格单击“购买”按钮后,将提交放入购物车的请求Web程序设计(Jsp)课程设计VII显示图书目录本页面是在控制器响应了网上书店主页提交的查看图书详细信息请求,即“bookDeatial.do”请求后,跳转到的页面。在该页面中将获取到的指定图书详细信息显示出来,同时如果用户单击“购买”按钮,将提交“bookBuy.do?BookId=%=book.GetId()%”请求,进行后续放入购物车的处理。4)购物车信息bookShopCart.jsp页面详细功能及描述获取该用户购物车中信息的集合提交更新购物车请求的表单循环显示购物车中的每一条购物记录信息设置购买数量的文本框显示图书销售价格显示图书总价从购物车中移除购买记录信息更新订单按钮提交继续购书请求的超链接提交清空购物车请求的超链接提交结算付款请求的超链接本页面是在用户选择购买某种图书商品后,进入的页面。在该页面中将显示该用户购物车中现有的所有购买需求记录。同时提供更新购物车的操作界面,例如,可以输入购买数量或者选择删除购买记录。单击“更新订单”按钮后,将提交“updateShopCart.do”请求,进行更新购物车信息的处理。此外,也可以单击“继续购书”按钮,提交“bookSearch.do”请求返回网上书店主页面继续购书,或者单击“清空购物车”按钮提交“clearShopCart.do”请求。同时,如果用户确认去收银台,则可以单击“结算付款”按钮跳转到“userLogin.jsp”页面进行用户登录。Web程序设计(Jsp)课程设计VIII5)网上书店客户登录userLogin.jsp页面详细功能及描述提交用户登录请求,同时提交登录用户信息的表单提交登录用户用户名及密码的表单元素登录按钮提交新用户注册请求的超链接本页面是客户在购物车页面单击“结算付款”按钮后跳转过来的页面,在该页面中,用户在表单中输入用户名及密码,单击“用户登录”按钮后,将提交“login.do”请求,以便于进行后续获取用户相关信息的处理,对于没有用户身份的新客户,可以在本页面中单击“新用户注册”按钮,跳转到“userRegister.jsp”页面进行用户注册。第二章网页设计2.1建立数据源使用JSP和PowerBuilder来构建一个网上书店销售系统,可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。客户端程序由以下几个部分构成:default.jsp:会员登录界面(首页);checklogon.jsp:检测登录代码和密码是否一致,根据由JSP返回的结果显示不同的信息。BuyerBean:会员的合法性检验所用的Bean;booklist.jsp:给登录会员显示当前书店中可供选择的图书;addcart.jsp:将所选的图书加入购物车;shoppingcart.jsp:查看购物车的内容;首先要在本地数据库上建立一个ODBC数据源:bookstore。步骤如下:Web程序设计(Jsp)课程设计IX1)在开始-设置-控制面版中选取“数据源(ODBC)”;在Win2000Professional和Server中分别位于“开始-设置-控制面版-管理工具”和“开始-程序-管理工具”下。(2)启动“数据源(ODBC)”配置程序,界面如图所示。(3)在图中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),出现所示数据源驱动程序选择界面:2.2会员登陆做一个网上书店,在顾客开始购书之前,必须要记录用户的一些信息以便用户在不同的分类、不同的页面购书时,最后能够去收款台统一结帐,而且网上书店同时有许多人在选购图书,也要求对不同的顾客进行区分,可以在购书之前进行注册成为会员,以后只用会员代码和密码即可登录。Web程序设计(Jsp)课程设计X为了便于说明现在的电子商务网站,由JSP做页面表现,由JavaBean做应用逻辑的结构,会员登录程序分成两大部分:一、JavaBean用于对数据库的操作,验证用户名和密码是否正确;二、JSP页面部分,用于供用户会员代码和密码以及显示验证结果。2.2.1会员登陆javabean会员信息表如图其中memberID是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。在验证时我们只要使用验证用户的memberID和其pwd是否一致即可判断该用户是否合法,如果合法则其登录次数加1。验证部分的JavaBean的代码BuyerBean.JavaimportJava.sql.*;publicclassBuyerBean{privateStringmemberID=null;privateStringmemberName=null;privateStringpwd=null;privateintlogontimes=-1;privatestaticStringstrDBDriver=“sun.jdbc.odbc.JdbcOdbcDriver”privatestaticStringstrDBUrl=“jdbc:odbc:bookstore”;privateConnectionconn=null;privateResultSetrs=null;publicBuyerBean(){try{Class.ForName(strDBDriver);Web程序设计(Jsp)课程设计XI}catch(Java.lang.ClassNotFoundExceptione){System.err.println(“BuyerBean():”+e.getMessage());}}publicintgetLogontimes(){StringstrSql=null;try{conn=DriverManager.GetConnection(strDBUrl);Statementstmt=conn.Cre