




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于java图书销售管理系统的设计与实现摘 要 随着科技的迅速发展,计算机技术已应用到社会的各个领域。随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在络上进行出售、收购、宣传等操作,从而使得网络越来越成为现今社会上必不可少的元素,而网站就是这个网络里很庞大的元素。通过图书书店购物系统这个平台,可以使用户足不出户就可以了解丰富的图书信息,极大的方便了用户,系统的主要功能包括:图书类别管理、图书信息管理、订单管理、会员管理、系统公告管理等。分为管理员用户、会员用户这二种用户平台。本系统前台主要使用JSP作为开发语言,后台使用
2、MySql作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的网上书店系统。关键字:网上书店,JSP,B/S结构ABSTRACTWith the rapid development of science and technology, the computer technology has been applied to each field of the society. Along with the computer technology and the rapid development of communication te
3、chnology, the scale of network is gradually increasing, network element also increases ceaselessly subsequently, some use their communication, using some of its commercial purposes, in the network for sale, purchase, publicity and other operations, so that the network has more and more become nowada
4、ys essential elements, while the website is very large in the network elements。Through the book shopping system this platform, user can remain within doors can understand the book rich information, a great convenience to users, the main functions of the system include: books category management, boo
5、k information management, order management, member management, bulletin management system. As administrator, members of the user to the two user platformThe front of the system using JSP as a development language, the use of MySql as a database management system, the development environment is MyEcl
6、ipse, server using tomcat, developed a Web technology based on B / S structure convenient information inquiry system。Keywords: Online bookstore,JSP,B / S structure目 录第1章 绪论11.1课题背景11.2目的和意义11.3开发工具及技术21.3.1开发工具21.3.2 JSP31.3.3 Web41.4软硬件需求4第2章 需求分析52.1可行性分析52.1.1技术的可行性52.2.2经济的可行性52.2.3操作可行性52.2.4法律
7、的可行性52.3系统用户用例图62.3.1用户管理用例图62.3.2购物车用例图62.3.3订单管理用例图62.4功能模块需求分析72.4.1注册62.4.2登陆62.4.3购物车62.4.4订单62.5设计的基本思想82.6性能需求92.6.1系统的安全性92.6.2数据的完整性92.7界面需求9第3章 系统分析与设计113.1数据库的分析与设计113.1.1数据库的概念结构设计113.1.2数据库的逻辑结构设计143.1.3数据库的连接原理163.2中文乱码问题处理18第4章 系统功能实现214.1用户注册页面214.2用户登陆页面234.3购物车页面334.4订单页面33第5章 系统测试
8、355.1系统测试目的与意义355.2.1主页面的登录模块测试355.3其他错误36结 论37参考文献38致 谢40第1章 绪论1.1课题背景互联网给我们带来的不仅仅是大量的信息,更是商业模式和消费观念的改变,电子商务业已经成为一种时尚。由于图书信息易于判断和选择等优势,使其成为了最适合于网上交易之一,于是网上书店便成了电子商务的先锋产业。相比于此,我国在这一方面起步较晚。1996年,外贸部成立中国国际电子商务中心。1997年,网上书店开始出现,网上购物及中国商品订购订货系统出现端倪。1998年7月,中国商品交易与市场网站正式运行,北京、上海启动了电子商务工程。1999年底,正是互联网高潮来临
9、的时候,国内诞生了300多家公司从事B2C的网络哦公司。2000年,这些网络公司增加到了700家。但随着纳指的下挫,到2001年人们还有印象的只剩下三四家。随后网络购物历经了一个漫长的“寒冬时期”。SARS 开辟了中国网上购物的新纪元。面对非典的袭击,多数人被困在屋内,而要 想不出门就买到自己所需的东西只能依赖网络,许多防范意识很强的人也试着网上购 物。至此,有越来越多的人认识到“网上订货、送货上门”的方便,也有越来越多的人也 开始接受网上购物。2003年非典过后,越来越多的人开始参与网络购物。以当当和卓越 为代表的中国 B2C 的早期拓荒者,从图书这个低价格、标准化的商品作为网络购物的目前由
10、于电子邮件广泛而频繁的使用,国内外各大网站都提供了电子邮件服务,而且有些是免费服务。人们日常使用的电子邮件有很多,但是就方式来说只有两种。第一种是在网站上使用电子邮件,也就是一般所说的Web使用方式,通常人们使用时必须首先登录到WebMail服务器(网页邮件服务器),通过身份验证后才可以查阅收发邮件。但是用户不能总是处于登录状态,也不能每时每刻发送接收邮件。如果长时间没有对WebMail服务器进行操作,则被认为登录超时,自动退出系统。用户需要再次登录邮件服务器,才可以进行操作。由于频繁的登录填写帐户和密码,造成了用户对电子邮件的使用产生不便。这时出现一种不需要访问Web页面,只需要您在本地机器
11、上使用电子邮件的相关软件,就可以直接收发、管理电子邮件。它既能支持全部的 Internet 电子邮件功能,又能改正WebMail服务器使用的种种缺点,方便用户发送接收邮件。目前以微软的OutLook Express和国产FoxMail为两款经典代表。两者都是著名的客户端Email软件,功能不差上下。1.2目的和意义目的:设计一款基于java的快捷方便的图书销售管理系统,完成图书信息管理,管理员信息管理,用户信息管理,订单信息管理,购物车信息管理等功能。意义:当今时代,Internet和计算机正在以一种不可抵挡的气势蓬勃发展,网络化和全球化已经成为一种潮流。个人的生存,企业的发展,必须要采取新的
12、竞争手段和生存方式去适应它。因为Internet的发展,使得传统商业的不足暴漏无遗,所以我们必须结合原有的商业模式和Internet相契合以取得最大的效益。电子信息用到已覆盖全世界,运用Internet网开展电子商务的实际已经成熟。电子商务正在对人类进行着全方位的改造,也改变着人与人之间的交往方式,为我们呈现出了一个全新的不一样的世界。电子商务时代的到来,使传统的经营方式和经营理念发生了翻天覆地的变化。当今的世界经济正在向知识经济转变,人们希望从书中得到知识,就会需要一个快捷高效的平台来购买书籍,尽管现在电子书很是普及,但是仍有一大部分人习惯于纸质版的书籍,所以建立一个这样的售书网站,就能满足
13、人们的需求。就图书销售管理系统而言,对于一些爱好读书,白天又在工作的人而言,网上图书近在咫尺,并且不会关门,读者可以在网上查阅,订购图书,节省了大量的时间,也无需在书店一本本翻阅查找,直接输入书名即可。因此网上书店必将有长足发展。随着我国产业政策,物流政策等各种影响网上书店发展的外部因素的影响的调整,可以确定网上书店具有巨大的发展空间,其方便快捷,价格低廉,资源丰富,不受时间地域限制的优越性将得到越来越充分的发挥。1.3开发工具及技术1.3.1开发工具这次的设计主要用到了MyEclipse和Tomcat后台服务器进行,同时用得到了Oracle数据库,页面的设计主要用到了JSP技术,接下来对My
14、eclipse、Tomcat和Oracle数据库进行简单的介绍。1.MyEclipseMyEclipse,是一个非常优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,并且它支持的也十分广泛,尤其是对各种开元产品的支持,也是十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高了工作效率。它是功能十分丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试
15、和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate等等。2.Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。它有一个诀窍,就是当配置正确的时候,Apache为HTML页
16、面服务,而Tomcat实际上运行JSP页面和Servlet。目前Tomcat的最新版本为9.0。3.Oracle Oracle数据库是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的B/S体系结构的数据库之一。它是目前世界上使用最广泛的数据库管理系统,而作为一个通用的数据管理系统,它具备完整的数据库管理功能;作为一个关系数据库,它是一个完备的产品;作为扥不是数据库它实现了分别不是的功能。Oracle数据库采用的是并行服务器模式,可以将一个查询分成多个子查询。总之它较于Sybase SQL Server有更多更大的有点,所以这里我采用的是Oracle数据库。
17、 1.3.2 JSPJSP技术是使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HT
18、ML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩
19、展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEAN
20、S 组件来实现复杂商务功能。内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config代码片段配置对象;pageJSP网页本身; exception针对错误网页,未捕捉的例外1.3.3 Webweb(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在
21、Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。1.4 软硬件需求硬件需求:CPU:Pentium以上计算机内存: 512M以上软件需求:操作系统版本:Windows10开发工具:MyEclipse 6.0.1后台服务器:Apache Tomcat 6.0开发语言:Java浏览器:Google第2章 需求分析2.1可行性分析开发任意一个系统,都会受到时间上和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免对人力
22、、物力和财力等的浪费。下面我简单的对技术、经济、操作和法律四个方面来介绍。2.1.1技术的可行性本系统开发工具是MyEclipse和Oracle数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三的时候接触了java课程,大四期间也系统的学习了一下J2EE的知识,本系统总体上开发难度并不是很高,数据库的设计和操作是本系统设计的核心。在大四期间我学习了三大框架,以及一些前段语言,例如JSP,XML,HTML等课程,在大学期间的每个学期也会完成对应的课程设计,所以我具备一定的系统分析、设计和调试能力。因此,我觉的完成系统实现在技术上完全具
23、备可行性。2.2.2经济的可行性本系统所用的软件都是开源的,为开发软件节省了大量的金钱和时间,并且达到降低成本,提高了开发效率,本系统对计算机配置的要求并不高,甚至连网吧更换下来的低配置电脑都可以完全满足此系统的需要,所以在经济上具有完全的可行性。2.2.3操作可行性本系统操作简单,输入信息页面一目了然,在某些页面,信息可以自动生成,无需输入,操作简便,对操作人员的要求非常低,只要对WINDOWS操作熟练,加之对本系统的操作稍加培训即可,而且本系统可视性非常好,所以在技术上不会有很大难度。2.2.3操作可行性这个网上书店系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库
24、都是开源的,开发这个系统与开发普通的系统软件是不同的,所以它不存在侵权等问题,即法律上是可行的。2.3系统用户用例图2.3.1用户管理用例图普通用户也就是顾客,进入网上商城后首先要先进行用户注册和用户登陆,用户管理用例图如图2.1所示:图2.1用户管理用例图2.3.2购物车用例图 当用户想买哪本书的时候,点击加入购物车,并且可以对购物车进行一系列的操作,购物车用例图如图2.2所示:图2.2 管理员用例图2.3.3订单管理用例图当用户将购物车中的图书购买以后,会相应的出现一个订单,用户可以查看订单那,如果觉得不想要了也可以取消删除订单。订单管理用例图如图2.3所示:图2.3 订单管理用例图2.4
25、功能模块需求分析2.4.1注册在register.jsp页面注册一个新用户,用户名作为以后登陆唯一标识。当注册成功的话,跳转到login.jsp页面。详细描述: 1.需要判断注册的用户是否已经在数据库中存在。2.最后将注册的信息保存到Customer表。具体步骤:1. 实现ICustomerDao接口中的saveOrUpdateCustomer()方法2. 实现ICustomerService接口中的业务逻辑register()方法 3创建RegisterServlet.java,在该Servlet中调用ICustomerService接口中的register()方法进行注册。2.4.2登陆在
26、login.jsp页面上用户可以输入用户名和密码进行登陆,如果用户名和密码都正确,则登陆成功跳转到listBookStore.jsp。如果不正确,需要提示用户并且还是跳转到login.jsp页面继续登陆。具体登陆过程:1.查看登陆的用户名是否存在。2.查看密码是否正确。具体步骤:1实现ICustomerDao接口中的findCustomerByName()方法。2实现ICustomerService接口中的业务逻辑login()方法。3创建LoginServlet.java,在该Servlet中调用ICustomerService接口中的login()方法进行登陆。4. 从applicatio
27、n中取出所有的Book在listBookStore.jsp中显示。2.4.3购物车1.增加Orderline在listBookStore.jsp中填入图书数量并点击购买按钮后往购物车(ShoppingCart.java)中增加一个Orderline。具体步骤:(1)创建AddOrderlineServlet.java。(2)在该Servlet中根据从listBookStore.jsp页面传入的bookid和num来构造一个Orderline对象,然后从Session中获得购物车(ShoppingCart)的对象,并且调用其中的addLine(Orderline orderline)方法往购物车
28、中增加一个Orderline对象。(3)增加Orderline成功后跳转到listBookStore.jsp页面。2.查看购物车 在listBookStore.jsp页面上点击查看购物车的按钮可以查看购物车中所有Orderline的信息。具体步骤:(1) 点击查看购物车按钮后链接到listCart.jsp。(2) 在listCart.jsp页面中,从Session中取出ShoppingCart对象并且在该页面上输出所有其中的Orderline信息。3.删除Orderline在listCart.jsp页面中点击清除按钮就可以从购物车中删除一个指定的Orderline。具体步骤:(1) 创建Del
29、OrderlineServlet.java。(2) 在Servlet中获得listCart.jsp页面中传递过来的lineid(bookid)。(3) 从Session中获得ShoppingCart对象,并且调用它的dropLine(Long lineid)方法来删除一个指定的Orderline对象。(4) 删除成功后跳转到listCart.jsp页面。4.修改Orderline 在listCart.jsp页面上修改图书数量并点击修改按钮后可以修改指定一个Orderline的信息。具体步骤:(1) 创建EditOrderlineServlet.java。(2) 在该Servlet中先从Sess
30、ion中获得ShoppingCart对象,然后获得从listCart.jsp传递过来的lineid(bookid)和num,最后根据lineid来获得指定的Orderline对象,并且修改数量为num。(3) 修改成功后跳转到listCart.jsp页面。5.清空购物车在listCart.jsp页面中点击清空购物车后可以删除购物车中所有的Orderline。具体步骤:(1) 创建ClearCartServlet.java。(2) 在该Servlet中获得ShoppingCart对象,然后调用其中的removeAll()方法来清空购物车。(3) 清空购物车成功后跳转到listBookStore.
31、jsp页面。2.4.4订单1.查看用户所有订单在listBookStore.jsp页面上点击查看用户订单按钮后可以查看当前登陆用户所有的订单信息。具体步骤:(1) 实现IOrderDao接口中的findAllOrder()方法。(2) 实现IOrderService接口中的业务方法listAllOrder()。(3) 创建ListOrderServlet.java,在该Servlet中调用IOrderService接口中的listAllOrder()方法来查找用户的所有订单信息。(4) 查找订单成功后跳转到listOrder.jsp页面,并将订单信息在该页面上显示。查找不成功跳转到listCa
32、rt.jsp页面。2.提交订单在listBookStore.jsp或者listCart.jsp页面上点击提交订单的按钮后链接到Order.jsp页面,然后在该页面上点击确认订单按钮后才正式提交订单,将订单信息分别保存到orderform和orderline表中。具体步骤:(1) 先链接到Order.jsp页面,在该页面上从Session中分别取出Customer和ShoppingCart对象并将它们的信息显示在页面,在该页面还可以修改用户信息。(2) 实现IOrderDao接口中的saveOrder()方法。(3) 实现IOrderService接口中的业务方法saveOrder()。(4)
33、实现ICustomerService接口中的业务方法update()。(5) 创建ConfirmServlet.java。(6) 在该Servlet中从Session中获得Customer对象并更新属性信息,从Session中获得ShoppingCart对象并将它包装成一个Orderform(订单)对象(注意要建立起Orderform对象和所有Orderline对象之间的双向关联关系),最后调用ICustomerService接口中的update()方法和IOrderService接口中的saveOrder()方法分别进行用户信息的更新和订单保存。(7) 提交订单成功后跳转到confirm.j
34、sp,失败跳转到order.jsp,在confirm.jsp页面上点击继续购买按钮可以跳转到listBookStore.jsp。3.查看订单明细在listOrder.jsp页面上点击明细按钮可以查看一个订单的明细信息。具体步骤:(1) 实现IOrderDao接口中的findOrderById()方法。(2) 实现IOrderService接口中的业务方法findOrderById()方法。(3) 创建OrderinfoServlet.java。(4) 在该Servlet中获得从listOrder.jsp传递过来的orderid,然后根据该orderid,调用IOrderService接口中的f
35、indOrderById()方法查询指定的订单,并从该订单中获得所有的Orderline对象的集合放置在request范围中。(5) 查询成功后跳转到orderinfo.jsp,从request中取出放置所有Orderline对象的集合,并将信息显示在该页面上。4.删除订单在listOrder.jsp页面上点击删除按钮可以删除指定的一个用户订单。具体步骤:(1) 实现IOrderDao接口中的deleteOrder()方法 。(2) 实现IOrderService接口中的业务方法delOrder()。(3) 创建DelOrderServlet.java。(4) 在该Servlet中获得从lis
36、tOrder.jsp传递过来的orderid,然后根据该orderid,调用IOrderService接口中的delOrder()方法删除指定的订单。(5) 订单删除成功后跳转到listOrder.jsp。2.5设计的基本思想设计思想遵循以下几点:1.采用的是B/S模式进行开发的,它的优点就是后台与前台处理层次比较分明,并且符合大多数已经习惯用网页搜索方式的用户。2.采用Java面向对象的开发与设计理念。运用面向对象技术需要有一个前提,就是对系统整体的高度和准确的一个抽象,通过它可以保证一个良好的框架,从而给产品带来较强的稳定性和运行效率。3.采用了模块化设计。模块化设计要求将整个系统分成一个
37、个小的模块,这样的话便于代码的重载,从而简化了设计和实现过程。4.简单便捷的系统界面。系统界面的设计简单,方便用户更好更快的适应系统的操作。5.速度快占用资源少。这个工具速度是一个最重要的评测标准,所以在设计过程中,具体的过程尽量少占用资源,争取做到少资源速度快的原则。6.整体设计既要突出它的重点所在,又要做到细致周到。要符合设计需求,尽量在有可能改进的地方进行扩充,使系统做到更加适应用户的需求。2.6性能需求2.6.1系统的安全性本网上图书销售系统在管理权限上一定要进行严格的控制,具体要求如下:1.要想查询更多的图书信息,必须凭用户名和密码登陆到图书销售管理系统中,没有登陆的用户只能浏览和查
38、找书籍,并不能加入购物车和提交订单,以确保系统的严密性和安全性。 2.整个实现中设有不同的权限,用户在登陆到系统后,是不能越级操作的,比如管理员的一些功能用户是不能操作的。2.6.2数据的完整性1.各种各样的信息都插入到数据库中,并且有书名的信息不为空。2.各种数据间相互联系的正确性。3.相同数据在不同记录中的一致性。第3章 系统的分析与设计3.1数据库的分析与设计 一个系统的核心和基础是数据库,所以数据库设计的好坏,就会直接影响在着整个系统的性能。不管你设计什么系统,要实现什么功能,数据都是基础,就像盖房一样,数据就是地基,如果数据做的不完善,也不够合理,就会在系统开发的过程中出现很多问题,
39、严重的话会导致你中心设计系统,所及数据库一定要合理完善。3.1.1数据库的概念结构设计概念设计就是从用户的角度进行视图的设计,然后集成视图,最后进行优化和分析,得出最后的结论与结果。数据库的还年结构我采用E-R图的设计方法,它的组成元素有:实体、属性、联系。概念设计的目的是产生这次设计所需要的数据库的结构,也就是概念模式。它是独立的,不依赖计算机的。根据分析,建立E-R模型图。(1)普通用户实体E-R图如图3.1所示:图3.1普通用户实体E-R图(2)图书信息实体E-R图如图3.2所示图3.2图书信息实体E-R图(3)订单信息实体E-R图如图3.3所示图3.3订单信息实体E-R图(4)订单名字
40、实体E-R图如图3.4所示图3.4订单名字实体E-R图3.1.2数据库的逻辑结构设计1.CustomerCustomer是用来存放用户信息的,如下表3.1所示:表3.1用户表(Customer)字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(20)用户名PasswordVarchar2(20)用户密码ZipVarchar2(20)邮编AddressVarchar2(20)地址TelephoneVarchar2(20)电话EmailVarchar2 (30)电子邮件2.Book Book是用来存放图书信息的,如下表3.2所示: 表3.2图书
41、信息表(Book)字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号NameVarchar2(100)书名PriceNumber(8,2)价格3.Orderform Orderform是用来存放订单信息的,如下表3.3所示: 表3.3订单信息表字段名字段类型约束或索引描述IDNumber(Sequence)PK记录流水号CostNumber(8,2)订单总额OrderdateDate下单时间CustomeridNumberFK顾客的记录流水号4.OrderlineOrderline是用来存放订单明细信息的,如表3.4所示:表3.4订单明细信息表字段名字段类型约束或索
42、引描述IDNumber(Sequence)PK记录流水号NumNumber数量OrderidNumberFK订单的流水记录号BookidNumberFK图书的流水记录号3.1.3数据库的链接原理 我采用的是JDBC连接数据库的方式,在进行JDBC连接之前,首先把所需要的jar包导入到对应的工程下面,然后就可以方便对数据库的连接了。3.2中文乱码问题处理第4章 系统功能实现4.1用户注册页面1.描述:用户进行浏览和购买图书时,首先要登陆到系统中,如果你是新用户,那么你肯定要先进行注册。2.程序运行效果图如图4.1所示:图4.1 注册页面3.在登陆模块输入用户名和密码注册成功以后,点击就可以跳转l
43、ogin.jsp页面。在用户注册时,注册的信息会传入数据库中,与数据库原有的信息进行对比,看输入的用户名是否已经在数据库中存在,如果存在,就显示改用户名已存在,请重写输入,直到输入的用户名在数据库中并不存在,那么就将此用户保存到Customer表中。具体实现代码如下:(1) 实现ICustomerDao接口中的saveCustomer或者UpdateCustomer()方法package com.briup.dao;import com.briup.bean.Customer;public interface ICustomerDao /保存用户void saveCustomer(Custom
44、er customer) throws Exception;/更新用户void updateCustomer(Customer customer);/查找用户Customer findCustomerByName(String name) throws Exception;(2) 实现ICustomerService接口中的业务逻辑register()方法package com.briup.service;import com.briup.bean.Customer;import mon.exception.CustomerServiceException;public interface I
45、CustomerService /用户注册void register(Customer customer) throws CustomerServiceException; /用户登陆Customer login(String name,String password) throws CustomerServiceException;/用户更新void update(Customer customer) throws CustomerServiceException; (3) 创建RegisterServlet.java,在该Servlet中调用ICustomerService接口中的regi
46、ster()方法进行注册。package com.briup.web.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.ibatis.session.SqlSession;import com.briup.be
47、an.Customer;import mon.BeanFactory;import mon.MybatisSessionFactory;import mon.exception.CustomerServiceException;import com.briup.service.ICustomerService;public class RegisterServlet extends HttpServlet private ICustomerService service = (ICustomerService) BeanFactory.getBean(BeanFactory.CUSTOMERS
48、ERVICE);protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException String name = request.getParameter(userid);String password = request.getParameter(password);String province = request.getParameter(province);String city = request.getParameter(
49、city);String street1 = request.getParameter(street1);String zip = request.getParameter(zip);String telephone = request.getParameter(cellphone);String email = request.getParameter(email);Customer cus = new Customer();cus.setName(name);cus.setAddress(province+;+city+;+street1);cus.setEmail(email);cus.
50、setPassword(password);cus.setTelephone(telephone);cus.setZip(zip);try service.register(cus);response.sendRedirect(login.jsp); catch (CustomerServiceException e) e.printStackTrace();request.setAttribute(message, e.getMessage();request.getRequestDispatcher(register.jsp).forward(request, response);prot
51、ected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response);4.2用户登陆页面1.描述:如果你已经注册了的话,就可以根据提示输入用户名和密码,点击登陆就可以了。2.程序运行效果图如图4.2所示:图4.2 登陆界面3. 在login.jsp页面上用户可以输入用户名和密码进行登陆,如果用户名和密码都正确,则登陆成功跳转到listBookStore.jsp。如果不正确,需要提示用户并且还
52、是跳转到login.jsp页面继续登陆。(1)实现ICustomerDao接口中的findCustomerByName()方法。package com.briup.dao;import com.briup.bean.Customer;public interface ICustomerDao /保存用户void saveCustomer(Customer customer) throws Exception;/更新用户void updateCustomer(Customer customer);/查找用户Customer findCustomerByName(String name) thro
53、ws Exception;(2)实现ICustomerService接口中的业务逻辑login()方法。package com.briup.service;import com.briup.bean.Customer;import mon.exception.CustomerServiceException;public interface ICustomerService /用户注册void register(Customer customer) throws CustomerServiceException; /用户登陆Customer login(String name,String p
54、assword) throws CustomerServiceException;/用户更新void update(Customer customer) throws CustomerServiceException; (3)创建LoginServlet.java,在该Servlet中调用ICustomerService接口中的login()方法进行登陆。package com.briup.web.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.
55、HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.briup.bean.Customer;import com.briup.bean.ShoppingCart;import mon.BeanFactory;import mon.exception.CustomerServiceException;import com.briup.service.ICustomerService;public class LoginServlet extends HttpServlet private ICustomerService service
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 棉花夏直播轻简高效生产技术
- CPSM服务创新试题及答案辅导
- 2024年供应链管理师环境适应性试题及答案
- 考点03离子共存离子检验与推断(核心考点精讲精练)-备战2025年高考化学一轮复习考点帮(新高考)(原卷版)
- 肿瘤患者临终关怀护理措施
- 跨越2024年中职电子商务教师资格证试题及答案
- 传染病防控培训课件
- 细胞内物质运输的方式探讨试题及答案
- 2024年国际物流师考试的调研结果试题及答案
- 保安防伤害课件教学
- 新进员工反洗钱知识培训课件
- 2024年中考物理作图题专练:杠杆作图 强化训练题(含解析)
- 高一下学期第一次月考数学试卷(基础篇)
- 二年级体育下册 小足球:脚内侧传球教学实录
- 2025年安庆医药高等专科学校单招职业适应性考试题库有答案
- 穴位埋线治疗
- 课件:DeepSeek爆火现象中的思政课知识及考点分析
- 2025年中考英语时文阅读 6篇有关电影哪吒2和 DeepSeek的英语阅读(含答案)
- 老年口腔衰弱评估和干预的研究进展
- 2 爆破工试题及答案
- 机械码垛机销售合同范例
评论
0/150
提交评论