百易网上书城系统的设计与实现毕业论文_第1页
百易网上书城系统的设计与实现毕业论文_第2页
百易网上书城系统的设计与实现毕业论文_第3页
百易网上书城系统的设计与实现毕业论文_第4页
百易网上书城系统的设计与实现毕业论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计第1页共32页1引言时代在进步,人类从原始社会走到信息社会,各种工具不断被发明和使用。现如今,计算机和互联网已经相当成熟,逐渐成为社会进步的一大助力,人们也越来越依赖于网络,因为网络带来了很多便利,人们可以上网购物、学习、与远方的亲友聊天等等。网上书城系统的开发,可以充分地利用计算机强大的存储和计算的功能,可以存储大量的图书,同时可以高效的管理这些书籍,提高了工作的效率和服务的质量。网上书城的另一个优势就是可以让读者随时查询到所需要的书籍并购买,另一方面,网上书城的拥有者可以利用强大的数据库功能,随时可以查看各个书籍的库存、销售量,方便网上书城的经营者根据实际情况买入库存短缺的图书。网上书城可以满足全球所有读者的看书购书需求,他们能够在网上的任意一家书店搜到想要阅读的书籍并购买。通过这种方式,图书能够在市面上快速流通,从而降低了图书的出售成本,免除了图书的流通费用,进一步减少生产和交易的成本,更符合时代的要求。本系统在电子商务技术的应用使得企业或个人通过电子商务技术进行图书的网上购买,新用户注册、用户登陆、商品分类、查询商品、购物车和订单等基本功能。网上书城系统的开发与实现,充分体现了信息化社会的好处,大大改变了传统的去书店查找并购买书籍的方式,节省了人们查找图书和路程消耗的时间,既方便又能满足大家的需求。网上书城的实现不仅给想要购买图书的人带去了方便,也为书店本身带来了许多利益。通过在互联网上开设书店,可以不用花费高额的店面租金和昂贵的装修费用,不用花费人力物力进行书籍的运输,这些都是网上书城对于传统书店的直接优势。同时,由于全球化的影响,网上书城更容易开拓全球市场。书城的运营是24小时制的,可以满足所有用户购书时间上的需求,而且不需要售货员,网上书城系统可以自行完成用户购书的流程,相当于一个自动售货机。还有就是可以利用互联网,通过多种有效途径快速对网上书城进行宣传,吸引更多的人前来选购。以上这些都是网上书城体现出的优点。本系统采用的是B/S模式,用ECLIPSE实现程序的开发,使用DIVCSS实现页面的布局,使用ORACLE实现数据库的设计,运用SQL语句实现数据库的操作。本系统分为前台系统和后台系统。其中前台系统功能模块中包含用户模块、前台图书模块、浏览记录模块、购物车、前台订单模块等。后台系统主要包括图书类别模块、图书管理模块、后台订单模块等。本科毕业设计第2页共32页本系统实现了网上书城系统的相关功能,系统具有的优点页面简单,操作简便,用户能够第一时间查询到自己想要的东西。系统的开发过程中充分体现了软件工程的设计思想,首先从系统的需求分析入手,根据数据间的关系模式设计出各个数据库表,再详细分析系统的各个功能模块,对其进行更细腻的分解,从而设计出系统的模块化结构,最后从系统的具体要求出发,实现各个功能模块的详细功能。本科毕业设计第3页共32页2开发工具及技术简介本系统采用选择ECLIPSE作为开发工具,使用JAVA语言结合JSP网站开发技术,采用数据库服务器ORACLE完成对系统数据的管理,利用HIBERNATE组件完成数据库的连接及打开。下面将对系统的开发工具和主要技术作一个简单的介绍。21ECLIPSE开发工具ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTKIT,JDK)1。虽然大多数用户很乐于将ECLIPSE当作JAVA集成开发环境(IDE)来使用,但ECLIPSE的目标却不仅限于此。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所2。这种平等和一致性并不仅限于JAVA开发工具。尽管ECLIPSE是使用JAVA语言开发的,但它的用途并不限于JAVA语言;例如,支持诸如C/C、COBOL、PHP、ANDROID等编程语言的插件已经可用,或预计将会推出。ECLIPSE框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于ECLIPSE的应用程序的一个突出例子是IBMRATIONALSOFTWAREARCHITECT,它构成了IBMJAVA开发工具系列的基础。22JAVA编程语言JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言。JAVA技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群3。23ORACLE10GORACLEDATABASE,又名ORACLERDBMS,或简称ORACLE。是甲骨文公司的一款关系数本科毕业设计第4页共32页据库管理系统。它是在数据库领域一直处于领先地位的产品7。可以说ORACLE数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案4。ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器CLIENT/SERVER或B/S体系结构的数据库之一5。比如SILVERSTREAM就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。ORACLE数据库最新版本为ORACLEDATABASE12C。ORACLE数据库12C引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如ORACLEMULTITENANT可快速整合多个数据库,而AUTOMATICDATAOPTIMIZATION和HEATMAP能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得ORACLE数据库12C成为私有云和公有云部署的理想平台6。24JQUERYJQUERY是继PROTOTYPE之后又一个优秀的JAVASCRIPT库。它是轻量级的JS库,它兼容CSS3,还兼容各种浏览器(IE60,FF15,SAFARI20,OPERA90),JQUERY20及后续版本将不再支持IE6/7/8浏览器。JQUERY使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、EVENTS、实现动画效果,并且方便地为网站提供AJAX交互。JQUERY还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择,JQUERY能够使用户的HTML页面保持代码和HTML内容分离,也就是说,不用再在HTML里面插入一堆JS来调用命令了,只需要定义ID即可7。JQUERY是一个兼容多浏览器的JAVASCRIPT库,核心理念是WRITELESS,DOMORE写得更少,做得更多。JQUERY在2006年1月由美国人JOHNRESIG在纽约的BARCAMP发布,吸引了来自世界各地的众多JAVASCRIPT高手加入,由DAVEMETHVIN率领团队进行开发。如今,JQUERY已经成为最流行的JAVASCRIPT库,在世界前10000个访问最多的网站中,有超过本科毕业设计第5页共32页55在使用JQUERY。JQUERY是免费、开源的,使用MIT许可协议,JQUERY的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用AJAX以及其他功能,除此以外,JQUERY提供API让开发者编写插件,其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页8。JQUERY,顾名思议,也就是JAVASCRIPT和查询(QUERY),即是辅助JAVASCRIPT开发的库。25JSPJSP使JAVA代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。JSP被JSP编译器编译成JAVASERVLETS。一个JSP编译器可以把JSP编译成JAVA代码写的SERVLET然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。JSP主要优先如下A)WEB服务器的支持大多数通用的WEB服务器如APACHE、NETSCAPE和MICROSOFTIIS都支持JSP页面,只有微软本身的MICROSOFTIIS和PERSONALWEBSERVER可以支持ASP9。B)平台的支持JSP具有平台独立性,只要是一般的JAVA程序可以运行的平台,都支持JSP程序。WINDOWS平台可以很好的支持ASP,但ASP对于基于WIN32逐渐模型的依赖,使得它难于移植到其它平台上10。B)组件模型JSP是建立在可重用的、跨平台的组件(如JAVABEANS、ENTERPRISESJAVABEANS和用户定制的标签库等组件)之上的,而ASP使用的是基于WIN32的COM组件模型11。D)脚本语言JSP可以使用JAVA编程语言或JAVASCRIPT作为脚本语言,而ASP使用VBSCRIPT或JSCRIPT作为脚本语言。E)安全性JSP使用JAVA安全模型,而ASP使用WINDOWSNT的安全结构。F)与ACCESS数据库的连接JSP使用JDBC建立与ACCESS数据库的连接,而ASP对ACCESS数据库使用DATAACTIVEOBJECTS。本科毕业设计第6页共32页H)用户定制的标签JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。26B/S结构由于CLIENT/SERVER结构存在的种种问题,因此人们又在它原有的基础上提出了一种具有三层模式3TIER的应用系统结构浏览器/服务器BROWSER/SERVER结构10。BROWSER/SERVER结构是伴随着因特网的兴起,对CLIENT/SERVER结构的一种改进。从本质上说,BROWSER/SERVER结构也是一种CLIENT/SERVER结构,它可看作是一种由传统的二层模式CLIENT/SERVER结构发展而来的三层模式CLIENT/SERVER结构在WEB上应用的特例11。BROWSER/SERVER结构主要是利用了不断成熟的WEB浏览器技术结合浏览器的多种脚本语言和ACTIVEX技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易12。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。本科毕业设计第7页共32页3需求分析31项目背景网上书城是进行图书出售的一种新兴的途径,在近几年出现了几个大的网上书城系统。20世纪80年代后,随着计算机的出现和迅速普及,计算机日益成为很多机构不可缺少的工具,到90年代之后,计算机已经逐渐普及到千家万户,互联网又发展迅猛,于是各种基于网络的网上书城系统开始出现,网上书城网站也逐渐增多,如当当网、亚马逊等。网上书城作为一种基于互联网平台的有效的图书出售平台,越来越受到许多传统图书经营者和相关企业的关注及运用。开发网上书城系统不仅能更好得方便读者用户购买书籍,也能帮助图书经营者甚至企业更好的出售图书从而获取更多的经济效益。网上书城系统将传统的门面式出售图书,把图书的销售转移到了网络上,人们可以快速的根据自己的情况获取相应的书籍,这样更加方便了用户。而对经营者来说,将图书销售放在网站上,可以对图书进行更加有效的管理,大幅减少了图书销售的成本,同时经营者或企业也能通过网上书城系统中书籍的出售情况做一个数据的收集和统计,更好得帮助经营者作下一步规划。32系统功能根据网上书城系统的需求,在汇总分析后,对系统各功能进行模块划分,并制作出系统的主要功能图,如图31所示。分别对网上书城系统的各个功能介绍如下A前台用户模块当用户处在系统的前台首页时,可以通过单击左上角的“注册”按钮使页面跳转到用户注册页面,本系统需要用户填写用户名、密码、邮箱,需要指出的是本系统增加了验证码的文本框,用户需要正确填写验证码图片中的验证码信息,用户不必注意大小写,当用户按照正确的格式填写好各个信息后,单击注册按钮,系统会自动转发到登陆页面;如果用户填写的用户名在数据库中已经被其他用户占用,那么在点击注册按钮后系统会在注册页面提示用户该用户名已经被使用。在这里为了在原页面上方便的显示信息,本系统采用了EL表达式的技术。本科毕业设计第8页共32页如果是已经注册的用户,在登录时,如果用户名或密码不正确,系统会返回到登录页面,并提示用户名或密码提示错误,如果登录成功,系统会转发的图书的显示页面,并在左上角显示已经登录的用户的用户名。B后台类别模块在首页点击进入后台,即可进入后台相关页面,类别模块主要有类别的添加、查看、更新、删除的功能。点击添加类别按钮,会转到一个类别添加的页面,填写类别的名称,点击保存,如果保存成功,系统会转发到一个带有提示成功的页面。在后台点击查看分类的按钮,则会转到已存在分类列表的页面,在每个分类的后面都提供了更新和删除的功能,点击更新系统会转到更新页面,同时把原类名的信息自动回显到表单,如果更新成功,系统会转发到一个带有提示更新成功的页面;在分类列表页面点击删除按钮,系统会提示用户是否确定要删除该类,点击确定后删除。网上书城系统前台系统后台系统图书管理订单管理用户注册图书分页浏览记录购物车订单查看分类管理图31系统功能图C后台图书模块后台的图书模块包括了图书的插入、更新、删除操作。在首页点击进入后台,即可进入后台相关页面。点击添加图书按钮,会转到一个图书添加的页面,填写图书相关信息,需要说明的是到达该页面的时候系统会自动携带分类信息,并回显该类之前的类别,点击保存,如果保存成功,系统会转发到一个带有提示成功的页面。在后台点击查看图本科毕业设计第9页共32页书的按钮,则会转到已存在图书列表的页面,在每个图书的后面都提供了更新、删除和查看封面的功能,点击更新系统会转到更新页面,同时把原图书的信息自动回显到表单,如果更新成功,系统会转发到一个带有提示更新成功的页面;在图书列表页面点击删除按钮,系统会提示用户是否确定要删除该图书,点击确定后删除。在图书列表页面点击查看图书封面按钮,系统会转到显示该图书封面的页面。D前台图书分页在首页即显示图书的分页。系统自动把三本图书分为一页,每个图书都显示图书的封面和图书的相关信息,同时,图书的下边一行,显示了共多少页及当前为第几页,共有多少条图书记录,还有首页、上一页、下一页、末页的超链接,同时提供了跳转到指定页的功能。上方则显示了购物车的相关信息,提供了在指定价格区间进行查询的功能。E查看浏览记录用户在图书页面查看图书的同时,系统会记录用户查看了哪些图书,点击左侧导航中的查看浏览记录的按钮,会自动跳转到显示用户浏览记录的页面,并且系统会按用户查看图书的先后顺序倒序来显是图书的相关信息,点击图书后面的查看详细信息会再次跳转到该图书详细信息页面,系统同时提供了清除浏览记录的功能。F购物车这是网上书城的核心功能。在图书分页页面,点击加入购物车即可把指定图书加入到用户的购物车中,点击右上角的查看购物车,即可显示购物车中相关购物项的信息,继续点击结账按钮,系统会判断此时是否存在用户,如果不存在系统会转到用户登录页面,如果用户已经登录,系统会跳转到显示地址列表的页面,用户指定一个地址,然后点击生成订单,系统会返回一个订单号给用户,从而完成图书的购买。G订单订单分为前台的订单模块和后台的订单模块,前台点击查看订单,即可查看当前用户的订单列表,如果此时没有用户,系统会跳转到用户登录页面;后台的订单模块会显示所有用户的订单列表,如果管理员点击发货的按钮,则订单会显示已发货。无论前台订单模块还是后台订单模块都提供了查看订单详情的功能,点击查看订单详情的按钮,系统会跳转到订单详情页面,页面上显示了该订单的地址信息及订单所包含的所有的图书的信息。本科毕业设计第10页共32页33系统运行环境该系统至少需要一台安装联网的计算机。具体系统需求如下AWINDOWSXP或更高版本的操作系统。BORACLE10G或更高版本的数据库服务器。C开发调试环境为ECLIPSE。DTOMCAT服务器。本科毕业设计第11页共32页4数据库设计41数据库需求分析任何项目开发的过程中的一个核心环节就是数据库的设计,数据库设计的好坏是项目的成功与否的关键因素之一,如果把项目比作高楼大厦,数据库就像是项目的地基,如果数据库设计的不完善,那么就为项目后续的维护埋下了隐患,项目后续的更改和功能的进一步扩充可能就会变得异常的艰难。好的数据库设计有下面的一些作用。A充分反映和体现实体的属性,能够满足系统的业务需求。B数据的准确性、健壮性和一致性,通过主键、外键、约束、索引等来保持数据的准确性和数据库整体的健壮性。C数据库中数据查询的效率,需要数据库的设计者建立合理的表结构,必要时增加除数据库系统自动生成的索引外的索引,提高数据的查询效率。D扩展性,在必要时能根据需求扩展数据结构。按照对系统需求的分析和基于用户/服务器开发模式的要求,数据库采用ORACLE,它所支持的字段数据类型包括数值、字符、日期时间以及二进制和整数等类型,它性能稳定适合本设计的工作需求。通过对系统需求的分析,列出以下部分数据库表和数据项AUSERS表包括编号、用户名、密码、邮箱等数据项;BCATEGORY表包括编号、分类名称等数据项;CBOOK表包括编号、图书名称、作者、价格、库存、销量、封面路径、所属类别的编号等数据项;DADDRESS表包括编号、收货人姓名、地址信息、手机号、所属用户编号等数据项。EORDERS表包括编号、订单号、订单状态、订单时间、总金额、所属用户编号、所属地址编号等数据项;FORDERITEM包括编号、数量、单价、所属订单编号、所属图书编号等数据项。根据上述分析得到ER图,如图41所示本科毕业设计第12页共32页用户图书订单详情订单地址类别管理关联属于关联属于属于编号姓名密码邮箱地址编号收货人姓名手机号所属用户编号订单编号订单号总金额所属用户编号编号数量单价所属订单编号编号名称销量所属类别编号分类名称分类编号111111NNNNNN地址信息所属图书编号图41系统ER图本科毕业设计第13页共32页42创建数据库点击开始菜单开始程序ORACLEORADB10G_HOME1配置和移植工具DATABASECONFIGURATIONASSISTANT,单击“下一步”,系统提示选择需要进行的操作;选择“创建数据库”,点击下一步;选择“事务处理”,点击下一步;输入全局数据库名,点击下一步;选择“所有帐户使用同一口令”,并设置口令,然后点击下一步;一直点击“下一步”,点击“确定”,ORALCE开始创建数据库。需要额外说明的是,当新创建一个数据库而没有进行配置时会出现“ORA12514TNSLISTENERDOESNOTCURRENTLYKNOWOFSERVICEREQUESTEDINCONNECTDESCRIPTOR”的警告,这个的错误意思就是说ORA12514TNS监听程序当前无法识别连接描述符中请求的服务,这个错误就是在DORACLEPRODUCT1020DB_1NETWORKADMINLISTENERORA目录下面的这个文件里面的一个监听没有配置。SID_LIST_LISTENERSID_LISTSID_DESCSID_NAMEPLSEXTPROCORACLE_HOMEDORACLEPRODUCT1020DB_1PROGRAMEXTPROCSID_DESCGLOBAL_DBNAMEBOOKSTOREORACLE_HOMEDORACLEPRODUCT1020DB_1SID_NAMEBOOKSTORELISTENERDESCRIPTION_LISTDESCRIPTIONADDRESSPROTOCOLIPCKEYEXTPROC1本科毕业设计第14页共32页DESCRIPTIONADDRESSPROTOCOLTCPHOST10246146133PORT1521需要我们加入的是SID_DESCGLOBAL_DBNAMEBOOKSTOREORACLE_HOMEDORACLEPRODUCT1020DB_1SID_NAMEBOOKSTORE同时要注意的是BOOKSTORE一定要是ORACLE数据库服务的实例名,本系统数据库服务的实例名就是BOOKSTORE。43数据库表设计根据需求分析中对系统功能的各方面做出的定义,系统设计了相应的数据库表。进行开发时,在ORACLE数据库服务器中应该严格按照此结构进行表之定义。根据功能模块的设计,以及规范化的设计要求,该系统所涉及的表包括用户表、图书分类表、图书表、地址表、订单表、订单详情表共有6个表A注册用户表USERS注册用户表USERS用来保存用户信息,结构如表42所示。表42注册用户表(USERS)编号字段名称数据类型允许空说明1USERS_IDINTEGER否用户编码2USERS_NAMECHAR150是用户名3PASSWORDCHAR150是密码4EMAILCHAR300是邮箱B图书分类表CATEGORY图书分类表CATEGORY用来保存提问的问题信息,结构如表43所示。本科毕业设计第15页共32页表43图书分类(CATEGORY)编号字段名称数据类型允许空说明1CATE_IDINTEGER否自动编号,主键2CATE_NAMECHAR200是类别名称C图书表BOOK图书表BOOK用来保存图书的详细信息,结构如表44所示。D地址表ADDRESS地址表ADDRESS用来保存地址的详细信息,结构如表45所示表44图书(BOOK)编号字段名称数据类型允许空说明1BOOK_IDINTEGER否自动编号,主键2BOOK_NAMECHAR200是图书名称3AUTHORCHAR200是作者4PRICENUMBER16,2是价格5STORE_NUMBERINTEGER是库存6SALSE_AMOUNTINTEGER是销量7IMG_PATHCHAR500是封面路径8CATE_IDINTEGER是分类编号表45地址(ADDRESS)编号字段名称数据类型允许空说明1ADD_IDINTEGER否自动编号,主键2CUSTOMER_NAMECHAR200是收货人姓名3LOCATIONCHAR500是地址4CELLPHONECHAR300是手机号5USERS_IDINTEGER是所属用户编号E订单表订单表ORDERS用来保存订单的详细信息,结构如表46所示。本科毕业设计第16页共32页F订单详情表订单详情表ORDERITEM用来保存订单详情的详细信息,结构如表47所示。表46订单(ORDERS)编号字段名称数据类型允许空说明1ORDER_IDINTEGER否自动编号,主键2ORDER_STATUSINTEGER是订单状态3ORDER_NUMCHAR300是订单号4TOTAL_AMOUNTNUMBER16,2是总价5ORDER_TIMETIMESTAMP6是订单时间6USER_IDINTEGER是所属用户编号7ADD_IDINTEGER是所属地址编号表47订单详情(ORDERITEMS)编号字段名称数据类型允许空说明1ITEM_IDINTEGER否自动编号,主键2QUANTITYINTEGER是数量3PRICENUMBER16,2是单价4ORDER_IDINTEGER是所属订单编号5BOOK_IDINTEGER是所属图书编号本科毕业设计第17页共32页5系统设计51首页设计由于网上书城系统要求用户能够最效率的获得图书的相关信息,界面必须简洁易操作,所以首页左侧是图书分类的列表,当用户点击某个分类时,右侧的图书就被筛选为该分类的图书。同时图书的上方有个价格的表单,用户可以根据自己的情况来选择指定价格区间的图书。页面设计如图51所示。图51首页设计52前台系统设计前台系统主要包括用户注册模块、用户登录模块、前台图书模块、浏览记录模块、购物车、前台订单模块等。521用户注册模块A用户注册页面设计在首页点击注册按钮即可来到注册页面,该页面包括几行行文本域,主要完成用户注册功能。用户在此填入自己相应的资料后,单击注册,系统确认资料格式正确并且数据库中该用户名没有被使用后便可完成注册。信息错误检测采用JQUERY的技术,当用户填写的信息格式不正确时,点击注册按钮后就会弹出对话框提示用户哪项格式不正确,本科毕业设计第18页共32页方便用户改正,同时,用户需要正确输入系统给出的验证码从才可以成功注册成功。用户注册初始页面和错误提示页面如图52和图53所示。图52用户注册初始页面图53用户注册错误提示页面B用户注册主要流程用户从主页面来到注册页面,可以输入相关注册信息。当填写的信息为空、格式不正确,会出现错误提示。当单击注册按钮后,系统会从数据库匹配是否有重复的用户名,如果用户名存在则系统会提示用户名已经存在,返回注册页面,并提示该用户名已存在。当所有注册信息填写正确后,用户信息会存入数据库,页面跳转到登陆页面。流程图如图54所示。本科毕业设计第19页共32页522用户登录模块A用户登录页面设计否信息格式是否正确资料写入数据库,注册成功系统自动转发到注册页面是查询数据库,用户名是否存在否是开始登陆页面输入相关注册信息图54用户注册流程图图55登录页面本科毕业设计第20页共32页用户可以通过点击主页面的登录按钮或者注册完成后系统会跳转到登录页面,并需要用户输入用户名和密码。登录页面如图55所示。B用户登录主要流程用户首先输入用户名和密码,点击登录按钮。当填写的信息为空、格式不正确,会出现错误提示。当单击登录按钮后,系统会从数据库匹配是存在该用户,如果用户不存在,系统会返回登录界面并给出提示信息。当所有登录信息填写正确后,页面跳转首页,首页的左上角会有欢迎用户登录的信息。流程图如图56所示。523前台图书模块首先为了实现分页,我们需要了解分页的模型,我们需要在页面上提供一个页码,根据JAVA语言的面相对象的思想,系统应该返回给我们一个包含了页面上要显示的信息的PAGE对象,让PAGE对象在页面上显示就实现了分页。从而我们在代码中创建了特殊的PAGE类,分页的每一页上有页面上要显示的集合数据、当前页码、总页数、总记录数、首页、末页、上一页、下一页,所以我们在PAGE类中设置了代表总记录数的TOTALRECORDNUM,代表总页数的TOTALPAGENUM,代表当前页码的PAGENO,包含了图书数据的LIST,同时我设置了一页上显示3个图书数据。需要注意的是,为了保证从当前页码的正确性,我在PAGE对象的构造器中对PAGENO进行了纠正。但是,单纯的分页不能满足用户的需要,为了适应不同用户的不同要求,我们需要在原有分页的基础上实现带条件的分页,根据JAVA语言面相对象的思想,我们应该把页面上的条件封装到一个整体的对象中,页面上的条件有类别和价格。这样我们就新创建一个类叫PAGECONDITION,它有四个字段,分别是PAGENO代表页码、CATEID代表分类编号、最小价格MINPRICE、最大价格MAXPRICE。分页显示界面如图57所示。这里为了方便的把从页面上获取的参数封装成我们组要的对象,特别的我构造了一个工具方法,代码如下PUBLICSTATICTPARAM2BEANHTTPSERVLETREQUESTREQUEST,CLASSCLAZZTHROWSILLEGALACCESSEXCEPTION,INVOCATIONTARGETEXCEPTION,INSTANTIATIONEXCEPTIONTTCLAZZNEWINSTANCE/FIELD数组FIELDFIELDNAMEREQUESTGETPARAMETERFIELDNAMEFIELDFIELDSCLAZZGETDECLAREDFIELDS本科毕业设计第21页共32页FORINTI0I删除分类“OUTWRITEHTMLSTR本科毕业设计第27页共32页图513添加分类页面图514分类列表页面B图书类别更新在后台页面,用户点击查看分类,即可进入已存在分类列表,每个分类名称的后面都提供了更新的超链接,用户点击链接即可进入分类更新页面。在分类更新页面,系统会在分类名称文本框中自动回显原分类的名称,方面用户的修改。532后台图书管理模块A图书的添加和删除在后台页面点击添加图书的超链接,即可转到图书添加页面,用户在填写完图书的各个相关信息后点击添加按钮,即可添加图书到数据库中。需要说明的是,在图书的添加页面上需要从数据库中提取真实的分类信息,所以在实现这个功能的时候,不能直接通过超链接到达图书添加页面,而需要通过SERVLET从数据库拿到图书的分类数据后再转发到图书的添加页面。用户点击查看图书,即可进入已存在图书列表,点击所要删除的本科毕业设计第28页共32页图书后面的删除超链接即可删除该图书。添加图书页面如图515所示。图书列表页面如图516所示。图515图书添加页面图516图书列表页面B图书的更新在后台页面,用户点击查看图书,即可进入已存在图书列表,每个图书名称的后面都提供了更新的超链接,用户点击链接即可进入图书更新页面。在图书更新页面,系统会在图书的各个文本框和类别下拉框中自动回显原图书的相关内容,方面用户的修改。533后台订单模块用户点击后台页面的查看订单超链接即可转发到所有用户所提交的订单列表的页面。订单列表如图517所示。本科毕业设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论