您好,欢迎访问三七文档
382基于Web设计实习报告课程设计题目:网上书店桂林理工大学信息科学与工程学院班级:计本10-2报告人姓名:戚荣家学号:3100717218承担角色:组长同组组长:戚荣家同组其他成员:梁积东,何子良,兰佳浪,潘曾尚实验指导教师:吴名欢实验地点:1409完成起止日期:7月1日到7月12日383一、系统设计概述(目的、任务、开发环境、参考资料)网站主要提供的基本服务项目有:用户的注册,登录;用户的分级浏览或图书选购;店主对进书,售书,库存,客户,订单的管理;开发环境:MyEclipse和Access。二、系统需求分析随着时代的发展,网上购物的流行,喜欢读书的人也喜欢在网上买书,所以网上书店越来越流行。本系统就是在这一背景下设计的。三、系统设计的基本原理和采用的主要方法与技术系统的设计是基于jsp和javaBean来构建的网上书店,其中也运用了MVC模式。以及Access的数据库连接。四、本人在此次实习负责的系统模块设计与实现。本人负责数据库的连接和所有代码整合,还有一些界面的设计模块。代码主要分为四个部分。1.登录、注册,2.选书,3.提交订单和付款,4.还有店长管理。五、个人遇到的困难与获得的主要成果(本节内容不得少于3页)在运行的结果中可以提现。见附录本人遇到了些许小困难,但都得到了适当的解决。比如数据库连接问题,384(连不上);代码乱码;模块的整合问题等等。成果:懂得了系统的概念和模块的整合。六、测试与运行记录在测试的结果中可以提现。见附录七、系统设计完成结果分析与个人小结通过近两周的学习,我觉得本次实习收获还是挺大的。我觉得,如果我们决定要做一个系统,就得对这个系统有一个整体得把握,首先要进行系统的规划和选择,接着就是系统的设计,其中系统设计包括三个部分:1.确定系统需求;2.系统需求结构化:过程建模,这一步骤主要就是画数据流图;3.系统需求结构化:概念数据建模,这一过程主要是画实体—关系图。然后就是进行系统设计,系统设计包括设计人机界面和数据库设计。最后一步就是系统的实现与运行。在做书店系统分析与设计的的时候,我和我们的小组成员讨论过,我们清晰地了解我们系统所要实现的功能。当然,我们做东西,也是要追求进步,如果说做出来的东西和以前的系统都没什么两样,这样意义也不大。不过,这也得是在我们能力所及的范围内,我们得适当地把握好自己的时间和现有资源进行适当的设计。相信自己的努力还是能有一个很好的结果,我们得对自己的发展有一个好的概括。书店系统分析与设计的实习一直伴随着我们,说实在话,一直觉得自己有做不完的作业,刚开始还有些抱怨,但随着作业的进行,我们慢慢看到了自己的小小成果,觉得付出有了回报,并开始乐在其中。但我们相信只要坚持做下去,我们会收获到成功的喜悦的!最后我们完成了本次实习的基本要求。八、附录(软件配置、个人完成的程序模块和文档清单)(其中代码太多已删除)我们使用JSP和JavaBean来构建一个网上书店。介绍的例子可以分成两大部分,第一部分是普通程序,用于客户在网上选购图书,第二部分是管理程序,用于在服务器端处理客户的定单。客户端程序由以下几个部分构成:default.htm:会员登录界面(首页);385checklogon.jsp:检测登录代码和密码是否一致,根据由JavaBean返回的结果显示不同的信息。BuyerBean:会员的合法性检验所用的Bean;booklist.jsp:给登录会员显示当前书店中可供选择的图书;addcart.jsp:将所选的图书加入购物车;shoppingcart.jsp:查看购物车的内容;本例的数据库采用Access(.MDB数据库),对数据库的访问采用便于理解的JDBC-ODBC方式,在使用本例前先在本地数据库建立一个ODBC数据源:bookstore。设置步骤如下:(1)在开始-设置-控制面版(Win98、NT4.0)中选取“数据源(ODBC)”;在Win2000Professional和Server中分别位于“开始-设置-控制面版-管理工具”和“开始-程序-管理工具”下。(2)启动“数据源(ODBC)”配置程序,界面如图1-1所示。386图1-1ODBC数据源管理界面(3)在图1-1中“系统DSN”选项下单击“添加”按钮,来添加一个系统的数据源(DSN),则出现如图1-2所示数据源驱动程序选择界面:图1-2数据源驱动程序选择界面(4)在图1-2中选择“MicrosoftAccessDriver(*.mdb)”单击“完成”加载Access数据库的驱动,则出现如图1-3所示数据库ODBC安装界面:387图1-3数据库ODBC安装界面(5)在图1-3中单击“选择(S)…”按钮,启动一个类似资源管理器的界面来选择数据库,如图1-4所示,在图1-4所示的界面中选择bookstore.mdb。图1-4数据库选择界面1.1会员登录做一个网上书店,在顾客开始购书之前,必须要记录用户的一些信息以便用户在不同的分类、不同的页面购书时,最后能够去收款台统一结帐,而且网上书店同时有许多人在选购图书,也要求对不同的顾客进行区分,我们可以要388求顾客在购书之前进行注册成为会员,以后只用会员代码和密码即可登录。为了便于说明现在的电子商务网站,由JSP做页面表现,由JavaBean做应用逻辑的结构,在本例中将会员登录程序分成两大部分:一、JavaBean用于对数据库的操作,验证用户名和密码是否正确;二、JSP页面部分,用于供用户会员代码和密码以及显示验证结果。1.1.1会员登录JavaBean我们网上书店中的会员信息的库结构如图1-5所示:图1-5会员信息库其中memberID是主键,用于区分不同的会员,新会员注册时只能使用没有被使用的用户代码。在验证时我们只要使用验证用户的memberID和其pwd是否一致即可判断该用户是否合法,如果合法则其登录次数加1。下面是用户验证部分的JavaBean的代码清单1-1BuyerBean.Java在BuyerBean中用了packagecuug;在发布到WEBSERVER时,可以用JAR(JDK中带的打包工具)把编译后的BuyerBean.class打包成JAR文件在服务器的环境变量classpath中给予指定,或者在服务器classpath环境变量指定的目录下建一个cuug文件夹,把BuyerBean.class放到cuug目录下。3891.1.2会员登录htm与JSP会员登录要由两个部分来完成,第一个页面用于会员输入其ID和密码,当然首页还可以加一些广告等的其它信息,在本例中略过。清单1-2default.htm在本例中提供了一个文本框供用户输入会员代号和登录密码,其运行结果如图1-6所示,当会员输入其代码和密码后调用checklogon.jsp来验证该网络用户是否是合法会员。图1-6会员登录页在checklogon.jsp中接收从default.htm中由用户所填的会员代码和密码,把它传给BuyerBean,由BuyerBean判断该用户的会员代码和密码的正确性,若正确显示欢迎信息;若不正确,则提供一个重新登录的链接。Checklogon.jsp的源代码如下:清单1-3checklogon.jsp登录正确时的结果如图1-7所示,错误时的结果如图1-8所示。390图1-7用户登录正确(会员abcd的真实姓名是cuug001)图1-8用户登录错误1.2选书会员登录之后,合法的用户将可以看到本书店中可供选择的图书,并且将他感兴趣的书放入“购物车”,在去“收银台”结帐之前,该用户可以放弃购买其购物车中的任何一本书。在此处我们用BookBean来获取图书的信息,在Booklist.jsp中显示这些书。在会员选书部分,我们仍用JavaBean来操作数据库,用jsp来做页面表现。1.2.1选书JavaBean391图书信息的表结构如图1-9所示,为了便于说明,在本例中price也设置成了String型,在实际应用中应该设置成货币或浮点型:图1-9图书信息的表结构其中,bookISBN是主键,区分不同的图书。JavaBean要根据不同的图书的bookISBN来获得其相应的书名、作者、出版社、价格、简介等信息。同时JavaBean还要有列出书店中所有图书的信息的功能。清单1-4BookBean..Java1.2.2选书JSP会员正确登录之后,即可进入书店进行选书,我们已经在checklogon.jsp中将会员的代码(memberID)放入系统的session中,为了保证用户只能从主页面登录进入书店,我们在给会员显示可供选择的图书之前,先检查session中是否有memberID的合法值,如果没有则提示用户先去登录。清单1-5booklist.jsp已经登录过的会员和没有登录过的会员进入该页面是的结构分别如图1-10和图1-11所示:正确登录的会员的会员代码在浏览器的标题栏显示为:member:“会员代码”。392图1-10会员abcd正确登录图1-11会员未登录直接来选书在本例中利用JavaScript语句定义了一个函数来将所调用另外的一个jsp来处理把书加入购物车的操作:SCRIPTlanguage=JavaScript!--functionopenwin(str){window.open(addcart.jsp?isbn=+str,393shoppingcart,width=300,height=200,resizable=1,scrollbars=2);return;}//--/SCRIPT该函数用于打开addcart.jsp并切将图书编号作为参数传给addcart.jsp。addcart.jsp利用Cookie来保存所选购的图书信息,Cookie相当于一个购物车。为了与其他的Cookie变量区分,每个写入Cookie的图书编码前面都加上“ISBN”作为标志,向购物车中加入图书的代码如下:]清单1-6addcart.jsp在addcart.jsp中利用JavaScript定义了一个函数Timer(),由它来控制该窗口的显示时间(BODYonload=Timer())。继续购买部分也是由JavaScript定义的函数来控制关闭本窗口。其运行结果如图1-12所示。图1-12加入购物车无论从图1-12还是图1-13所示的界面中,都提供了一个查看购物车的超链接,查看购物车的程序如下所示,它从Cookie中取出图书的编号,并将它传给BookBean,由BookBean来获得图书的详细资料。查看购物车的JSP代码shoppingcart.jsp代码如下:清单1-7shoppingcart.jsp查看购物车的结果如图1-13所示:394图1-13查看购物车内容在查看购物车内容时提供了一个删除图书的功能,其目的是从购物车删除不想购买的图书,其源代码如下:清单1-8delbook.jsp本例中利用jsp:forward动作在删除图书动作完成之后,将页面继续转向购物车页面。即图1-14只显示一瞬间,浏览器的内容由成为购物车内容的页面。395图1-14删除图书的页面如果一个会员选了很多书,逐个删除比较麻烦。为了方便会员放弃选购的所有图书,重新开始选书,本例提供了清空购物车程序(emptycart.jsp),用于清空购物车,其原理与删除图书相同,只是把全部的Cookie中图书的有关的内容都清空了。其代码如下:清单1-9emptycart.jsp图1-1清空购物车的页面从图书选择页面和购物车页面,点图书名称,都可以查看图书的详细信息,查看图书详细信息的jsp仍用BookBean来获取图书的详细信息,只是在该页中可以看到更加详细的信息:清单1-10bookinfo.jsp其运行结果如图1-16所示。396图1-16图书详细信息1.3定单提交及查询用户一旦确定购物车中所选的图书都是其所要购买的,就要到去提交其定单,以便书店按照相应的方式进行处理。而且,为方便用户是否已经提交定单,及定单的状态,本例提供了定单查询功能。在此处我们用OrderBean来将定单
本文标题:小型网上书店
链接地址:https://www.777doc.com/doc-3954002 .html