1、 摘要 近年来,随着 Internet 的迅速崛起,网上购物在当前社会中,已不再是一种年轻人的行为。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念,本购物系统基于 B/S 模式,实现了当前购物网站的基本功能,以 JAVA 语言进行开发,采用分布式架构, 数据库 层面采用基于 MySQL 的集群 实现 。 关键词 : 数据库 JAVA MySQL JSP 网上 购物 目 录 一、绪 论 . 3 (一)引言 . 3 (二 ) 系统实现的目的和意义 . 3 1、目的 . 3 2、 意义 . 3 二、 系统开发工具及技术和环境 . 4 (一 ) JSP 技
2、术 . 4 (二 ) Tomcat 简介 . 4 (三 ) 客户端环境 . 5 (四 ) 开发工具 . 5 (五 ) 数据库技术 . 5 1、 数据库 集群 . 5 2、 分布式 . 6 3、 MySQL. 6 (六) HTML 及 JavaScript . 7 1、 HTML . 7 2、 JavaScript . 7 三、需求分析 . 7 (一 ) 功能 需求 . 7 (二 ) 需求说明书 . 8 (三 ) 可行性研究 . 8 四、系统设计 . 8 (一)系统功能描述 . 8 (二 ) UML 系统 建模 . 9 1、 用例图 . 9 2、系统 活动图 . 10 五、数据库设计 . 10
3、1、系统 E-R 图 . 10 2、 数据库结构设计 . 12 3、 创建 数据 库表 . 12 六、 系统界面和功能实现 . 13 (一)程序设计 . 13 (二)系统登录 . 18 (三)首页管理 . 20 (四)商品 分类管理 . 23 (五)用户管理 . 24 (六)用户权限管理 . 25 (七)用户个人信息管理 . 25 (八)订单管理 . 26 (九)购物车 管理 . 27 (十)系统 登出 . 27 参考文献 . 30 一、绪论 网上 购物 在 当前社会中 , 已不再是一种年轻人的行为 。购物 的商品分类已涵盖 生活 、办公的各个方面 : 日常生活所需的吃、穿 (衣服 、化妆品、
4、食品等等 )、 服务器、 电子 产品等等。 可以 说,网上购物 与 我们的生活 已经 密不可分。那么 , 网上购物究竟是什么? 专业地 讲 ,它是交易双方从洽谈、签约以及贷款的支付、交货通知等整个交易过程通过 Internet、 web和购物界面技术化的 B 2 C模式一并完成的一种新型购物方式,它是电子商务的一个重要组成部分。随着电子商务的不断发展,网上购物作为电子商务中一个重要的组成部分也在不断壮大着。 网上 购物系统作为网上购物行为的 支撑 及商品展示 、交易等的 实际 “ 工作者 ” ,其稳定 性 、可靠性 、 安全性 的 要求都是很高 。现今的网上商城都采用的三层模式体系结构( MV
5、C) ,从 技术上来说已经能满足相关的要求,但是对于后期的性能提高 等 有一定的限制。 (一)引言 网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或 EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。目前主要 有 B2B、 B2C、 C2C三种 模式 。 网上 购物 网站在 国 内可以说正在发展中,其中以淘宝、阿里巴巴、京东、当当网
6、等为 主要 的代表。 现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划。每一个细小的环节都和重要。这样才能使得在电子交易时避免不必要错误发生。我们将使用 HTML、 JSP 等技术来编辑网页,并运用 JAVA 技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中 ,这种方法在数据量不大时有很多的应用场合。当数据量比较大 ,并且有较强的专业性时 ,录入的费用和出错的可能性都相应上升。 (二 ) 系统实现的目的和意义 1、目的 搭建一个 能满足日常 购物 需要的购物网站,并可依 此 进行相关网站 的 二次开发 。通过对 数据库集群
7、 、 应用的分布式 部署 开发等开发 技术 的 实战 ,加强相关技术的掌握程度,同时对相关理论知识加深了理解,有助于对 JAVA 程序更深层次的理解 , 有助于培养架构的思想。 2、 意义 对相关 技术的掌握 更 进一步,同时为 相关 网站 开发 积累了经验 。通过 分布式架构及数据库集群 技术 的实战,对 真实 环境中的应用程序有了一定的了解,可 进行一定 程度 的 发现 问题并解决问题 。 二、 系统开发工具及技术和环境 (一 ) JSP 技术 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP
8、 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件 (*.htm,*.html)中插入 Java 程序段 (Scriptlet)和 JSP 标记(tag),从而形成 JSP文件 (*.jsp)。 用 JSP 开发的 Web应用是跨平台的,即能在 Linux 下运行,也能在其他操作系统上运行。 JSP 技术使用 Java编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。 JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设 计,使基于 Web的应
9、用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与Java Servlet 一样,是在服务器端执行的,通常返回该客户端的就是一个 HTML文本,因此客户端只要有浏览器就能 浏览。 (二 ) Tomcat 简介 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会( Apache Software Foundation)的 Jakarta 项
10、目中的一个核心项目,由Apache、 Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现, Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而 深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。 Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序
11、员都可以更改它或在其中加入新的功能。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服 务器,可利用它响应对HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。当配置正确时, Apache 为 HTML 页面服务,而 Tomcat 实际上运行JSP 页面和 Servlet。另外, Tomcat 和 IIS
12、、 Apache 等 Web 服务器一样,具有处理 HTML 页面的功能,另外它还是一个 Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。不过, Tomcat 处理静态 HTML 的能力不如 Apache 服务器。 (三 ) 客户端环境 客户端 理论上 基于 P4 以上 的计算机都可正常访问服务,主要基于 IE8 及 以上、 firefox12及 以上等主流浏览器。 (四 ) 开发工具 IDE1采用 MyEclipse 8.5 进行 软件代码 的 编写及调试 IDE: Integrated Development Environment,集成开发环境
13、,可以辅助开发程序的应用软件,就是你用来编程的软件 图 1 (五 ) 数据库技术 1、 数据库 集群 数据库是用来保存计算的最终结果 的,所以是整个信息系统的最重要组成部分。在许多人看来,当前的数据库技术已经可以说是非常地成熟了。然而,在满足不断增长的联机事务处理应用方面,当前的数据库技术其实还存在不少急迫需要解决的技术问题。 2、 分布式 分布式系统( distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度
14、自治,有本地的数据库管理系统。透明性是指每一个数据 库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。 在本系统 中采用 Apache CXF 框架 进行分布式系统之间的交互 , 在保证系统交互 需求 的要求 情况 下 , 同时进行数据安全、可靠性等的设计。 对于所有的数据库而言,除了记录正确的处理结果之外,它们都面临着四方面的挑战:如何提高处理速度,数据可用性、数据安全性和数据集可扩性,也就是说,如何使当前的数据库具有这四方面的可伸缩性,使客户能同时得到更高的处理速度、更高的数据可用性、更高的数据安全性和更大的数据集,而不是提升了其中的部分指标,却损坏了其余的指标或者 其余的指标没
15、有改进。随着 IT 应用的深入和有线,无线网络的快速增长,联机事务处理业务对以上四方面提出了更高的要求。 将多个数据库联在一起组成数据库集群来达到上述目标应该说是一个很自然的想法。理想的数据库集群应该可以做到以下几点: 在需要更高数据库处理速度的时候,我们只需简单增加数据库服务器就可以了。这样可以大大减小硬件投资的风险,而且大大提高现有服务的质量。 在任何时刻需要有多个随时可用的实时同步数据服务。为了防灾,最好有多个异地的同步数据服务。这不光会大大增加数据可用性,还会有意想不到的更高数据库处理速度的 效益。 除了密码保护之外,我们最好能控制企业内部对数据库的非法访问。 数据集的可扩性可能是最简
16、单的要求了。但是,用增加数据库服务器的办法来扩大数据集对数据可用性会产生负面影响。最好的结果是我们能任意增大数据集而没有对可用性的负面影响。 本系统 中采用 MySQL集群方案 2。 3、 MySQL MySQL 是一个 关系型数据库管理系统 ,由瑞典 MySQL AB 公司开发,目前属于 Oracle公司。 MySQL 是一种关联 数据库管理系统 ,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了 灵活 性。 MySQL 的 SQL 语言是用于访问 数据库 的最常用标准化语言。 MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速
17、度快、总体拥有成本低,尤其是 开放源码 这一特点,一般中小型网站的开发都选择 MySQL作为网站 数据库 。 (六) HTML及 JavaScript 1、 HTML HTML 即超文本标记语言,是 Web 页的基本元素。它是一种描述性语言,使用描述性标记符(即标记)来表现相应的内容,仅仅限于如何表现文字、图片等内容。 HTML 文档包含两种信息:页面本身的文本及表现这些文本的格式、结构等标记。浏览器负责对 HTML 文档进行解析并正确地显示出来。 2、 JavaScript JavaScript 语言是用于在客户端运行的脚本语言,它具有以下特点: ( 1) JavaScript 是一种用于在
18、客户端运行的脚本语言,是解释性的语言; ( 2) JavaScript 是基于对象的语言,是事件驱动的语言; ( 3)具有简单性; ( 4)具有安全性,不允许访问本地硬盘,不能将数据存入到服务器上, 不能对网络文档进行修改,能防止数据的丢失; ( 5)具有动态性,可对用户的输入作出反应,如在客户端进行数据合 法性检验,无须交给服务器检验; ( 6)具有跨平台性,只要能允许浏览器,就能正确地运行 JavaScript。 我使用 JavaScript 实现对用户输入数据合法性检查。 三、需求分析 需求分析是软件设计中非常重要的一个环节,没有经过详细的需求分析就匆匆忙忙进行软件开发是注定要失败的。所
19、以一定要花时间与用户进行沟通交流,详细了解客户到底需要软件做到什么。在沟通交流过程中也可以大致告诉用户软件可以做到些什么、是怎样做的。对用户提出的一些不切实际的需求一定要以合理的方式明确地拒绝。经双方讨论并明确的需求要以书面的形式签字确认 ( 一 ) 功能 需求 一个网络购物系统,首先我们要保证客户能够很方便进行商品选择,系统应该具有分类选择商品功能,系统应该实现“购物车”的功能,用户可以把选中的商品放入“购物车”中,在选购完毕后再一起结帐。在系统的后台,管理员能够管理商品,商品分类,以及客户购买订单。 因此分析,本系统主要由前台和后台两部分组成,前台为客户端,顾客可以在此处购买商品,后台为商
20、品管理端,实现对商品和订单的管理。 (二 ) 需求说明书 经过详细的需求调研,最终形成需求说明书。需求说明书包含项目背景、项目目标任务、需求规定等内容,其中需求规定 是重点。下面简单列出本文的需求: (1) 对 物品的 出入库 要求能进行数据录入,便于后期进行统计 (2) 物品 按类别进行划分,有 规律 的、可进行统计的 代码 进行管理 (3) 用户 可在线进行购买商品 ,可 实时查看到购物车、订单 信息及 状态 (4) 要求 有精细的权限管理, 管理员 只能对用户密码进行重置,不可查看 用户 密码,用户之间对于订单等信息 不 可见。 (5) 购物车 信息在用户再次登录系统时仍然能够进行查看
21、。 (6) 用户 可对个人 基本 信息进行查看、修改。 (7) 系统 退出 时 ,应 及时 清空 用户 相关信息。 (三 ) 可行性研究 硬件、软件上的可行性:目前市场上的计算机软硬件资源都可以满足系 统开发的要求。其中运用的主要软件有 MyEclipse、 Tomcat服务器等,数据库采用 MySQL数据库。 JSP 技术:该技术目前已经十分成熟,功能强大,扩展性好。 JSP在网站开发上是个非常理想的技术工具。 四、系统设计 (一)系统功能描述 下图显示了系统的全部功能: 购物网站信息平台商品管理商品分类管理用户管理用户权限管理个人信息管理订单管理购物车管理新增商品商品出库增加 修改分类用户
22、密码重置增加用户权限分配个人基本信息维护订单查询 、修改购物车清空 、查看 、 结算图 2 (二 ) UML 系统 建模 1、 用例图 用例图是用来鉴别和划分系统功能,它把系统分成动作者和用例两个部分。动作者表示系统用户能扮演的 角色,这些用户可能是人,可能是其他的计算机,一些硬件,或者甚至是其他软件系统,本系统的动作者就是管理员。 用例描述了当动作者之一给系统特定的刺激时系统的活动。 系统总用例图如下所示: 商品管理商品分类管理用户管理订单管理购物车管理图 3 2、系统 活动图 活动图片反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程,如图所示,描述了管理员登陆、信息管理、及导购查询的活动执行顺序。活动图是一种特殊的状态图,描述需要做的活动,执行这些活动的顺序(多为并行的)以及工作流(完成工作所需的步骤)。它对系统的功能建特别重要,强调对象间的控制流程。系统活动图如下图所示: 管理员登陆分配权限商品管理商品分类管理图 4 五、数据库设计 包括用户信息表,用户权限表、商品分类表、商品信息表、订单信息 表 等 表 ,以及各个表的关系图。 1、系统 E-R图 本 系统中主要用到了商品实体 、用户 实体、 订单 实例 等 。 (1) 商品 实体 商品编号PK商品名称商品类别价格库存产地图 5 (2) 用户实体