基于MVC模式的在线书店的设计与实现_第1页
基于MVC模式的在线书店的设计与实现_第2页
基于MVC模式的在线书店的设计与实现_第3页
基于MVC模式的在线书店的设计与实现_第4页
基于MVC模式的在线书店的设计与实现_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、I基于基于 MVCMVC 模式的在线书店的设计与实现模式的在线书店的设计与实现摘摘 要要:伴随着科学技术和生产发展的进步加速了人类知识总量的增长。生产的社会化趋势加强,产品社会需求的多样化扩张,导致参与组织运作的内部和外部信息的快速扩大。因此,建立一个网上书店系统,适合当今形势,更加方便人们在线购书。这个在线书店系统是集成的并作为一个 MVC 的概念开发。在线书店系统可以从用户注册、用户连接、图书请求、从购物篮中删除额外的书籍和其他功能。该系统具有简单的功能、用户友好的页面、良好的灵活性和稳定的功能。该系统是利用数据库技术和注释而开发出来的,目的是为了便于用于在线书店系统数据的访问。关键字关键

2、字:JSP/Struts2/MySQL/Tomcat/网上购书系统IIBASED ON THE MVC MODEL DESIGN AND IMPLEMENTATION OF ONLINE BOOKSTORE ABSTRACT:It promotes the progress of scientific and technological production and development and the increase of human knowledge. The trend of socialization of production has been strengthened, an

3、d the social demand for products has diversified. The internal and external information of organizations participating in services has been rapidly expanded. In order to build an online bookstore system, online bookstores are more convenient to purchase. network bookstore system is developed into a

4、unified MVC concept. In the online bookstore system, delete additional text and other functions to the customers registration, connection, request, shopping basket. The system has simple functionality, friendly pages, and good flexibility and stability.The system was developed to facilitate access t

5、o database technology and reviews as well as system data from online bookstores. KEYWORDS: JSP,Struts2,MySQL,Tomcat1目录目录1 绪论.11.1 研究背景 .11.2 研究目的和意义.31.2.1 研究的目的.31.2.2 研究意义.32 开发环境及相关技术 .52.1 开发环境配置.52.1.1 应用程序开发环境MyEclipse .2 Tom cat 应用服务器 .52.1.3 Java 的面向对象特性 .62.2 开发相关技术简介.73 需求分析 .103.1

6、 需求分析 .103.2 业务流分析.113.3 数据流分析 .123.4 数据字典 .124 系统设计.134.1 总体功能模块图.134.2 数据库设计 .134.3 E-R 图.164.4 系统功能模块划分 .175 系统实现.185.1 系统的 MVC 分层架构 .185.1.1 模型层 .185.1.2 查看图层 .185.1.3 Control 层 .185.2 系统主页登录模块 .195.3 用户注册操作模块 .1925.4 图书列表模块 .21图 5-5 图书列表.215.5 订单信息管理模块 .215.6 用户地址管理模块.22结束语.24致 谢.24参 考 文 献.24 3

7、绪论绪论1.1 研究背景 早在 1999 年以前,中国互联网的先知们就开始建立 B2C 网站,致力于在中国推动网络购物。但这种做法在当时遭到了经济学界的普遍质疑。这种质疑主要来自三个方面:一,充足的消费者能否在线购物?“没有回答。中国的网络用户在 2000 年只有 890 万人,大多数人不习惯网上购物 。所以,网络购物不会有很大市场1。二,可以通过网购解决物流配送问题吗?答案是不。网上购物需要一个全国性的物流配送系统,快速的物流和快速交付行业仍处于起步阶段。当许多经济学家谈到物流和配送时,他们会想到中国邮政,他们认为物流和配送问题是无法解决的。三,网上购物可以解决网上支付的问题吗?答案是不。中

8、国人喜欢现金交易,他们没有养成使用信用卡的习惯。现在要求他们每个人直接在互联网上输入银行信息。直接通过网络实现银行转账,短期内要解决这一问题显然绝无可能2。但是,稍后,这些问题不是问题。它们已经被大型购物网站和除邮政服务以外的快递公司以及与主要银行连接的许多第三方在线支付解决。自 1991 年以来,中国在海关、对外贸易、运输和航运等部门开展了EDI(电子数据交换)的应用,启动了金卡、金门、金税等流程。 在 1996 年对外贸易部成立了中国国际电子商务中心。 从 1997 年,在线书店开始出现,在线购物和中国商品订购系统开始出现。 在 1998 年 7 月,中国商品交易所和市场网站正式启动,北京

9、和上海启动了电子商务项目3。1998 年 3 月 6 日下午 3:30,中国第一个 INTERNET 在线电子商务交易获得成功。中央电视台王平平先生利用中国银行的网上银行服务,从世纪互联网购买了 10 个小时的互联网接入。3 月 18 日在北京,世纪互联和中国银行正式宣布这一消息。不久之后,载有价值 166 万元的 COMPAQ 电脑的集装箱卡车从西安陕西华兴公司运到北京海兴凯卓电脑有限公司,这是中国第一份在线上产生的4电子商务合同 并且也是中国交易中心的第一份。从此刻开始,互联网电子商务已从中国概念转向中国应用。1999 年底,当互联网达到高潮时,300 多家从事 B2C 的在线公司在中国诞

10、生。 2000 年,这些网络公司增加到 700 家。但随着纳斯达克的下跌,2001 年只剩下三四家可以维系着。自此在线购物经历了漫长的“寒冷的冬天”4。 SARS 开辟了中国网购的新纪元。面对 SARS 袭击,大多数人都被困在房子里,如果他们想在不出门的情况下购买他们需要的东西,他们只能依靠互联网。许多具有强烈预防意识的人也尝试在在线购物。在这一点上,越来越多的人意识到“在线订购,送货上门”的便利性,越来越多的人开始接受网上购物。 2003 年 SARS 疫情爆发后,越来越多的人开始参与网上购物。以当当网和卓越为代表的中国 B2C 的早期开拓者,通过使用低价、标准化的书籍产品作为在线购物的切入

11、点,以及通过快递和现金交易过程,开始建立自己的市场基础。互联网购物的“寒冷的冬天”过后,获得了快速增长。随着经济的发展,网络购物逐渐出现了再一次“表演”。 2005 年,当当网实现了 4.4 亿的年销售额,这个数字远远超过了大多数投资机构两三年前的预期。这个数字证明了这种(亚马逊,着名的电子商务网站)模式在中国的成功,也证明了经济学家的悲观情绪过于大和市场力量的潜力强厚。5。 除了当当网和卓越网的综合网上商城模式外,淘宝网和 eBay 网的两个 C2C网站也已经出现,并且在交易量上有难以预料的上升,短期内取得了巨大的成功。自 2006 年以来,中国的网络购物市场已然进入第二阶段。经过几年的培养

12、,使用当当网,卓越网,淘宝网等网站的网民数量比 2001 年增加了十倍。许多人经历过网上购物,整个网上购物环境的交易可信度、物流配送和支付的瓶颈也在逐个被突破。 自 1999 年以来,网上购物的物流配送问题不断得到改善。 2005 年,对于当当网和淘宝网来说,物流配送便也不再是问题。一个非常基层的物流系统,包括多仓库中心,非现场散货运输,以及本地快速单件交付,已经开始走向成熟,并在中国网络购物的发展中起着重要的支撑作用。在线支付方式也取得了重大突破。货到付款曾经是网上购物的主要方式,大多数人一直不确定中国网5上支付的发展。但是,从 2005 年商业银行创新和第三方在线支付工具的发展来看,很多人

13、都以乐观的态度来面对这种环境6。 好像一夜之间,最初影响中国网购发展的绊脚石已不复存在。根据上海艾瑞市场咨询有限公司发布的 2004 年中国网上购物研究报告,2005 年中国网购市场规模将达到 87.1 亿。可是实际数量远远超出这个规模。根据 CNNIC 发布的数据,2005 年上半年,中国网购规模达到 100 亿左右,年均超过 200 亿左右7。 而 2007 年是中国网络购物市场快速发展的一年。 C2C 电子商务和 B2C 电子商务市场交易分别实现了 125.2和 92.3的快速增长。根据艾瑞咨询发布的最新“20072008 中国网上购物发展报告”,2007 年中国 B2C 电子商务市场数

14、据达到 43 亿元,其中排名第一的是当当网的 14.6的市场份额,但卓越和当当网股价差距逐渐收窄至 11.9位居第二,其次是北斗移动和京东商城分别排名第三和第四,分别四 9.7和 8.1。 2008 年,中国 C2C 电子商务市场达到 518 亿元,其中淘宝网的交易份额占 83.6。由于 TOM 与 eBay 的合资企业处于磨合期,2008 年的整体交易状况并不理想。拍拍网络的营业额首次超过TOM eBay,以 8.7的交易份额排名第二。 网上购物的年均增长率为 50。 2009 年中国网购市场规模实际上接近1000 亿。考虑到影响未来三年中国网购市场发展的因素,总体来看,积极因素更多,影响更

15、大。因此,艾瑞咨询预测,到 2011 年中国网购市场规模将达到4060 亿元左右8。 “蚂蚁已搬到大象身边”已经唱过了。现在是大象对抗的时代,企业与企业之间的竞争正在全面展开。1.2 研究目的和意义1.2.1 研究的目的考虑到网络购物的前景和国民经济的重要性,国家在过去一年中推出了拳击组合,可以从管理,平台支付、甚至搜索引擎上看到国家在网络购物市场各个方面的影子。国家也在对网络购物进行紧缩。年末,商务部启动了互联网博览会,并敦促知名企业上网。虽然他们从官方网上平台了解到一些东西,即使6一些传统企业已经出现在互联网上,但它们仍然不构成主体,并且可控性不强。可是,它显然已经净化了市场。网上购物的良

16、性发展是不可避免的。传统商业和传统商品将在网络中出现,主体形象将越来越突出,进一步发挥市场调节作用。消费者更喜欢网上购物并接受网上购物这个的概念。市场商品也将从同质化转向差异化,品牌化和个性化。从单一化向全面发展。1.2.2 研究意义自 20 世纪 90 年代以来,随着网络,通信和信息技术的突破,互联网在世界范围内的迅猛发展。在这个前提下,电子商务应运而生。电子商务是一种基于互联网的新商业模式,以双方为主体,通过银行电子支付和结算,以及客户数据。它可以将商家和供应商更紧密地联系并更有效地满足客户需求,还可以允许商家选择全球最好的供应商并在全球市场上销售产品。自 1998 年“电子商务年”以来,

17、电子商务在全球迅速发展,每九个月交易量翻一番,全球电子商务交易量(包括网上交易,销售等)已达数百个数十亿美元。电子商务收入飙升 2629。目前,世界各国都对新的电子商务大陆持乐观态度。人们普遍认为,电子商务的发展将成为未来 25 年世界经济发展的重要推动力。200 年前的工业革命远远不及电子商务能够促进经济增长来的高效。作为名扬世界的网络经济调查评论家罗伯特梅特卡夫声称:“互联网的价值等于(与之相联结的)网点数量的平方10。72 开发开发环境及相关技术环境及相关技术2.1 开发环境配置2.1.1 应用程序开发环境MyEclipse 8.6MyEclipse 8.6 是 MyEclipse 的最

18、新版本,MyEclipse 是一种流行的基于Eclipse 的商业开发工具,适用于当今的国内公司。 Eclipse()是一个由 IBM 领导的基于 Java 项目开发的免费开源工具。大多数基于 Eclipse 二次开发的实用开发工具,如MyEclipse,IBM WSAD,BEA Workshop,Jbuilder2007 等都是用于商业产品。它们与 Eclipse 自己的免费使用不同。这些软件不能免费使用。例如,MyEclipse 8.6 有 30 天的试用期,但在到期后将收取费用。MyEclipse 8.6 的发布大大增强了 Eclipse 3.3

19、 / Europa 集成开发环境的功能,增加了 Java 6 支持的组件,加快了 AJAX 的开发速度,彻底加速了开发人员的开发效率。此外,MyEclipse 8.6 现在与 Spring 和 JPA 集成在一起。此集成允许用户创建实体管理器和事务 bean,并生成实体和 DOA。 MyEclipse 8.6 增强了以下功能:改进的 Java EE 5 和 Spring 功能,支持 AJAX 开发和测试,支持RAD Web 开发,使用 Matisse4MyEclipse 可视化 Swing 设计器,快速 Java EE部署和测试。MyEclipse 8.6 专注于开源和商业软件开发同时支持的大

20、多数框架。它易于使用,功能强大,深受开发人员的喜爱。使用它来开发 Eclipse 并在各处找到插件会更容易,更快捷。它支持基于 Spring,Hibernate,Struts,JSF,JPA,EJB,Web Service 的 Java EE 技术项目的开发11。2.1.2 Tom cat 应用服务器迄今为止,有更多的应用服务器支持 JSP。 Tomcat 是最受欢迎的 Web 服务器之一。 一、Tomcat 是一个免费的开源 Serlvet 容器。二、在 Tomcat 中,应用程序的部署非常简单。你只需要放置你的 WAR 放到 Tomcat 的 webapp 目录,Tomcat 将自动检测此

21、文件并将其解压缩。三、当您在浏览器中访问此应用程序的 Jsp 时,它在一般情况下第一次很慢,因为Tomcat 会将 Jsp 转换为 Servlet 文件并进行编译。编译后,访问速度就会非常快。8Tomcat 还具有传统 Web 服务器的功能:处理 Html 页面。但与Apache 相比,它处理静态 Html 的能力不如 Apache。但是我们可以集成 Tomcat 和 Apache 来使用,让 Apache 处理静态 Html,Tomcat则处理 Jsp 和 Servlet。 Tomcat 是一个很好的工具,不仅因为它是免费的,强大的,还因为它的开放性,越来越多的人关注12。2.1.3 Jav

22、a 的面向对象特性Java 包括计算机编程语言和一个平台。Java 编程语言是一种高级语言。由 Sun Microsystems 发布,作为开放标准提供。 Java 平台包括 Java 虚拟机和 Java 应用程序编程接口(API)。 Java 将原始程序编译为字节码,并通过 Java 虚拟机(JVM)解释字节码来执行它。由于这种操作模式,只要为不同的计算机平台准备相应的 Java 虚拟机,就可以方便地实现 Java 语言的跨平台性。因此,Java 非常适合企业网络和 Internet 环境,如今也成为因特网上最受欢迎和最有影响力的编程语言之一。 Java 具有许多优点,例如简单性,面向对象,

23、分布式,解释性,可靠性,安全性,结构中立性,可移植性,高性能,多线程,动态等等。 Java 来自一个名为 Sun 的 Green 项目。其最初目的是作为消费家用电子产品开发分布式代码系统,以便我们可以将电子邮件发送到家用电器,如冰箱和电视机,控制并与他们交换信息。一开始,我将采用 C +,但 C +太复杂,安全性差。最后,基于 C +,我开发了一种新语言 Oak(Java 的前身)。 Oak 是一种巧妙而安全的网络语言。 Sun公司曾参加过一个互动电视的项目,但结果被 SGI 击败。可怜的 Oak 便无人问津,此时由MarkArdreesen 开发的 Mosaic 和 Netscape 激发了

24、 Oak 项目团队成员在 Java 中编译 HotJava浏览器,该浏览器得到 Sun 首席执行官 Scott McNealy 的支持,后者引发了 Java 进入互联网。面向对象编程非常接近我们的自然思维。相对于面向过程的程序设计,它具有更好的可扩展性和可维护性,使我们编写的代码更加有信心 13 。面向对象有四个主要特征:封装,概括,继承和多变。封装:在面向对象语言中,封装属性通过类表现出来。我们可以把现实生活中的一类实体定义为类,包括属性和行为(Java 中的方法),就像人类一样,可以有姓名、性别、年龄等属性,还有吃,睡等行为,我们在行为中实现某些功能,还操纵属性,这是面向对9象的包装功能。

25、概括:概括是抽出一类实体的像的共同特征,并将它们封装在抽象类中。因此,概括体现在面向对象语言的抽象类中。例如,鸟是抽象实体,因为抽象实体不是具体的一个对象。它的属性还不能完全描述一个对象,所以在语言中体现为抽象类不能实例化。继承:继承就是我们现实生活中的父子关系。儿子可以接受了父亲的某些特征。在面向对象的语言中,类可以吸收另一个类的某些特性,以便可以重用代码。实际上,继承反映了 is-a 关系,父类、子类本质上就是一类实体。多变:多变就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多变可为程序提供更好的可扩展性,同样也可以代码重用。2.2 开发相关技术简介通用 Web 应用程序平

26、台的开发的基础是 B / S 模型,主要包括两种:前端应用程序的开发和后端数据库的建立和维护。对于前者,要求应该是具备着完整且易于使用的,而对于后者,则需要建立具有一个数据统一性、完整性和良好数据安全性的数据库。该系统打算使用 Struts,JSP 和 mySQL 作为前端和后端开发工具。JSP 是一种用于制作动态网页的流行技术。使用 VBScript,JavaScript 和其他的学习起来的脚本语言,结合 HTML 代码,您可以快速完成系统应用程序;无需编译,易于编写,可直接在服务器端执行;使用普通的文本编辑器,像Windows 记事本,可以编辑和设计;无论浏览器如何,只要可以执行 HTML

27、 代码,客户端使用的浏览器就可以浏览 JSP 设计的网页内容。 JSP 使用的脚本语言(VBScript,JavaScript)可以在 Web 服务器端执行,而客户端浏览器不需要能够执行这些脚本语言; JSP 可以与任何 Active Scripting 语言兼容,当然并不会有个别例外的,它除了可以使用 VBScript 或 JavaScript 语言设计,还可以使用插件来使用第三方提供的其他脚本语言,例如 REXX,Perl,Tcl 等。脚本引擎是一个处理脚本的 COM(组件对象模型);服务器端脚本可用于生成客户端脚本; ActiveX 服务器组件是无限可扩展的。您可以使用 Visual B

28、asic,Java,Visual C +,COBOL 等编程语言编写所需的 ActiveX 服务器组件。10Struts 是基于 JSP Model2 实现 MVC 设计模式的 WEB 框架。在对于 Struts框架的 WEB 应用基本上符合 JSP Model2 的设计标准,可以说是 MVC 设计模式的变体类型。它的目的是减少使用 MVC 设计模型开发 Web 应用程序所需的时间,并且它将完成一些繁重的工作。如果您希望混合使用 Servlet 和 JSP 的优势来构建可伸缩的应用程序,Struts 是一个很好的选择。 因为 Struts 由一组可互操作的类 Serlvet 和一个富标签库(j

29、sp 标签库)和一个独立于框架工作的实用程序类(Validator)组成。Struts 拥有自己的控制器(Controller),并集成了其他技术来实现模型和视图层。在模型方面,Struts 可以轻松地与数据访问技术相结合,包括 EJB,JDBC和 Object Relation Bridge。在视图方面,Struts 可以与 JSP,Velocity Templates,XSL 等结合使用。Struts 2 是下一代 Struts,一个用 struts 1 和 WebWork 技术为基础的新 Struts 2 框架。新 Struts 2 的体系结构与 Struts 1 的体系结构有很大出入.

30、Struts 2 以WebWork 为核心,使用拦截器机制来处理用户请求。此设计把业务逻辑控制器与 ServletAPI 完全分离,因此 Struts 2 可以理解为 WebWork 的新产品。尽管从Struts 1 到 Struts 2 的更改太多,但与 WebWork 相比,Struts 2 中的更改很小 14 。以当前的技术层面来看,有许多视图层框架与 Struts1 竞争,例如JSF,Tapestry 和 SpringMVC。由于近年来这些框架已应用于最新的设计概念中,他们也从 Struts1 中学到了很多优点,认识到自身的缺点。然而这些框架的出现也促成了 Struts 的发展。目前,

31、Struts 已经分化成了两个框架:第一个是在传统的 Struts1 的基础上,融合了另外的一个优秀的 Web 框架 WebWork 的 Struts2。虽然 Struts2 是在 Struts1 的基础上开发的,但它基本上是以 WebWork 为基础的。 Struts2 为传统的 Struts1 带来了了 WebWork 的高级设计概念,并统一了Struts1 和 WebWork 的两个框架。与 Struts1 区分的另一个框架是 Shale。可是这个框架远远超出了 Struts1 的原始设计思想,与原始的 Struts1 几乎没有关系,原因是它采用了全新的设计理念。 Shale 更像是一个

32、新框架,而不是对 Struts1的升级。本文的以下内容将重点介绍 Struts2。 Struts2 的工作原理如图 2-1 所示。11图 2-1 Strtus2 工作原理图MySQL 是瑞典 MySQL AB 开发的一个关系数据库管理系统,目前属于Oracle 公司。 MySQL 是一个关联数据库管理系统,它将数据存储在单独的表中,而不是将所有数据放在一个大型存储库中,从而提高了速度并增加了灵活性。 MySQL SQL 语言是访问数据库最常用的标准化语言。 MySQL 软件采用双重授权策略(本术语“授权策略”),分为社区版和商业版。由于体积小,速度快,拥有总成本低,特别是开源,通常都是中小型网

33、站开发选择 MySQL作为网站数据库。由于其社区版本的出色性能,PHP 和 Apache 可以形成良好的开发环境。与其他大型数据库(如 Oracle,DB2,SQL Server 等)相比,MySQL 也是有其自身的缺点,但这并没有降低其受欢迎程度。对于普通的个人用户和中小型企业,MySQL 提供了足够的功能,而且由于 MySQL 是开源软件,它可以大大降低总体拥有成本。目前,互联网上流行的网上购物网站架构是LAMP(Linux + Apache + MySQL + PHP / Perl / Python)和 LNMP(Linux + Nginx + MySQL + php / perl /

34、Python),即使用 Linux 作为操作系统,Apache和 Nginx 充当 Web 服务器,MySQL 充当数据库,PHP / Perl / Python 充当服务器端脚本解释器。由于这四个软件都是免费或开源软件(FLOSS),您可以使用此方法构建一个稳定,免费的网站系统而无需花一分钱(人工成本除外)。系统特点:(1)用 C 和 C +编写,并用各种编译器测试,以确保源代码的可移植性12(2)支持 AIX,FreeBSD,HP-UX,Linux,Mac OS,NovellNetware,OpenBSD,OS / 2 Wrap,Solaris,Windows 等操作系统(3)为各种编程语

35、言提供 API。这些编程语言包括 C,C +,Python,Java,Perl,PHP,Eiffel,Ruby 和 Tcl。 (4)支持多线程,充分利用 CPU 资源(5)优化 SQL 查询算法,有效提高查询速度(6)可以作为单个应用程序应用于客户端服务器网络环境,也可以作为嵌入在其他软件中的库。(7)提供多语言支持。诸如中文 GB 2312,BIG5,日语 Shift_JIS 等的通用编码可以用作数据表名称和数据列名称。 (8)提供各种数据库连接路径,如 TCP / IP,ODBC 和 JDBC。(9)提供管理,检查和优化数据库操作的管理工具。(10)支持大型数据库。可以处理具有数千万条记录

36、的大型数据库。(11)支持多种存储引擎。133 需求分析需求分析3.1 需求分析在线购物实际上是一种使用各种先进电子技术从事各种商业活动的方式。其实质是完整的网络业务运营管理信息系统。具体而言,它是一种电子网络环境,其使用现有的计算机硬件设备,软件和网络基础设施来通过特定协议进行连接以进行各种商业活动。这是一个更严格的定义,例如在线营销,在线客户服务,在线广告,在线调查等。在线购物可以通过各种电子通信方法完成。简单来说,例如,如果您通过电话或传真与客户进行业务活动,它基本上也可以被称为网上购物;然而,人们现在讨论的网上购物是由 EDI 和 INTERNET 完成的。特别是随着 INTERNET

37、技术的日益成熟,网上购物的真正发展将基于 INTERNET 技术。因此,有些人将网上购物称为 IC(INTERNET COMMERCE)15。需求分析是数据库设计的第一阶段。持续的调查和研究,了解组织,了解系统和部门业务流程的要求,对于概念模型的设计非常重要。在需求分析中,应该详细研究现实世界中要处理的对象;在确定系统功能时,收集支持系统功能目标的数据与分析数据和处理流程之间的关系。可以说,需求分析的质量直接影响系统设计的成败。功能如下:(1)用户注册:在线购买产品的用户必须是系统的注册用户,因此,因此,必须提供用户注册功能;(2)用户登录:在网站上购物前提供用户的登录功能。只有登录后,用户才

38、能正常进行购物操作。(3)产品搜索:在浏览产品时,用户必须支持搜索功能,以便用户快速找到他们喜欢的产品。(4)购物车管理:当用户选定一种商品后,就可以把这正商品放到购物车中,在本系统中使用 session 对象来存储购物车的有关信息。需要注意的是,中的货物不是用户最终购买的产品,而只是购物意图。用户可以根据需要在提交订单之前随时修改购物车中的产品。(5)商品信息管理:对系统图的产品管理包括诸如货物仓储,产品信息修改,剩余产品信息和产品信息的审查等功能143.23.2 业务流分析业务流分析系统的业务流程图如图 3-1 所示。用户登录系统管理员登陆后台用户信息商品信息订单信息交易信息系统信息系统数

39、据库查看管理管理存储读取图 3-1 在线书店流程图网上书店是现代计算机技术与信息管理模式的结合,是根据信息管理服务流程设计的。同时,为了扩大服务范围,最初设计了一个管理平台,以促进信息发布和管理。为了使系统在各种管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,提出了以下系统开发目标:具体目标如下:(1)操作简单,界面友好:全面控制页面布局,使信息查询工作更轻松;许多选项包括个人信息,书籍信息,订单信息等。您只需单击鼠标即可从菜单中进行选择便可以完成。(2)即时可见性:信息处理(包括添加,修改,删除)将立即显示在主页的相应栏中,实现“立即释放,即时效果”的功能。(3)功能完

40、善:不仅包括通用系统信息管理的各个方面:信息录入,浏览,删除,修改,查询等,完全实现即时信息的系统管理要求。此外,还可以管理成员并审查成员的材料。同时,为了能有效方面的更新系统的界面。(4)方便移植:系统应具有实用性,可靠性和适用性,同时注意到先进性。对于不同的用户,您只需稍微修改一下即可开发出适合您需求的网络管理系统。15系统界面中所需的项目,图片和其他数据存储在数据文件中。只要文件被部分修改,就可以在系统界面上实现及时更新的效果,降低了更改系统源代码的复杂性。(5)动态管理:系统数据库的动态操作可以实现数据库信息的动态查询,动态更新修改和动态输入数据。3.3 数据流分析数据流程分析包括对信

41、息的流量,传输,处理,存储等的分析。数据流分析的目的是识别和解决数据流中的问题。现有的数据流分析主要通过分层数据流程图(DFD)实现16。3.4 数据字典数据字典是关于数据的信息的集合,也就是说,数据流图中包含的所有元素的定义集合。数据流图和数据字典一起形成系统的逻辑模型。164 系统设计系统设计4.1 总体功能模块图 系统功能模块图如图 4-1 所示。网上购书系统普通用户用户登录新用户注册查看商品信息将商品加入购物车查看购物车购买商品查看历史购买记录图 4-1 系统功能模块图4.2 数据库设计系统数据库的功能主要是组织和存储在线购物系统中的所有数据信息,例如:用户信息,产品信息和销售信息。此

42、系统的数据库文件名为 lhh.mdb,并保存在系统文件的 db 子目录中。它主要由 User,Book,Order,Item,Category,Category_Product,Product 和Receive_Address 数据表组成。这八个数据表的结构和内容将逐一介绍:(1)会员信息表用户该表存储了用户的个人详细信息,该表结构如表 4-1 所示。表 4-1 User 数据表结构序号字段名称数据类型字段说明1IdInt(12)编号172EmailVarchar(50)登录名3PasswordVarchar(50)用户密码4NickNameVarchar(50)用户名5User_integr

43、alInt(12)用户等级6Email_VerifyChar(3)邮箱是否激活7Email_Verify_CodeVarchar(50)邮箱激活验证码8Last_Login_TimeBigint(20)最后登录的时间9Last_Login_IPVarchar(15)最后登录的 IP(2) 商品大类别信息表 Product 该表比较简单,主要用来存储商品的大类别信息,该表的结构如表 4-2 所示。表 4-2 Product 数据表结构序号字段名称数据类型字段说明1IdInt(12)编号2product_nameVarchar(100)商品名3DescriptionVarchar(100)商品描述

44、4Add_TimeBigint(20)上架时间5Fixed_PriceDouble定价6Dang_PriceDouble当当价7KeywordsVarchar(200)主要描述8Has_DeletedInt(1)是否删除9Product_PicVarchar(200)商品图片(3)书籍信息表 Book该表存储了商品的详细信息,该表结构如表 4-3 所示。表 4-3 Book 数据表结构序号字段名称数据类型字段说明1Id自动编号编号2AuthorVarchar(200)作者3PublishingVarchar(200)出版社4Publish_TimeBigint(20)出版时间5Word_Num

45、berVarchar(15)字数6Which_EdtionVarchar(15)商品介绍7Total_PageVarchar(15)总页数8Print_TimeInt(20)印刷时间9Print_NumberVarchar(15)印刷次数10Author_Summary Text作者评语(4)书籍分类信息表 Category该表存储了书籍分类信息,该表结构如表 4-4 所示。表 4-4 Category 数据表结构18序号字段名称数据类型字段说明1IDInt(12)编号2TurnInt(10)次数3En_NameVarchar(200)英文名称4DescriptionVarchar(200)描

46、述5NameVarchar(200)名称6Parent_IdInt(10)上级目录 ID(5)商品分类信息表 Category_Product该表存储了商品分类信息表,该表结构如表 4-5 所示。表 4-5 Category_Product 数据表结构序号字段名称数据类型字段说明1product_idint(10)产品 ID2category_idint(10)分类 ID(6)订单信息表 Order该表存储了客户的订单信息,该表结构如表 4-6 所示。表 4-6 Order 数据表结构序号字段名称数据类型字段说明1IDInt(10)编号2User_IdInt(10)用户 ID3StatusIn

47、t(10)状态4Order_TimeBigint(20)订单时间5Order_DescVarchar(100)订单描述6Receive_NameVarchar(100)收货人名称7Full_AddressVarchar(200)收获地址8Postal_Code Varchar(8)邮编9Mobile Varchar(20)移动电话10PhoneVarchar(20)固定电话11Total_PriceDouble总价(7)订单项信息表 Item此表存储订单项的数据,结构如表 4-7 所示。表 4-7 Item 数据表结构序号字段名称数据类型字段说明1 ID自动编号编号2Order_IdInt(1

48、0)订单 ID3Product_IdInt(10)产品 ID4Product_NameVarchar(100)产品名称5Dang_PriceDouble 当当价196Product_NumInt(10)产品数量7AmountDouble小计(8)送货地址信息表 Receive_Address该表存储了送货地址的详细资料,该表结构如表 4-8 所示。表 4-8 Receive_Address 数据表结构序号字段名称数据类型字段说明1Id自动编号编号2User_IdInt(11)用户 ID3Full_AddressVarchar(200)收货人地址4Receive_NameVarchar(20)收

49、货人姓名5Postal_CodeVarchar(8)邮政编码6MobileVarchar(15)移动电话7PhoneVarchar(20)固定电话4.3 E-R 图普通用户购买商品账号用户名密码邮箱手机品牌型号内存尺寸颜色原价编号优惠价库存查看购买列表商品编号用户账号编号购买数量购买日期1n114-2 E-R 图204.4 系统功能模块划分对于简洁网民来说,吸引他们的先决条件是网站的整体概念。因此,网站的主页提供了明了的界面,分为三个模块:用户管理模块,商品销售系统模块和在线管理系统。让观众一眼就知道他们想要什么地方,这些内容可以提供给所有的浏览者,内容包括图书查询,这里可以查看所有所需图书信

50、息。 关于用户界面管理模块,通过系统功能的分析,它具有的功能应该包括网站页面的查看、图书列表的查看、购物车的使用、和用户功能的具体内容等,如图 4-3 所示。 用户界面网站页面商品列表购物车用户功能热门商品新上架商品购买商品查看商品信息查找商品查看购物车修改购物信息提交购物订单用户注册用户登陆查看购物车并购买商品查看购物列表图 4-3 客户界面的系统功能模块图215 系统系统实现实现下面分别说明这些页面的功能实现方法。5.1 系统的 MVC 分层架构MVC 是 Model,View 和 Controller 的缩写。 MVC 模式的目的是实现 Web系统的功能划分。 Model 层实现了系统中

51、的业务逻辑,通常可以使用 Java Beans 或 EJB 来实现。 View 层用于与用户交互,通常使用 JSP。 Controller 层是 Model 和 View 之间的桥梁。它调度用户的请求并选择适当的视图进行显示。它还解释用户的输入并将它们映射到模型层可以执行的操作。将系统分层为MVC 使程序员能够高效地开发并具有清晰的想法和易于维护。下面将简要介绍该系统的 MVC 设计思想。 5.1.1 模型层在此系统中,Model 层仅用于封装数据的角色,因此数据库中的实例对象生成为 Java 类,可用作 Model。 Model 层的作用是获取 Control 层中的 View层数据。 Co

52、ntrol 层想要将数据封装到对象中。此时,可以使用 Model 层中的封装形式直接封装数据。5.1.2 查看图层View 层也可以视为显示层,由 jsp 实现。 View 层的主要功能是合理安排从 Contorl 层传输的数据,并将其显示给客户端浏览器进行浏览。因此,View 层的功能相对简单。5.1.3 Control 层由于 Model 层和 View 层的功能是单一的,而 Model 层和 View 层不直接通信,因此系统的大多数业务逻辑以及 Model 层和 View 层之间的交互都集中在Control 中层。为此,系统使用 Struts2,Hibernate 和 Spring 框架

53、来设计 Control层。为了能够更清晰地开发系统,控制层的设计将分为三个级别的处理:Action,Service 和 Dao。介绍了以下三层具体设计思路。动作层:动作层主要由 Struts2 的 ActionSupport 类实现。该层的主要工作是获取前端(View 层)的数据或请求信息,动作层在收到 View 层的请求信息22后调用服务层。该方法是获取 View 层所需的数据并将数据封装到 Model 中。根据自己的需要,动作层还可以直接与 dao 层交互,以获取数据库中的数据信息。服务层:服务层主要负责业务逻辑的处理,主要使用 J2EE 中的基本技术实现。当动作层调用服务层时,服务层根据

54、动作层的需要与 Dao 层交互,并逻辑处理从动作层传输的数据和从 dao 层传输的数据,并返回处理结果到动作层。因此,服务层仅用于实现动作层和 dao 层之间的信息交换。Dao 层:当服务层根据动作调用 dao 层方法时,dao 层直接与数据库交互以获取数据库中的信息并将其交给服务层进行处理。所以 dao 层仅用于直接与数据库交互。5.2 系统主页登录模块用户注册成功后即可登录本系统,登录界面如图 5-1 所示。在用户登录界面会有 js 校检,判断是否是为空,另外有后台校检判断当前的账号密码是否正确。图5-1 用户登录5.3 用户注册操作模块如果用户未注册,则无法登录系统执行相关操作。因此,您需要注册:普通用户需要进行注册,注册界面见图 5-2。用户填入一定的用户信息,在用户注册后,您可以进入系统并执行相关操作。用户注册使用 Struts2 框架来验证用户信息输

温馨提示

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

评论

0/150

提交评论