1、网上书店设计文档广东科贸职业学院 2013 届学生毕业论文/设计题 目: 网上书店系统 姓 名: 刘德荣 系 别: _信息工程系_ 专 业: _软件技术_班 级: _10软件1班_指导老师: _ _严梅 _ _ _ 日 期: _2012-11-15_ 独 创 性 声 明 本人声明所呈交的毕业论文(设计)是本人在指导教师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得广东科贸职业学院或其他教育机构的证书而使用过的材料。与我一同工作的同志对本论文(设计)所做的任何贡献均已在论文中作了明确的说明并
2、表示谢意。论文(设计)作者签名: 签字日期: 年 月 日摘 要随着Internet的迅速发展,电子商务将成为21世纪主流的商业模式。网上书店是这些网络技术的发展而出现的一种新型图书销售渠道。它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售的网上交易。网上书店同传统的店面书店相比,网上书店的经营方式和销售渠道是全新的,它24小时的全天候和全方位服务是店面书店所不能比及的,成本低廉更是开设网上书店的主要原因。而与其他商品相比,书籍运送几乎不怕碰撞碎裂、不具时效性,同时书本具有功能单一、形式简单、易于判断和选择而独具优势,最适合于网上交易,再次是单价低,降低了消费者第一次
3、在网络购物的门槛。所以网上书店成了电子商务的先锋。本系统的开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。主要功能有:图书类型浏览和图书浏览、图书搜索、购物车、订单、后台管理。关键词 JSP Struts2 Hibernate3 Spring2 MySql数据库 网上书店 第一章 绪论1.1项目背景随着科技飞速的发展,人类使用和学习信息的方式以及信息的包装方式正在进行着不可阻挡的革命,这次革命将比印刷术的出现所产生的影响以及对社会发展的推动更加复杂更加巨大。网站也成为人们最简便和喜爱的交流方式和传递信息的手段,尤其在商品交易方面,人们更是寻求最佳简便的消费方式。 网上商店的发
4、展随着 Internet 的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面, 越来越多的人开始意识到 Internet 所蕴含的经济价值的无穷商机,并积极投身于电子商务活动。实际上,电子商务是一些商业行为的电子化,例如网上书店,网上贸易,就网上书店来说,网上书店是目前应用最广,最成功的典范之一,网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。世界上第一家网上书店是1991年在美国联机公司 AOL 采购网络上建立的“阅读美国书店” ,目前最有名的是美国西雅图亚马逊图书公司的亚
5、马逊网上书店。它创建于 1995年,供书达310余万种,每年顾客达500万人次,其价格优惠 20-50人民币。自从亚马逊网上书店成功后,中国的网上书店也建立起来。中国最早的网上书店是1997年在杭州新华书店诞生的,在经过年余的艰苦经营,接待400多位访问者后,悄然引退,而进入1998年后,作为中国书业传统经营力量的新华书店,正式宣布进入网络领域,先是第九届全国书市首次开通书店网站,后来在1998年12月30日上海书城成为国内首家正规的网上书店,读者在家中可以上网完成浏览,选购,付款的全过程。1999 年是网上书店迅速发展的一年,商业公司不断进入网上书店有超过几百家,有自己网站的公司有40多家,
6、这个数目还不断增加。网上书店在价格、时效性、品种、查询方式等方面都有优势。网上书店是一种直销方式,在到书速度和价格上都有优势,目前网上书店的到书时间在北京,上海,广州等大城市一般为1-3天,在外省则一般3-10天到书,在价格上一般网上书店都有7-9折的折扣,如果是特价书折扣就更多了,网上书店的书目数据是任何订购书目都无法比拟的,亚马逊网上书店有300多万种图书,另外还有音乐系列产品和其它教育产品,刚刚成立的北京图书大厦网上书店也有16万种书目数据,“中国寻书网”目前也有50万种书籍,年度将突破100万种图书,网上书店的书目除书名,著者,价格等信息外,还有封面,内容简介,目次,评论等详细信息。同
7、时网上书店的目录查询功能也是传统的按某种分类规则编排的图书征订目录无法比拟的,其以关键词或主题从网上检索某类文献,查准率与查全率都有一定的保障。另外还有一些书更是以网站包销或总代理的形式进行销售,这就意味着一种全新的电子商务模式的开始。1.2项目开发思路传统书店往往要占用大量的空间,雇佣数量较多的工作人员同时也难以避免读者在 购买图书时造成图书翻阅损耗等一系列费用,而与此同时随着互联网在中国的发展,我 国网民已经超过了2亿,而其中绝大部分有是属于知识分子的青年人,无疑他们正是广 大图书出版物的潜在消费者。相对于传统的实体商城,网上商城投资少,回收快。一项针对中国中小企业的情况调查显示,个人在网
8、下启动销售公司的平均费用至少5万元,而网上开店建店成本非常小。一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。基本不需要占压资金。传统商店的进货资金少则几千元,多则数万元,而网上商店则不需要压资金。 24小时营业时间。网上商店 延长了商店的营业时间,一天 24 小时、一年365天不停地运作,无须专人值班看店,都可照常营业。传统店铺的营业时间一般为8-12小时,遇上坏天气或者老板、店员有急事也不得不暂时休息。
9、销售规模不受地盘限制。传统商店有多大就只能摆放多少商品,生意大小常常被小店面积限制。而在网上,即便在地面上只有一个小商店,或者干脆就没有门面,开店的生意却可以照样做得很大。不受店面空间的限制。哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件已超过一些大超市。不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。1.3主要创新点本系统采用MVC三层架构的模式,在开发过程中使用轻量级架构Struts
10、2,Hibernate3和Spring2来处理页面逻辑、业务控制和对象的持久化工作本系统的开发并没有单纯使用JSP + Servelt进行,而是结合了Struts2,Hibernate3和Spring2,这是为了使系统的结构更加清晰,同时简化开发工作,使用MySQL作为后台数据库,MySQL是高性能,客户/服务器的RDBMS(关系型数据库管理系统),能够支持大吞吐量的事务处理,具有较高的安全性,也能与其它系统进行完好的交互操作。在计算机硬件和软件快速发展的今天,计算机硬件和软件已经足够满足本管理系统的要求,在数据库编程工具方面,各种可视化编程方法的出现,一改过去程序设计的概念和方法,用户用鼠标
11、就可以快速,简捷地创建应用程序,极大地提高了编程效率。本网上书店系统分为以下几个层次:1、视图层:由JSP技术实现,根据Struts2控制器的操作显示结果。2、控制器:由Struts2技术实现,根据用户的请求执行相关的操作,数据相关操作调用service层方法。3、模型层:实现数据模型,有java POJO类实现。4、DAO层:由Hibernate3技术实现,以间接形式为控制器部分提供数据操作业务逻辑。5、服务层:是介于DAO和控制器的一个服务型组件,调用DAO方法为控制器提供业务方法。最后由Spring2技术整合所有功能,配置数据源。并且管理组件与组件之间的联系,使整个系统有效的运行。第二章
12、 系统开发平台2.1系统开发工具的选择本系统主要的开发工具有:MyEclipse 9、MySQL、Tomcat 6.0。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发布以及运用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。 MyEclipse 是一个十分优秀的用于
13、开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,
14、许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 Tomcat服务器是一个免费的开放源代码的Web应用和轻量级应用的服务器,因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。 2.2主要开发技术的介绍2.2.1 JavaE
15、E平台JavaEE包括Faculies for develops JavaEE Apps, Runtime Environment, Docs&Samples,JavaEE核心就是来解决分布式应用。Java EE一般分为4层:(1)客户端(2)web层(3)业务逻辑层(4)企业信息层(EIS:Enterprise Information System)Java EE组件:它本意是指可以重用的代码单元,一般代表着一个或者一组可以独立出来的功能模块,在J2ee中组件的种类有很多种,比较常见的是EJB组件、DAO组件、客户端组件或者应用程序组件等,它们有个共同特点是分别会打包成.war,.jar,.
16、jar,.ear,每个组件由特定格式的xml描述符文件进行描述,而且服务器端的组件都需要被部署到应用服务器上面才能够被使用。Java EE 容器:它是用来管理组件行为的一个集合工具,组件的行为包括与外部环境的交互、组件的生命周期、组件之间的合作依赖关系等等。 2.2.2 SSH技术介绍J2EE轻量级框架SSH。SSH集成框架是Struts、Hibernate和Spring三种技术的有机融合,是目前应用最广泛的Java EE架构。在SSH 集成框架中,Struts的作用是提供MVC模型,将界面、业务逻辑和数据分离,并提供一个高可扩展的架构。Spring作为核心,向上整合MVC框架,向下整合ORM
17、框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。而Hibernate提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。Struts是目前创建Web应用最常用的表现层MVC框架实现,是Jakarta Apache的一个开源项目。基Model2的Struts框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。Spring由Rod Joh
18、nson创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean来完成以前只可能由EJB 完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可
19、以在Servlet/JSP 的Web 应用中使用。2.2.3 MySQL数据库MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。MySQL是一个真正的多用
20、户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL数据库具有以下主要特点:同时访问数据库的用户数量不受限制;可以保存超过 50,000,000 条记录;是目前市场上现有产品中运行速度最快的数据库系统; 用户权限设置简单,有效。第三章 需求分析3.1系统功能及特性分
21、析 本系统的开发主要包括后台数据库的建立和维护以及前台应用程序的开发、后台管理三个模块。主要功能有:1、图书类型浏览和图书浏览图书类型浏览功能允许登录用户和未登录用户随意浏览图书类型(如程序设计图书和外语图书等),可以单击任意一种图书类型查看该类型下的所有图书列表。图书浏览功能允许登陆用户和未登录用户随意浏览某图书的详细信息,包括书名、图片、介绍、市场价及会员价等。2、图书搜索图书搜索功能允许用户用过输入关键字搜索匹配的图书,并以列表形式显示。3、购物车在图书详细内容页面显示图书的所有信息,可以单击“加入购物车”表单按钮,将该图书添加到购物车,并在购物车页面删除或者修改数量等。也可以单击“生成
22、订单”和“清空购物车”表单按钮执行相关操作。4、订单在购物车页面通过生成订单按钮生成订单,结算购物车所有物品,并显示表单来填写顾客资料。5、后台管理管理员登陆之后可以添加新用户和删除用户,可以添加新书籍可删除书籍。3.2 模块需求分析3.2.1前台运用程序的开发前台界面的模块结构图如下:图3-1前台界面的模块结构图用户登陆中,用户登陆之后才能购买图书,如果没有登陆,只是一般的查看图书的话,不能进入购买图书;图书分类中可以看到各种类别的图书,点击进入后可以看到各种类别的详细图书;用户可以在搜索图书中搜索自己想要的图书,并支持关键字搜素;购物车中可以看到自己已经加入到购物车的图书,在购物车中有生成
23、订单的的功能,可以看到购物车的详细信息并可以填写客户的详细信息,生成的单后可以看到用户买了什么书,什么时候买的等等。3.2.2后台管理 后台结构模块图如下:图3-2后台结构模块图以管理员的身份登陆之后进入后台管理部分,本系统的管理员是:admin,密码也是admin。后台管理中分为书籍管理和用户管理两部分,书籍管理中可以增加新书籍,还有对现有书籍进行修改和删除;用户管理部分可以增加新用户和删除现有用户。用户购买的书籍数量,书籍的存活都可以在后台管理的数据库中查找得到。第四章 概要设计4.1系统功能概述本系统只要分为前台顾客对网店的访问和管理员对网店的后台管理两部分。前台顾客对网店的访问只要的功
24、能有图书类型浏览和图书浏览、图书搜索、购物车、订单等功能;管理员对网店的后天管理部分的只要功能有书籍管理和用户管理。4.2系统功能结构图4.2.1前台系统功能结构图图4-1前台系统功能结构图4.2.2后台系统功能结构图图4-2后台系统功能结构图4.3 各模块处理流程设计4.3.1 网店购书子模块图4-3网上书店模块活动图4.3.2 未登录子模块图4-4 未登录子模块图4.3.3登录子模块图4-5登陆子模块图4.3.4 管理员子模块图4-6管理员子模块图4.4 数据库设计4.4.1数据库的建立:数据库表设计:数据库实现网上书店的相关信息表,包括用户表(user)、图书类型表(booktype)、
25、图书表(books)、订单表(orders)、和管理员表(admin)。如下图: 购物车只是一个保存在Session会话中的一组数据,当用户离开系统后其中的数据将丢失,并不保存在数据库中,而只有购买图书并填写了订单才写入数据库。所以购物车没有数据库表。4.4.2数据库实体关系图数据库设计的ER图:图4-7数据库设计的ER图用户与购书之间是一对多的关系;订单列表和订单是一对多的关系;订单和图书是多对多的关系;图书和图书分类是多对一的关系。4.4.3数据字典表4-1 User表字段数据类型长度说明备注UseridINTEGER11用户Id设自动生成主键usernamevARCHAR11用户名不为空
26、passwordvARCHAR11密码不为空isAdminvARCHAR11不为空表4-2 Book表字段数据类型长度说明备注bookidint11设自动生成主键booknamevarchar11书名不为空typeidvarchar11类型不为空priceInt11价格Salepriceint11Descriptvarchar11Imageurlvarchar11saletimedatetime11表4-3 Booktype表字段数据类型长度说明备注typeidint11设自动生成主键typenamevarchar11不为空booktypenamevarchar11不为空表4-4 Order表
27、字段数据类型长度说明备注idInt11设自动生成主键orderidvarchar11不为空usernamevarchar11不为空realnamevarchar11不为空addressvarchar11不为空zipint11不为空telvarchar11不为空emailvarchar11不为空priceInt11不为空ordertimevarchar11不为空descriptvarchar11paytypevarchar11不为空第五章 详细设计5.1 首页数据展示5.1.1 界面设计界面截图如下:图5-1网上书店首页截图在界面中,有网上书店的主要功能,此图为未还没登陆的界面,所以没有显示用户
28、名。在界面中,我们可以搜索图书,查看图书分类,把图书放入购物车,可以用户登陆,管理员登陆等。5.1.2 主要实现技术网上书店的首页,显示的是网店的基本信息,顾客打开网店的地址,就可以浏览图书和购买图书,页面有多个链接,点击链接可以查看信息或者登陆。其主要的代码如下:package com.org.action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.org.service.*;import com.sun.corba.se.spi.a
29、ctivation.Server;import java.util.*;import javax.xml.registry.infomodel.User;import org.apache.struts2.ServletActionContext;public class LoginAction extends ActionSupport private String username; private String password; private List booktype; private List book; private BookDetailControl bookcontrol
30、; public void setBookcontrol(BookDetailControl bookcontrol) this.bookcontrol = bookcontrol; private UserControl usercontrol; public void setUsercontrol(UserControl usercontrol) this.usercontrol = usercontrol; public String LoginIn() throws Exception if (getUsername() = null | getUsername().trim().equals() addFieldError(username, 用户名不能为空); if (getPassword() = null | getPassword().trim().equals() addFieldE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1