




免费预览已结束,剩余35页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子商务订购平台 计算机科学与技术专业 摘摘 要要近年来,随着 internet 的蓬勃发展,电子商务也在迅速崛起。电子商 务利用 internet 提供的信息网络在网上进行的商务活动,改变了传统的买卖双方面对 面的交流方式,也打破了旧有工作经营模式,它通过网络使企业面对整个世界,为用 户提供每周 7 天,每天 24 小时的全天候服务。从而为企业的经营活动,迎来了崭新 的电子商务时代!系统主要应该实现的功能有用户的注册、登陆、修改密码、浏览商 品、购买商品以及系统的添加商品、商品展示等管理功能。系统设计中主要采用的技 术为:jsp、struts2t、j2ee、b/s。 关键词关键词电子商务;网络;jsp ;struts2 electronic commerce orders platform computer science and technology major abstract: in recent years, with the rapid development of internet, electronic commerce is also booming. use of internet e-commerce to provide online information network in the business, changed the traditional buyers and sellers interact face to face, it also breaks the old business model work, it is through the network so that enterprises face the whole world, to provide users a week 7 days, 24 hours a day. so as the business activities and ushered in the new age of electronic commerce! the main functions of the system should implement a user registration, login, change passwords, view products, purchase products and system to add products, merchandise display and other management functions. mainly used in system design technology: jsp, struts2t, j2ee, b / s. key words: electronic commerce; network; jsp; struts2 电子商务订购平台 目目 录录 前前 言言1 1 1 系统概述系统概述1 1.1 选题背景及意义 1 1.2 系统概述 2 1.2.1 系统功能.2 1.2.2 系统实现.2 1.3 技术背景 2 1.3.1 面向对象的软件开发.2 1.3.2 java 技术.3 1.3.3 b/s 模式与 c/s 模式.4 1.3.4 servlet 技术与 jsp 技术.5 1.3.5 mvc 框架.5 1.3.6 struts 框架.6 1.3.7 ajax 技术.7 1.3.8 hibernate 技术.7 1.4 开发工具以及发布环境 8 1.4.1 系统开发环境8 1.4.2 系统发布环境8 2 2 系统分析系统分析8 2.1 系统可行性分析 8 2.1.1 技术可行性8 2.1.2 操作可行性8 2.1.3 法律可行性9 2.2 系统需求分析 9 2.2.1 客户端的需求分析9 2.2.2 后台管理的需求分析10 3 3 系统设计系统设计11 3.1 系统模块设计 11 3.2 系统设计思想 11 3.3 系统主要模块的视图设计 12 3.4 系统核心部分的设计 12 3.4.1 客户端的设计12 3.4.2 后台的管理设计13 4 4 系统详细设计与实现系统详细设计与实现14 4.1 数据库设计与实现 14 4.1.1er 图.14 4.1.2 数据实体描述以及表结构15 4.1.3 数据库的建表的实现19 4.2 客户端的设计与代码实现 21 4.2.1 商品浏览模块.21 4.2.2 用户登录模块23 4.2.3 用户注册模块24 4.2.4 购物车模块26 4.2.5 订单模块27 4.3 后台管理的设计与代码实现 29 4.3.1 后台管理的登录模块29 4.3.2 用户管理模块30 4.3.3 订单管理模块31 4.3.4 商品管理模块32 致谢致谢36 电子商务订购平台 1 前 言 随着计算机科学技术的发展,计算机科学日渐成熟,其强大的功能已为人们深刻 认识,它已进入社会各个领域并发挥着越来越重要的作用。在当今社会,越来越多的 行业都采用计算机及网络技术来管理或处理事务,以便提高工作效率。 电子商务作为一种新型的贸易方式,极大地促进了全球经济贸易的发展,同时也正 在改变人们的生活方式和思想观念。一种全新的购物理念开始形成并逐步发展。目前, 已有一些非常成熟的电子商务平台,如 ebay,阿里巴巴等在线交易平台。通过这些在 线交易平台,每个商人都可以足不出户地将自己的商品出售,而客人则可以在电脑前 购买自己心仪的商品。本系统就是在已有电子商务平台的引导下实现了订购平台,系 统分为前台用户模块和和后台用户模块两个功能模块,系统前台具有客户登陆、浏览 和购物等功能;后台具有图书的管理、销售的管理、会员的管理等功能并且界面简单、 操作简便。 1 系统概述 1.1 选题背景及意义 近年来,随着 internet 的迅速崛起,互联网已日益成为收集提供信息的最佳渠道 并进入传统的流通领域。于是电子商务开始流行起来,一种全新的购物理念开始形成 并逐步发展。目前,已有一些非常成熟的电子商务平台,如 ebay,阿里巴巴等在线交 易平台。通过这些在线交易平台,每个商人都可以足不出户地将自己的商品出售,而 客人则可以在电脑前购买自己心仪的商品。随着电子商务相关规范的成熟,电子商务 极有可能取代传统的商务活动。 今天,我们已经可以确信电子商务毋庸置疑是未来的发展方向。但是电子商务却 还没有一个标准的定义。intel 公司认为:电子商务=电子市场电子交易电子服务; ibm 认为:电子商务=web;hp 公司则说:“电子商务是通过电子化的手段来完成商业 贸易活动的一种方式。 ” 电子商务,顾名思义是指在互联网上进行的电子化的商务活动。从狭义上看,电 子商务也就是电子交易,主要指利用 web 提供的通信手段在网上进行交易活动,包括 通过 internet 买卖产品和提供服务。而从广义上讲,电子商务还包括企业内部商务活 动,如生产、管理、财务等以及企业间的商务活动,它不仅仅是硬件和软件的结合, 更是把买家、卖家、厂家和合作伙伴在 internet、intranet 和 extranet 上利用 internet 技术与现有的系统结合起来开展的业务活动。 电子商务订购平台 2 电子商务订购平台系统正是一种具有交互功能并且实现了简单后台管理的商业交 易与信息管理系统。它向用户提供友好交互界面,可以让互用足不出户实现商品浏览 和具体了解,在短时间内订购并获得商品。同时也为商家提供了对商品的管理功能, 让商家了解到商品和订单情况。 1.2 系统概述 1.2.1系统功能 电子商务通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环 境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商 贸活动,实现消费 者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、 金融活动和相关的综合服务活动的一种新型的商业运营模式。 本电子商务订购系统主要分为了两大功能:用户交互和后台管理。用户交互主要 实现用户在本系统的注册、登陆、浏览商品、购买商品、填写订单,也就是实现了用 户的购物订购的全过程。后台管理主要实现了管理员对该系统的管理,包括对注册用 户的管理、对订单的管理、对商品的管理。 本系统要求用户参与购买商品之前,必须注册系统,并进行 email 的激活验证, 注册的用户可以根据注册的 email 和密码登陆系统,进行商品的选购的提交订单。管 理员通过用户名和密码管理登录,然后进行用户的管理,订单的管理和商品的管理。 未注册用户可以浏览商品但不能进行商品的购买,在购买之前必须注册并登陆本 系统。非管理员不能进入管理界面。 1.2.2系统实现 本系统以 struts2 组件做为系统开发的框架,采用 mvc 分层模式,其中采用 jsp 方式来生成前台的显示页面,使用 mysql 做为后台的数据库服务器,使用 hibernate 访问数据库,使用了 ajax 的异步请求实现动态页面效果,以及运用了面向对象的设计 思想进行开发实现的 b/s 系统。具有友好的前台界面,易操作性,易管理,高稳定 性,和高安全性等特点。在本系统中,顾客可以很方便的注册成为会员,对商品进行 浏览检索,查看商品的详细资料,然后根据各人的喜好购买心仪的商品。系统会自动 为顾客生成订单,按照顾客所填写的信息提交订单并发货。系统管理员则可以对现有 的商品进行添加和编辑,审查已注册的用户并对提交的订单进行处理。 1.3 技术背景 1.3.1面向对象的软件开发 在软件开发中,有两种不同的软件设计和开发的理念;结构化泛型和面向对象泛 电子商务订购平台 3 型。所谓理念就是进行设计和开发的整套思考方法。这种思考方法与软件开发所使用 的工具本身是没有关系的。 在结构化泛型的软件应用系统开发中,一个软件由两个互不相关的部分组成。一个 部分面向流程,成为流程模型,描述了产品的所有行为,包括流程性和数据性的;另 一部分面向数据体系,称为数据模型,描述了在产品行为中需要操作的数据。在这样 的软件组织结构中,数据与行为被隔离开,数据模型仅仅起到组织数据和保护数据的 作用。流程模型通过对数据模型进行操作完成所有的工作。流程模型需要同时了解数 据模型代表的含义、操作数据模型的方法和规则,以及软件工作的方式。 而面向对象泛型的软件应用系统开发中,行为和数据被统一在对象模型中。一个对 象同时包括了用语描述该对象所需要的数据,以及这个对象可以进行的操作。这些操 作会根据需要访问或修改描述对象所用到的数据。在这样的结构中,一个对象是很完 善的一个个体,是数据和操作的统一体,通过对对象调用不同的操作就可以完成产品 的行为。 java 语言和 java 平台是采用面向对象技术开发软件场频最好的选择之一,除了 java 之外微软的.net 平台也是一个选择。 1.3.2 java技术 java 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向 internet 的开发工具。自从 1995 年正式问世以来,java 的快速发展已经让整个 web 世界发生了翻天覆地的变化。在早期,java 比较多的用在浏览器上,插入到网页中(即 是 java applet 程序),成为最灵活、最强大的网页多媒体的载体,但由于 java 虚拟 机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,applet 逐渐的被后 起之秀 flash 所替代,但随着 java servlet 的推出,java 在电子商务方面开始崭露头 角,最新的 jsp(java server page)技术的推出,更是让 java 成为基于 web 的应用程 序的首选开发工具,目前的 java 技术已成为所有大型电子商务项目的必然选择。 为了对 java 技术的使用方向和范围进行区分,sun 公司对 java 技术进行了是擦好 难过划分,根据这个划分 java 平台有个三个版本。其核心是使用于桌面系统的 java2 平台标准版(java 2 platform standard edition,j2se) 。它面向标准的软件开发, 同时作为 java 语言的核心平台。另一个是适用于小型信息化设备和智能卡的 java2 平 台微型版(java 2 platform micro edition,j2me) ,它是面向嵌入式的信息产品。 最后是适用于创建服务器应用程序和服务器的 java 2 平台企业版(java 2 platform enterprise edition,j2ee) ,专门针对企业级的软件开发和应用。 电子商务订购平台 4 图 1-1 java 的三个主要平台 1.3.3 b/s模式与c/s模式 c/s 和 b/s 是当今世界开发模式技术架构的两大主流技术。c/s 是美国 borland 公 司最早研发,b/s 是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内 公司以 c/s 和 b/s 技术开发出产品也很多。这两种技 术都有自己一定的市场份额和客 户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自 的客户群体,都有一大群文人墨客为自己摇旗呐 喊,广告满天飞,可谓仁者见仁,智 者见智。 什么是 c/s 结构? c/s (client/server)结构,即大家熟知的客户机和服务器 结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合 理分配到 client 端和 server 端来实现,降低了系统的通讯开销。目前大多数应用软 件系统都是 client/server 形式的两层结构,由于现在的软件应 用系统正在向分布式 的 web 应用发展,web 和 client/server 应用都可以进行同样的业务处理,应用不同 的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统, 通过现有应用系统中的逻辑可以扩 展出新的应用系统。这也就是目前应用系统的发展 方向。 什么是 b/s 结构? b/s(browser/server)结构即浏览器和服务器结构。它是随 着 internet 技术的兴起,对 c/s 结构的一种变化或者改进的结 构。在这种结构下, 用户工作界面是通过 www 浏览器来实现,极少部分事务逻辑在前端(browser)实现, 电子商务订购平台 5 但是主要事务逻辑在服务器端(server) 实现,形成所谓三层 3-tier 结构。这样就 大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的 总体成本(tco) 。 c/s 架构软件的优势与劣势:应用服务器运行数据负荷较轻;数据的储存管理功能 较为透明;c/s 架构的劣势是高昂的维护成本且投资大。 b/s 架构软件的优势与劣势:维护和升级方式简单;成本降低,选择更多;应用服 务器运行数据负荷较重。 而且 c/s 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门 服务器提供连接和数据交换服务。b/s 建立在广域网之上的, 不必是专门的网络硬件 环境,例如电话上网, 租用设备, 信息自己管理, 有比 c/s 更强的适应范围, 一 般只要有操作系统和浏览器就行。所以本次毕业设计主要选 b/s 为设计结构。 1.3.4 servlet技术与jsp技术 servlet 是一种独立于平台和协议的服务器端的 java 应用程序,可以生成动态的 web 页面。servlet 是使用 java servlet 应用程序设计接口及相关类和方法的 java 程 序,它在 web 服务器上或应用服务器上运行并扩展了该服务器的能力。java servlet 对于 web 服务器就好像 java applet 对于 web 浏览器。applet 装入 web 浏览器并在 web 浏览器内执行,而 servle 则是装入 web 服务器并在 web 服务器内执行。java servlet api 定义了 servlet 和服务器之间的一个标准接口,这使得 servlet 具有跨服 务器平台的特性。servlet 通过创建一个框架扩展服务器的能力,采用请求-响应模式 提供 web 服务。 与传统的 cgi(common gateway interface 公用网关接口)和许多其他类似 cgi 的 技术相比,java servlet 有许多优点。servlet 具有很高的效率;更容易使用;功能 更强大;具有更好的可移植性。 web 服务器的辅助应用,处理特定的用户请求,并返回响应。web 服务器,这里 的服务器不是硬件概念,而是软件,常用的 web 服务器有 tomcat,jboss 等。 tomcat 是一个用 java 语言编写的 web 服务器,所以需要有相应的 java 运行环境, 也就是 jvm,还要配置 tomcat 的具体路径。 jsp 本身就是预先被编译成 servlet,然后再运行的,而且大型的 web 应用程序的开 发需要 java servlet 和 jsp 配合才能完成。由于考虑到 jsp 的先进性和普遍性,本次 毕业设计选用 jsp 作为主要开发工具来实现网上书店. 1.3.5 mvc框架 mvc(应用观察者模式的框架模式)是 model-view-controller 的简称,即模型- 视图-控制器。其核心思想是将程序按其功能和职责不同分成既独立而又能协同工作的 电子商务订购平台 6 3 个部分。 m: model(business process layer),模型,操作数据的业务处理层,并 独 立于表现层(independent of presentation)。 v: view(presentation layer),视图,通过客户端数据类型显示数据,并回 显模型层的执行结果。 c: controller(control layer),控制器,也就是视图层和模型层桥梁, 控 制数据的流向,接受视图层发出的事件,并重绘视图。 mvc 框架的实现模型:jsp+servlet+javabean,以控制为核心,jsp 只负责显示和 收集数据,sevlet,连接视图和模型,将视图层数据,发送给模型层,javabean,分 为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的 项目都是使用这种 mvc 的实现模式。 1.3.6 struts框架 2000 年 craig r.mcclanahan 把自己根据 mvc 模式编写的 application framework 源码捐给 apache 基金会,作 apachejakarta 项目的一个组成部分,这些源码成为了 struts framework 的前身。 struts 是使用 mvc 的实现: model:struts 没有提供 model 类。这个商业逻辑必须由 web 应用程序 的开发者 以 javabean 或 ejb 的形式提供 view:struts 提供了 action form 创建 form bean, 用于在 controller和 view 间传输数据。此外,struts 提供了自定义 jsp 标签库,辅助开发者用 jsp 创 建交互式的以表单为基础的应用程序,应用 程序资源文件保留了一些文本常量和错误 消息,可转变为其它语 言,可用于 jsp 中。 controller:struts 提供了一个核心的控制器 actionservlet,通过这个核心的 控制器来调用其他用户注册了的自定义的控制器 action,自定义 action 需要符合 struts 的自定义 action 规范,还需要在 struts-config.xml 的特定配置文件中进行配 置,接收 jsp 输入字段形成 action form,然后调用一个 action控制器。action 控制器中提供 model 的逻辑接口。 在 web 应用启动时就会加载初始化 actionservlet,actionservlet 从 struts- config.xml 文件中读取配置信息,把它们存放到各种配置对象当 actionservlet 接收到 一个客户请求时,将执行如下流程. (1)检索和用户请求匹配的 actionmapping 实例,如果不存在,就返回请求路径无效 信息; (2)如果 actionform 实例不存在,就创建一个 actionform 对象,把客户提交的表单 数据保存到 actionform 对象中; 电子商务订购平台 7 (3)根据配置信息决定是否需要表单验证.如果需要验证,就调用 actionform 的 validate()方法; (4)如果 actionform 的 validate()方法返回 null 或返回一个不包含 actionmessage 的 actuiberrors 对象, 就表示表单验证成功; (5)actionservlet 根据 actionmapping 所包含的映射信息决定将请求转发给哪个 action,如果相应的 action 实例不存在,就先创建这个实例,然后调用 action 的 execute()方法; (6)action 的 execute()方法返回一个 actionforward 对象,actionservlet 在把客 户请求转发给 actionforward 对象指向的 jsp 组件; (7)actionforward 对象指向 jsp 组件生成动态网页,返回给客户; 1.3.7 ajax技术 ajax(asynchronous javascript and xml)其实是多种技术的综合,包括 javascript、xhtml css、dom、xml、xstl、xmlhttprequest。其中:使用 xhtml 和 css 标准化呈现,使用 dom 实现动态显示和交互,使用 xml 和 xstl 进行数据交换 与处理,使用 xmlhttprequest 对象进行异步数据读取,使用 javascript 绑定和处 理所有数据。 与传统的 web 应用不同,ajax 采用异步交互过程。ajax 在用户与服务器之间引 入一个中间媒介,从而消除了网络交互过程中的处理等待处理等待缺点。 用户 的浏览器在执行任务时即装载了 ajax 引擎。ajax 引擎用 javascript 语言编写,通 常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。ajax 引擎允 许用户与应用软件之间的交互过程异步进行, 独立于用户与网络服务器间的交流。 现在, 可以用 javascript 调用 ajax 引擎来代替产生一个 http 的用户动作,内存 中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给 ajax 来执行。 1.3.8 hibernate技术 hibernate 是一种 or/m(object relation mapping)对象关系映射工具,是一 个可以自动的根据 xml 完成对象关系映射,并持久化到数据库的开源组件,是对 jdbc 的封装,主要负责 java 对象的持久化.。 对象持久化就是将内存中以对象形式存在的数据转存到外部持久设备中;在适当 的时候可以方便的完整的将数据恢复到内存中(双向的数据转化) 。 进行对象持久化的原因是首先是从物理上(看基本现象的): 1)内存不能持久化保存数据 2)内存容量有限 电子商务订购平台 8 业务上: 1)共享信息 (信息对于信息系统来说是先导性要素,内存是不共享的,受保护 的,要把信息放在能够共享的地方) 2)管理(信息的管理:安全、备份、权限) (信息的集中,方便进行信息管理) 3)大规模的检索 hibernate 的工作原理:封装了 jdbc,提供更简单的抽象的 api 给业务层调用,保 证业务层是面向对象的。 1.4 开发工具以及发布环境 1.4.1 系统开发环境 操作系统:red had linux9 或 windows xp 虚拟机:jdk-6-linux-i586 或 jdk-6-win-i586 浏览器:firefox2.0 或 ie6 web 服务器:apache tomcat 5.0 数据库:mysql 5.5 ide 工具:myeclipse6.0(集成 eclipse3.3) 1.4.2 系统发布环境 操作系统:red had linux9 或 windows xp 虚拟机:jdk-6-linux-i586 或 jdk-6-win-i586 浏览器:firefox2.0 或 ie6 web 服务器:apache tomcat 5.0 数据库:mysql 5.5 2 系统分析 2.1 系统可行性分析 2.1.1 技术可行性 采用 struts2 和 jsp 实现的电子商务订购系统,具有可视化的优点,能大大提高 软件开发的效率,缩短开发周期,具有很大的应用潜力。在开发中使用了 struts 的强 大框架技术和 jsp 的视图效果,使用 ajax 实现动态异步效果,建立以 mysql 数据库系 统的核心动态网页,实现电子商务系统前台购物和后台管理等功能模块。 电子商务订购平台 9 2.1.2 操作可行性 通用的 web 浏览器降低了操作复杂度,遵循操作员的操作习惯,使得用户在使用 时,只要自如的按习惯进行操作,即可轻松完成工作。因此,从操作角度衡量,本系 统的开发方案也是可行的。 2.1.3 法律可行性 电子商务订购系统只是为提供企业与客户之间沟通与交流而搭建的一个平台,信 息合法,不涉及侵权等法律法规。在网络迅速发展的现在,这种商业模式在逐步完善。 2.2 系统需求分析 网上书店系统开发意图:为了更好地适应市场需求,缓解各书店的地域限制,为 消费者实现更便捷的方法,利用网上书店系统和计算机设备实现 网上查阅选购书籍 购买邮寄书籍管理用户管理、订单管理等,提高工作效率,增加图书销量,增加用户, 便于管理,使用户易于挑选和购买。 网上书店系统的应用目标:通过这个系统使用户利用计算机可以足不出户就能在 网上进行查阅、挑选、购买;使管理人员利用计算机,快速方便的管理书籍的销售, 新书的入库,书籍的分类,热门书籍的选择,客户的购买和选择,客户的管理。使购 书变得方便。 2.2.1 客户端的需求分析 在客户端,主要需要实现用户的注册,登录,浏览商品,选购商品,结帐服务等。 客户端功能实现的主要流程如图 2-1 所示: 浏 览 商 品 选 择 商 品 订 购 商 品 去 购 物 车 去 收 银 台 提 交 订 单 未注册用户 已登录注册用户 未登录注册用户 注册 登录 图 2-1 客户端功能流程图 用户可以注册本系统,然后登录系统进行商品的浏览和选购,用户可以购书,也 可以查看图书信息,查询图书可以通过关键字,也可以通过分类查询。当用户找到自 己需要的书籍以后可以选择购买,也可以查看图书的详细信息。这时候如果用户选择 购买的话,他可以选择购买的数量,并将书籍放到购物车中,这个时候用户就可以去 电子商务订购平台 10 查看购物车信息,购物车中罗列了用户购物的清单(订单) ,用户可以查看订单信息, 修改订单信息。比如说修改书籍的购买数量,或者删除前面购买的书籍。这时用户可 以提交购物车到后台结帐,也可以选择继续购书。继续购书就是按照前面的流程在循 环的走下去。用户提交购物车以后,订单就不能再被用户修改了。这个时侯用户的流 程就走完了。用户可以继续进行商品的选购或者退出系统。 2.2.2 后台管理的需求分析 后台管理的主要设计实现就是可以使作为管理员,对本系统商品的管理,用户的 管理,订单的管理。管理员需要能够在高效的情况下时刻关注系统的必要性增加、删 除、修改的维护功能。 服务端功能实现的流程图如下图 2-2 所示: 图 2-2 后台管理流程图 系统的管理员在进入管理员界面进行登录,首先也必须进行验证登录,这时系统 从 admin_user 数据库表中查找看有没有用户输入的用户,并验证密码是否正确,如果 不正确那么系统提示返回,重新登录。如果正确则进入后面的工作流程。这时管理员 可以进行管理操作,比如用户管理操作(查看用户信息,修改用户信息,添加用户, 删除用户) ,图书管理操作(查看图书列表,查看图书详细信息,添加图书,修改图书, 删除图书) ,图书分类管理操作(添加图书分类,删除图书分类,浏览图书分类列表) , 订单管理操作(查看订单,确认订单,修改订单状态,删除订单) 。操作完之后管理员 电子商务订购平台 11 可以退出系统。 3 系统设计 3.1 系统模块设计 根据对本系统的需求分析,系统在客户端要实现用户注册、用户登录、商品浏览、 订单填写的,在后台管理要实现对注册用户、商品和订单的管理。系统实现的总体的 模块如图 3-1 所示: 网上书店 用 户 管 理 员 用 户 注 册 用 户 登 录 浏 览 商 品 购 买 商 品 用 户 管 理 订 单 管 理 图 书 管 理 填 写 订 单 图 3-1 系统主要模块 3.2 系统设计思想 交易系统和管理系统在系统架构方面完全一致,采用 4 层结构,主要包括:表现 层、控制层、业务层、持久层。 表现层:主要负责用户交互和结果显示,交易系统和管理系统有不同的 url 入口 界面。 控制层:主要负责系统的访问控制、数据加载和注销,是系统的核心控制单元。 控制层通过系统描述来组织工作。 业务层:实现了交易系统和管理系统的主要业务逻辑,是系统主要的运算单元。 电子商务订购平台 12 持久层:实现了静态数据和数据库数据的持久化管理,为业务层提供数据服务, 是系统进行数据操作的统一界面。 在系统中使用 struts 作为系统的整体基础架构,负责 mvc 的分离,在 struts 框 架的模型部分,利用 hibernate 框架对持久层提供支持,业务层用提供业务逻辑方发。 具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本 的 java 对象,然后编写基本的 dao 接口,并给出 hibernate 的 dao 实现,采用 hibernate 架构实现的 dao 类来实现 java 类与数据库之间的转换和访问最后由 spring 完成业务逻辑。 系统的基本业务流程是: 在表示层中,首先通过 jsp 页面实现 交互界面,负责 传送请求(request)和接收响应(response),然后 struts 根据配置文件(struts- config.xml)将 actionservlet 接收到的 request 委派给相应的 action 处理。在业务 层中,管理服务组件的 spring ioc 容器负责向 action 提供业务模型(model)组件和该 组件的协作对象数据处理(dao)组件完成业务逻辑,并提供事务处理、缓冲池等容器组 件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于hibernate 的 对象化映射和数据库交互,处理 dao 组件请求的数据,并返回处理结果,不仅实现了 视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无 论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响, 大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工 作大大提高了开发效率。 3.3 系统主要模块的视图设计 系统的视图设计是系统直接展现给用户的界面,有好的用户界面设计会给用户带 来更好的体验。在本系统中,根据技术的支持,我选择使用 jsp 来设计实现视图层的 界面设计。jsp 可以很好的与 ajax 技术和 javascript 技术结合起来完成动态的页面效 果。ajax 技术的异步请求可以减少用户的等待时间,实现无刷新的更新,给用户有好 体验。在视图设计中还将使用的是美工知识,也就是 css 样式的使用,在 jsp 中引如 css 样式设计这样可以设计出页面的框架布局和页面效果。 3.4 系统核心部分的设计 系统的核心部分也就是用来处理浏览器发送请求的处理部分。在 web 的流程控制 部分的设计,根据系统的设计思想,可以使用 action 组件来实现用户在浏览器发送请 求的控制,根据用户发送的请求地址,在 action 的组件配置中可以很方便的控制请求 的重定向或者请求的转发。 电子商务订购平台 13 3.4.1 客户端的设计 在客户端的实际主要是实现的客户端 jsp 页面的实现和其中的请求流程空中部分, 主要界面是在 mvc 的视图层实现的,在本系统中使用了 jsp 实现的,在 jsp 中使用了 其他支持技术,比如 ajax 和 json 来实现异步请求和获取服务器端信息等功能。客户 端用户请求路径与 action 组件的映射关系如表 3-1 所示: 表 3-1 客户端用户请求路径与 action 组件的映射关系表 用户的请求路径对应的 action 组件功能描述 login.actionloginaction 负责判断数据库中该用户是否存在,如果该 用户不存在则返回到登陆页面并提示用户, 若存在则把该用户信息放在 session 中,并 把页面跳转到购物浏览页面 regist.actionregistaction 负责控制用户在注册页面填写注册信息之后 的判断,如果用户注册信息正确即注册成功 跳转到注册成功页面,否则跳转到错误页面 booklist.actionbooklistaction 负责从数据库中获取商品信息保存在请求中, 以便在页面中显示信息 cartlist.actioncartlistaction 从 session 当前会话中获取用户的购物车, 从而获得购物车中的详细商品条目,显示在 购物车页面 cartput.actionaddaction 负责用户在浏览商品过程中购买商品的动作 处理 update.actionupdateaction 负责处理用户对购物车中商品数量的修改 delete.actiondeleteaction 负责用户对购物车中的商品的删除处理,删 除的商品被放在垃圾箱中可以重新被回复 order_info.action orderinfoaction 负责用户对即将生成订单的购买商品的确认, 确认之后跳转到订单信息的填写 order.actionorderaction 负责对用户提交的订单信息生成订单的处理 3.4.2 后台的管理设计 后台管理的请求路径与 action 组件的映射,在后台的管理和实现中使用了 struct2 的 action 类实现的,在代码设计部分的 action 组件、jsp 组件和 action 配置文件的 关系是设计的核心,也正是 mvc 的核心控制部分,后台的请求路径和对应 action 的详 电子商务订购平台 14 细对应关系如表 3-2: 表 3-2 后台管理的请求路径与 action 组件的映射 请求路径对应的 action功能描述 manager_login.actionmanagerloginaction 负责判断管理员的登录是否 正确,登陆正确则进入管理 界面,否则给出提示信息 userlist.actionuserlistaction 负责从数据库中获得用户表 中的用户信息,以便在相应 页面中显示 manager_user.actionmanageruseraction 负责用户管理中对用户的删 除和给用户发送 email 的业 务处理 orderlist.actionorderlistaction 负责从数据库中获得订单表 中的多有订单的详细信息, 以便在相应的页面中显示 delete_order.actiondeleteorderaction 负责删除已经发货成功的订 单或者无效的订单 update_order.actionupdateorderaction 负责对订单的状态根据发货 情况进行更新 productlist.actionproductlistaction 负责从数据库中获得商品的 所有信息,以便在相应的页 面显示 add_product.actionaddproductaction 负责商品添加的处理 modify_product.actionmodifyproductaction 负责处理提交的商品的修改 信息 delete.actiondeleteproductaction 负责商品删除的处理 电子商务订购平台 15 4 系统详细设计与实现 4.1 数据库设计与实现 4.1.1er图 根据系统的模块分析和需求分析整理出本系统的 e-r 图如图 4-1 所示: 图 4-1 系统 e-r 图 4.1.2 数据实体描述以及表结构 (1)商品表 d_product:用来存放商品的基本信息,包括商品的 id、商品名称、 商品描述、商品上架时间、市场价格、当当价格、搜索关键字、商品图片的信息。 在这里把商品表设计成为基本表,也就是记录的是所有类别商品的基本特征,商 品中可以是图书,可以是其他的,以后就可以使用他作为父表,把图书作为字子表, 其中的相同字段不需要再次定义。 商品表的表结构如表 4-1 所示: 表 4-1 商品表 字段名称类型约束描述 idint notnull auto_increment 商品的 id 号 product_namevarchar(100)not null商品名称 descriptionvarchar(100)default null商品描述 add_timedatetimedefault null上架时间 电子商务订购平台 16 fixed_pricedoublenot null市场价 dang_pricedoublenot null当当价 keywordsvarchar(200)deafault null关键字 has_deletedint(1)not null default 0是否被删除了 product_pricvarchar(200)default null商品图片 (2)图书表 d_book:用来存放图书的基本信息的,并且把商品表作为了父表,只 需要定义图书的特有信息即可。 图书表的表结构如表 4-2 所示: 表 4-2 图书表 字段名称类型约束描述 idint(12)not null图书 id authorvarchar(200)not null作者 publishingvarchar(200)not null出版社 pubish_timedatetimenot null出版时间 word_numbervarchar(15)default null版本号 which_editionvarchar(15)default null编辑 total_pagevarchar(15)default null总页数 print_timedatetimedefault null印刷时间 print_numbervarchar(15)default null印刷数量 isbnvarchar(25)default null版本 author_smmarytextnot null作者介绍 cataloguetextdefault null描述 (3)类别表 d_category:用来保存商品的分类目录。 类别表的表结构如表 4-3 所示: 表 4-3 类别表 字段名称类别约束描述 idint(12)notnull auto_increment 类别 id 电子商务订购平台 17 turnint(10)not null tn_namevarchar(200)not null英语名称 namevarchar(200)not null名称 descriptionvarchar(200)描述 parent_idint(10)父类 id (4)类别与商品的关系表 d_category_product:用来保存商品和分类表的关系的。 类别与商品的关系表的表结构如表 4-4 所示: 表 4-4 关系表 字段名称类型约束描述 idint(12)notnull auto_increment id 号 product_idint(10)not null商品的 id cat_idint(10)not null类别的 id (5)订单项表 d_item:用来保存用户购买商品的信息。 订单项表的表结构如表 4-5 所示: 表 4-5 订单项表 字段名称类型约束描述 idint(12)notnull auto_increment 订单项的 id order_idvarchar(32)default null订单的 id product_idint(10)not null商品的 id product_namevarchar(100)not null商品的名称 fixed_pricedoublenot null市场价 电子商务订购平台 18 dang_pricedoublenot null当当价 product_numint(10)not null商品数量 amountdoublenot null小计 (6)订单表 d_order:用来保存用户购买商品之后确定收信地址的填写而生成的 订单信息。 订单表的表结构如表 4-6 所示: 表 4-6 订单 字段名称类型约束描述 idvarchar(32)notnull auto_increment 订单的 id 号 user_idint(10)not null用户的 id 号 statusint(10)not null订单状态 oder_timedatetimenot null订单时间 order_descvarchar(100)not null订单描述 total_prcedoublenot null总价格 receive_namevarchar(100)default null收件人姓名 full_addressvarchar(200)default null详细地址 postal_codevarchar(8)default null邮编 mobilevarchar(20)default null手机号 phonevarchar(20)default null固定电话 (7)收件人地址表 d_receive:用来存放用户购买商品以后填写的订单的收货地 址信息,包括用户的 id,用户收件人、详细地址、邮编、手机号码、固定电话的信息 的保存。 收件人地址表的表结构如表 4-7 所示: 表 4-7 收件人地址表 字段名称类型约束描述 idint(10)notnull auto_increment 地址 id 号 电子商务订购平台 19 user_idint(10)not null用户的 id 号 receive_namevarchar(100)default null收件人姓名 full_addressvarchar(200)default null详细地址 postal_codevarchar(8)default null邮编 mobilevarchar(20)default null手机号 phonevarchar(20)default null固定电话 (8)用户表 d_user:用来存放客户端用户在本系统的注册信息,包括用户的 email、昵称、密
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 查安康考试题库及答案
- 关于历史的策划活动方案
- 茶楼麻将馆营销活动方案
- 罐头调味工成本控制考核试卷及答案
- 钛真空熔炼工质量追溯知识考核试卷及答案
- 奉化双十一活动策划方案
- 职场礼仪与沟通能力培训课件
- 小学读书周活动实施方案及总结
- 线性代数学习策略有效性分析报告
- 毛巾设备投资效益分析报告
- 老年心脏病护理课件
- 德国国家概况
- 服装立体裁剪课件
- 整本书读写《一颗遗失的扣子》(课件)三年级下册语文统编版
- 检测室安全操作规程
- 2023新能源集控中心功能应用配置方案
- 教育研究方法课件《教育研究方法》
- 《write.as》手机版怎么看文
- 【课件】用空间向量研究距离夹角问题(第二课时角度-线线、线面角)
- (全册)教学设计(教案)新纲要云南省实验教材小学信息技术四年级第3册全册
- 桥梁监测方案
评论
0/150
提交评论