已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 专科毕业论文( 设计) 题目:基于 java 的电子商务系统 2 目 录 目 录 .2 摘要 3 第 1 章 绪论 .5 1.1 研究背景与意义 .5 1.2 国内外的现状 .5 1.3 设计思想 .7 第 2 章 系统分析 8 2.1 系统需求分析 .8 2.2 功能需求分析 .8 2.3 功能模块划分 .10 2.4 系统业务流程图 .12 第 3 章 主要技术介绍 13 3.1 java 技术介绍 13 3.2 数据库访问技术 .14 3.3 oracle 语言介绍 .16 第 4 章 数据库设计 17 4.1 数据库的选择 .17 4.2 数据库表的设计 .17 第 5 章 系统软件设计与实现 .24 5.1 系统总体架构及实现 24 5.2 系统登陆 25 5.3 购物车管理 28 5.4 管理员登陆 .30 5.5 常用操作 31 5.6 数据库连接 36 总 结 .39 致 谢 .40 参考文献 .41 3 摘要 本系统基于 myeclipse 平台下 ssh 技术和 oracle 数据库技术来实现。 系统的开 发分为视图界面的开发和后台数据库的设计和维护,并把系统划分成两个部分:前 台用户和后台管理中心。系统实现了用户注册、登录及管理、顾客购物车管理、顾 客定单管理、电脑的浏览和查找等功能。 关键词:电子商务, java, sql server, b/s 结构 4 abstract the system is based on the myeclipse platform ssh technology and oracle database technology to achieve. system development is divided into view interface development and database design and maintenance, and the system is divided into two parts: the users and the backstage management center. the system has realized the user registration, login and management, customer shopping cart management, order management, customer computer browsing and search functions. keywords: e-commerce, java, sql server, and b / s structure 5 第 1 章 绪论 1.1 研究背景与意义 随着中国市场经济的日趋成熟,人们的生活和工作压力越来越大,很多的人都 不愿意花长的时间去实品店买商品跟多的人选择了进行网上购物,电子商务就发展 越来越好。电子商务是在互联网开放的网络环境,基于 b/s(browser/server)应用方 式下,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的 商业运营模式。电子商务作为一种独立的经济形态,已初具规模,一些电子商务网 站的成立,给人们的生活带来了巨大的影响。 如何建立企业的电子商务,如何把企业业务建在 internet 上,涉及到建立电子 商务网站、开发符合 internet 特点的有效的业务应用、管理网上的交易信息、保证 网上数据安全、快速反映市场变化以及充分满足 internet 业务进一步发展的要求等 等。对一个运营商业企业来说,电子商务网站是其生存的理由和基础,同时也是企 业对外展示信息、从事商务活动的窗口和界面。如何设计、建立一个经济、实用、 安全、高效、稳定的网站是每个电子商务网站必须考虑的问题。 而要解决好这些问题,就必须在提高企业内部管理效率、充分利用企业内部资 源的基础上,从整体上降低成本,加快对市场的响应速度,提高服务质量,提高企 业的竞争力。但是企业在利用信息化技术时,必须要考虑成本、技术难度、创造的 价值等几个方面。 1.2 国内外的现状 随着世界经济的全球化,顾客需求的多样化,企业将面临着前所未有的激烈竞 争和挑战。为了在竞争中取胜,企业必须以更加灵活有效的方式进行生产和服务, 进一步应用信息技术和先进有效的组织管理方法。电子商务正是顺应这一发展趋势 的一门崭新技术。简单地说,电子商务就是指利用 internet 网络进行的商务交易。在 一个电子商务系统中,网上购物模块通过 web 服务器发布商品信息,供客户浏览、 采购商品,提交定单等)占据很重要的位置。其一是因为界面的友好性,购物的方 6 便性是吸引顾客的一个重要因素; 其二是因为该模块是放在 internet 上的,如果设 计不当商品很容易被非法入侵,造成巨大损失。所以安全性也是很重要的技术环节。 电子商务已经成为了新经济的代名词。在未来的商务活动中,“要么电子商务,要么无 商可务”已经在商业界形成了共识。国内很多综合性网站都有网上商城,如新浪、搜 狐,163 邮箱而比较专业比较著名的国内购物商城有易趣、淘宝。我国的网络商城 还在不断摸索和发展阶段。在国外,网上购物已经成为人们生活中不可缺少的一部 分了比较著名综合性网站有淘宝网,卓越亚马逊,京东商城等。 根据 cnnic(中国互联网络信息中心)公布的中国 b2c 电子商务发展报告来进一 步分析目前的网上购物的现状。如图 1-1 所示: 图 1-1 用户进行网络购物的原因 从上面的图 1-1 中可以看出网上购物选择节约时间和操作方便的分别占 46.7% 和 44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。 网上购物跨越了时空的限制,给商业流通领域带来了非同寻常的变革。 网上购物的 真正受益者是消费者。网上购物的感觉好极了,你什么都不用烦,敲几个键确认一 下,很快就会送货上门,小到一付眼镜,大到一台洗衣机。另外还有两个好处,一 是开阔了视野,可以货比三家。逛商店只能一个一个地逛,你即使拿出一天的时间 也只能跑自己附近的几个店。而在互联网上情况就大不一样了,你调出一类商品, 就可以浏览成百上千网上商店的商品。二是价格便宜,因为网上商店把商家与消费 者直接沟通起来,省了中间环节,也省去了商场和销售人员的费用。 电子商务的载体应该是信息互联网络,而对于信息互联网络的安全问题也是对 电子商务发展的严峻挑战。主要体现在:网络系统的正常工作、数据保持的完整性、 信息的保密安全等。企业对网络与交易的安全意识和业务素质的提高问题,因为电 7 子商务在我国的企业中还算是新兴模式,对于合理的网络安全管理机制、监督和审 计机制还不健全,甚至显现出很多漏洞,造成电子商务安全隐患的存在。同时,互 联网络还面临着病毒感染、黑客入侵的威胁。因此,安全问题是电子商务的主要问 题 1 。 1.3 设计思想 在线购物系统充分利用了 b/s 结构的特点,实现了将购物系统移植到 internet 的功能,该系统的优势在于极大的方便了用户,减少了因区域限制而无法购物的现 象。 目前比较流行的两种网络开发模式分别是 c/s(client/server)模式与 b/s 模式。 c/s 模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。而 b/s 模式通过 internet 进行通信,可以不受地域的限制,但是它不能够进行联机事务处 理,并且在大量数据处理的情况下,速度较慢。从目前的开发技术来看,浏览器作 为信息收集源,特别是大量的数据录入工作还不能完全取代客户端的用户界面。在 这方面,客户端各种开发工具的功能更加强大也更加灵活,而浏览器却由于其功能 结构的限定过于“ 瘦小” 。 对于本在线购物系统,其功能目标是实现将现有的到超市购物方式向基于 internet 的足不出户网上购物转变,所以它必须实现整个购物流程的进行,实现对系 统的用户不同管理,以及商品选购、付款这些环节的处理。由于系统数据收集的实 时性要求并不高,因此采用 b/s 结构来进行设计是合理可行的。本系统的网络应用 原理如图 1-2 所示。 8 图 1-2 系统网络应用原理示意图 第 2 章 系统分析 2.1 系统需求分析 根据在网上进行实践的我们可以知道一个好的电子商务系统,不仅包括前台的 视觉的美观同时后台的性能也是很重要的,本系统主要由两大模块构成:一,客户 前台操作模块;二,后台系统管理模块。在前台的诸多模块中分别包含着注册、登 陆、注销,个人信息管理,商品浏览和商品购买等处理功能。在后台的模块中,设 置了管理员权限,只有管理员可以登陆,管理员登陆后可以添加商品、客户的管理, 可以编辑商品的管理,订单的管理等等一系列功能。 2.2 功能需求分析 根据系统功能的要求,网上购物系统总体分为前台管理和后台管理。前台管理 包括会员注册及登陆,浏览商品,查询商品,订购商品,购物车等功能。后台管理 包括用户管理,商品管理与评论,订单管理,帮助信息等模块。 2.2.1 前台操作 前台操作主要针对普通用户的操作,普通用户可以访问本系统的商品信息,购 买等功能都由前台来完成。具体如下: 9 1、 登录/注册模块。 (1) 注册:普通用户首先要对本站进行注册,才可进行以后操作。 (2) 登录:只有登录后才可以进行购买,否则只能进行查看的基本功能。 2、 首页模块。 (1) 商品分门别类,分层次展示,显示最近更新的商品,用户可以通过点击 商品名或商品图片进行查看具体信息。 (2) 商品详细信息查看。 (3) 登录用户和普通用户可以查看商品的详细信息。 (4) 登录用户可以对商品进行购买或加入购物车 3、 购物车模块: (1) 登录用户可以在此页面查看自己已放入购物车的商品 (2) 登录用户可以在此页面删除自己已放入购物车的商品 (3) 登录用户可以在此页面确定购买自己已放入购物车的商品并跳转到购买 模块 4、 生成订单模块 (1) 用户在此模块进一步进行确定购买,给客户一个唯一的订单号并支付金 钱 5、 订单管理模块 (1) 用户在登陆后可以对自己的订单进行查询和管理 购物流程是:(如图 2-1 所示) 用户注册用户登陆商品浏览放入购物车付款方式 生成订单 10 图 2-1 购物流程图 2.2.2 后台管理 后台管理模块主要进行系统的全局数据信息数据管理,对数据的信息的安全和商 品的订单管理起到主要作用。后台主要由管理员负责管理,对本系统的数据和用户 的交易审核进行管理,具体包括以下模块: 1、 常用操作: (1) 商品分类管理:商品参数属性 (2) 添加商品:商品修改与删除 (3) 未处理订单 2、 分类与品牌: (1) 分类管理 (2) 商品参数属性 (3) 品牌管理 3、 商品与评论 (1) 添加商品:对缺货商品进行管理 (2) 商品评论管理 4、 订单管理 (1) 未处理订单,等待付款订单等 5、 用户管理 (1) 管理网站用户 11 (2) 用户等级设置 6、 支付与送货 (1) 送货方式设置 (2) 支付方式设置 (3) 快递送货时间设置 7、 帮助信息设置 (1) 帮助信息设置 (2) 常见问题 (3) 关于我们 2.3 功能模块划分 根据以上系统功能需求分析,可以设计出系统功能模块,具体如下: 1、前台中的普通用户登录/注册模块:为了确保交易信息的有效性和网站功能拓 展,商务网站可以以会员机制运作,也可以以浏览者的身份运作,但浏览者成为会 员才能获得对自己信息的管理权限. 该模块通过与浏览者的交互,记录浏览者的基本信息,通过后台审核确定其信 息的有效性。 2、首页商品展示:商品分门别类,分层次展示不仅方便浏览者迅速找到自己的 目标商品,同时增强了网站的亲和力。该模块是浏览者与网站接触最频繁的部分, 要突出用户性和流程性。 3、购物车模块:是一个人性化的工具,浏览者对于喜欢的商品,在购买前临时 存放在购物车中,并可以随时增减购物车中的商品种类和数量,以提高购物效率。 4、生成订单模块:浏览者购物完毕,系统会引导其进行结帐,在选择好结帐方 式后,系统会自动生成并交给客户一个唯一的订单号。 5、订单管理模块:本系统此模块只对会员有效,登陆之后可以对自己的订单进 行查询和管理,浏览者只能浏览订单,但不能对订单进行管理。 6、后台管理模块功能设计后台管理登陆:管理员登陆界面。 7、常用操作:打开首页,商品分类管理 ,商品参数属性 ,添加商品 ,商品 修改与删除 ,未处理订单, 安全退出。 8、分类与品牌:分类管理 ,商品参数属性 ,品牌管理。 12 9、商品与评论:该模块主要完成商品的添加,对商品信息的修改雨管理,以 及对缺货商品的管理,可以帮助管理员及时掌握商品的销售情况。 10、订单管理:该模块将订单分七种状态,管理员可以查询不同状态的订单情 况。 11、用户管理:管理网站用户 ,用户等级设置。 12、支付与送货:送货方式设置 ,支付方式设置 ,快递送货时间设置, 在线 支付设置。 13、帮助信息设置:帮助信息设置,常见问题,关于我们。 本系统的结构框架如图 2-2 所示: 图 2-2 网上购物系统功能模块示意图 2.4 系统业务流程图 前台和后台的业务是相对独立的,但是后台可以控制前台的数据信息,前台的 用户订单和后台的商品交易管理是交互的。如图 2-3 所示: 13 图 2-3 前台后台订单处理流程 14 第 3 章 主要技术介绍 3.1 java 技术介绍 java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 sun microsystems 公司于 1995 年 5 月推出的 java 程序设计语言和 java 平台(即 javase, javaee, javame)的总称。 java 技术具有卓越的通用性、高效性、平台移植性和安 全性,广泛应用于个人 pc、数据中心、游戏控制台、科学超级计算机、移动电话和 互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业 环境下,java 更具备了显著优势和广阔前景。 java 是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构安 全的,结构中立的,可移植的,性能优异、多线程的动态语言。 java 编程语言的风格十分接近 c、c+语言。java 是一个纯的面向对象的程序 设计语言,它继承了 c+ 语言面向对象技术的核心,java 舍弃了 c +语言中容易 引起错误的指针(以引用取代) 、运算符重载(operator overloading) 、多重继承(以 接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内 存空间,使得程序员不用再为内存管理而担忧。在 java se 1.5 版本中,java 又引 入了泛型编程(generic programming) 、类型安全的枚举、不定长参数和自动装/ 拆箱 等语言特性。 与传统程序不同,sun 公司在推出 java 之际就将其作为一种开放的技术。全 球数以万计的 java 开发公司被要求所设计的 java 软件必须相互兼容。 “java 语言 靠群体的力量而非公司的力量”是 sun 公司的口号之一,并获得了广大软件开发商 的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 sun 公司对 java 编程语言的解释是:java 编程语言是个简单、面向对象、 分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 java 平台是基于 java 语言的平台。这样的平台目前非常流行,因此微软公司 推出了与之竞争的.net 平台以及模仿 java 的 c#语言。 15 java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代 码编译成二进制字节码(bytecode) ,然后依赖各种不同平台上的虚拟机来解释执行 字节码,从而实现了“ 一次编译、到处执行 ”的跨平台特性。不过,每次的编译执行 需要消耗一定的时间,这同时也在一定程度上降低了 java 程序的运行效率。但在 j2se 1.4.2 发布后, java 的执行速度有了大幅提升。 当 1995 年 sun 推出 java 语言之后,全世界的目光都被这个神奇的言语所吸引。 那么 java 到底有何神奇之处呢? java 语言其实最早诞生于 1991 年,起初被称为 oak 语言,是 sun 公司为一 些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立 于平台的软件技术,而且在网络出现之前,oak 可以说是默默无闻,甚至差点夭折。 但是,网络的出现改变了 oak 的命运。 在 java 出现之前,internet 上的信息内容都是一些乏味死板的 html 文档。这 对于哪些迷恋于 web 浏览的人们来说简直不可容忍。他们迫切希望能在 web 中看 到一些交互式的内容,开发人员也极希望能够在 web 上创建一类无需考虑软硬件 平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这 种要求,传统的编程言语显得无能为力。sun 的工程师敏锐地察觉到了这一点,从 1994 年起,他们开始将 oak 技术应用与 web 上,并且开发出了 hotjava 的第一版 本。当 sun 公司 1995 年正式以 java 这个名字推出的时候,几乎所有的 web 开发 人员都心生感叹:噢,这正是我想要的!于是 java 成了一颗璀璨的明星,丑小鸭一 下子变成了白天鹅。 里面插入了简单的一个小窗口程序,用来介绍一个 java 的程序,同时锻炼一下 我的动手操作与灵活运用 java 知识的能力。 java 我采用 netbeans 和 ultraedit 开发,尤其是 ultraedit 编辑器,最适合我们 使用。 3.2 数据库访问技术 数据库访问技术采用的是 oracle database 技术,oracle database,又名 oracle rdbms,或简称 oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数 据库市场上占有主要份额。 劳伦斯埃里森和他的朋友,之前的同事 bob miner 和 ed 16 oates 在 1977 年建立了软件开发实验室咨询公司(sdl,software development laboratories) 。 oracle 数据库被视为一个单元,是数据的集合。数据的目的是为了存储和获得 相关的信息。数据库服务器是解决信息管理问题的关键。通常的说,服务器在多用 户环境下可靠的管理大量的数据,并且能被多个用户同时并发的访问相同的数据。 所有这些的都是高性能完成。数据库服务器也阻止未被授权的访问和为故障恢复提 供有效的解决方案。 oracle 数据库是第一个为企业网格计算设计的数据库,以最大的灵活性,低成 本高效率方式来管理信息和应用软件。企业网格计算为工业标准,存储和服务创建 大的池。用这种体系结构,每一格新系统都能快速的从组合化的资源池获得供应。 没有必要担心最高峰时工作量,因为能够很简单的从资源池添加和再分配能力。 这个数据库结构分为逻辑结构和物理结构。因为物理结构和逻辑结构是分开的, 所以物理结构管理数据的存放,不影响逻辑存储结构的访问。 oracle database 也广泛的运用与 web 系统中。web 数据库系统的整体结构如 图 3-1 所示。 234web1 图 3-1 web 数据库系统结构图 17 3.3 oracle 语言介绍 oracle 主要包括 sql 和 pl/sql 两类语言,当然,以后 java 在 oracle 数据库 中一定会越来越重要。 sql 主要包括以下部分:ddl(数据定义语言,如 create),dml(数据操作语言, 如 insert),dql(数据查询语言,如 select),dcl(数据控制语言,如 grant)。 pl/sql 主要包括:数据类型,运算符,判断语句,循环语句,异常等,其中 cursor 是精华,要好好学学。pl/sql 跟 vb 很相似,能学懂 vb 学 pl/sql 就没问题。 18 第 4 章 数据库设计 4.1 数据库的选择 oracle 简介:oracle 引入了共享 sql 和多线索服务器体系结构。这减少了 oracle 的资源占用,并增强了 oracle 的能力,使之在低档软硬件平台上用较少的资 源就可以支持更多的用户,而在高档平台上可以支持更多的用户,还提供了机遇角 色分工的安全保密管理。在数据库管功能、完整性检查、安全性、一致性方面都有 良好的表现。它支持大量多媒体数据。提供了与第三代高级语言的接口系列。 oracle10g 是业界第一个完整的、智能化的新一代 internet 基础架构。oracle 开发工 具套件 10g 是一套完整的集成开发工具,可用于快速开发使用 java 和 xml 语言 的互联网应用和 web 服务,支持任何语言、任何操作系统、任何开发风格、开发 生命周期的任何阶段以及所有最新的互联网标准。 由于系统是基于 java 语言开发的系统,所以最后采用了 oracle 数据库。 4.2 数据库表的设计 概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体联 系模型,即 e-r 模型,它是用 e-r 图来描述现实世界的概念模型。 电子商务系统进出口部分实体属性 e-r 图如图 4-1 所示。 图 4-1 业务信息系统实体关系图 19 4.2.1 系统用户表 用户信息表(shop_user):记录用户详细信息主要信息包括(用户 iduserid, 帐号username,密码password,角色 idroleid,真实姓名name,身份证号 proof,性别sex(默认值为男) ,年龄age,详细地址address ,电子邮箱email , 联系电话tel,邮政编码 post,积分score(默认值为 0) ,注册时间time) 。用户 表的具体设计如表 4-1 所示。 表 4-1 系统用户表 表名 shop_user 编号 名称 类型 长度 默认值 说明 备注 1 userid number - * 用户 id 以序列 seq_user 2 username varchar2 16 * 账号 用户登录 3 password varchar2 16 * 密码 用户登录 4 roleid number 4 * 角色 id 用户权限 5 name varchar2 16 * 真实姓名 6 proof varchar2 24 * 身份证号 身份认证 7 sex varchar2 4 男 性别 8 age number 3 * 年龄 9 adress varchar2 * 详细地址 采用二级连动 10 email varchar2 * 电子邮箱上 11 tel varchar2 * 联系电话 12 post varchar2 - 邮政编码 13 score number 0 积分 为买入和卖出总价值 14 time date * 注册时间 自动获取时间 4.2.2 信息表 信息表(shop_message):记录信息与系统用户表中的用户 id 关联。该表包括 (信息 idmesid,用户 iduserid,收货信息数message) 。具体设计如表 4-2 所 示。 表 4-2 信息表 表名 shop_message 编号 名称 类型 长度 默认值 说明 备注 1 mesid number - * 信息 id 以序列 seq_message 2 userid number - * 用户 id 外连 shop_user 3 messages number - 0 收货信息数 用户登入提示信息 20 4.2.3 角色表 角色表(shop_role):用来限制用户的权限,区分管理员和一般用户。该表包括 (角色 idroleid,用户一般权限 rolename(默认值为一般用户),角色描述 roledetail)。具体设计如表 4-3 所示。 表 4-3 角色表 表名 shop_role 编号 名称 类型 长度 默认值 说明 备注 1 roleid number - * 角色 id 以序列 seq_role 2 rolename varchar2 20 一般用户 用户一般权限 3 roledetail varchar2 100 - 角色描述 角色详细信息 4.2.4 物品表 物品表(shop_product): 记录商品的详细信息,主要信息包括(物品 idpid,物品 名称pname,品牌 pmark,分类 1idsort1id,分类 2idsort2id,市场价 tradeprice,本站价price ,时间time ,节省save ,点击数click ,简介brief ,详 细说明detail ,图片photo。)具体设计如表 4-4 所示。 表 4-4 物品表 表名 shop_product 编号 名称 类型 长度 默认值 说明 备注 1 pid number - * 物品 id 以序列 seq_product 2 pname varchar2 50 * 物品名称 3 pmark varchar2 50 - 品牌 4 sort1id number - * 分类 1id 外键 5 sort2id number - * 分类 2id 外键 6 tradeprice float * 市场价 7 price float * 本站价 不能超过市场价 85 8 time date * 时间 9 save float tradeprice-price 节省 10 click number 0 点击数 查看一次,其值加 1 11 brief varchar2 - 简介 12 detail varchar2 - 详细说明 13 photo varchar2 e:/web-shop/1.jpj 图片 图片路径地址 4.2.5 1 级分类表 21 1 级分类表(shop_sort1):记录 1 级分类的消息与物品表中的分类 1id 关联。该表 包括(1 级分类sort1 (默认值为 0) ,一级分类名sort1name,分类描述sort1detail) 。 具体设计如表 4-5 所示。 表 4-5 1 级分类表 表名 shop_sort1 编号 名称 类型 长度 默认值 说明 备注 1 sort1id number - 0 1 级分类 以序列 seq_sort1 2 sort1name varchar 50 * 一级分类名 3 sort1detail varchar 100 - 分类描述 4.2.6 2 级分类表 2 级分类表(shop_sort2):记录 2 级分类的消息与物品表中的分类 2id 关联。该表 包括(2 级分类sort2 (默认值为 0) ,二级分类名sort2name,分类描述sort2detail) 。具体设计如表 4-6 所示。 表 4-6 2 级分类表 表名 shop_sort2 编号 名称 类型 长度 默认值 说明 备注 1 sort2id number - 0 1 级分类 以序列 seq_sort1 2 sort2name varchar 50 * 一级分类名 3 sort2detail varchar 100 - 分类描述 4.2.7 订单表 订单表(shop_order):记录订单的所以信息与系统用户表中的用户 id 关联, 主要包括(订单 idorderid,用户 iduserid,收货人 idreuserid,总价格 totalprice(默认值为 0.0),订单时间ordertime,支付方式 idpayid,送货方式 idsendid,支付情况payno,发货时间gettime ,发货情况sendno)。具体设计 如表 4-7 所示。 表 4-7 订单表 表名 shop_order 编号 名称 类型 长度 默认值 说明 备注 1 orderid number - * 定单 id 以序列 seq_order 2 userid number - * 用户 id 22 3 reuserid number - * 收货人 id 4 totalprice float - 0.0 总价格 5 ordertime date - * 定单时间 6 payid number - * 支付方式 id 7 sendid number - * 送货方式 id 8 payno number - 0 支付情况 9 gettime date - * 发货时间 10 sendno number - 0 发货情况 4.2.8 订单项表 订单项表(shop_buy):记录订单的其他信息与订单表的订单 id 关联以及与物 品表的物品 id 关联。包括(订单项 idbuyid,订单 idorderid,物品 idpid, 购买数量num ,总价格totalprice)。具体设计如表 4-8 所示。 表 4-8 订单项表 表名 shop_buy 编号 名称 类型 长度 默认值 说明 备注 1 buyid number - * 定单项 id seq_buy 2 orderid number - * 定单 id 3 pid number - * 物品 id 4 num number 0 购买数量 5 totalprice float 0.0 总价格 4.2.9 状态信息表 状态信息表(shop_state):记录状态信息。包括(状态 idstateid,状态名 statename)。具体设计如表 4-9 所示。 表 4-9 状态信息表 表名 shop_state 编号 名称 类型 长度 默认值 说明 备注 1 stateid number - * 状态 id seq_state 2 statename varchar2 50 * 状态名 4.2.10 回复信息表 23 回复信息表(shop_reply ):记录回复信息。包括(回复 idreplyid,回复人 idsendid,收信人 idrelid,主题name,内容context ,回复时间replytime )。 具体设计如表 4-10 所示。 表 4-10 回复信息表 1 reply id number - * 回复 id 序列 seq_rep 2 sendid number - * 回复人 id 3 reid number - * 收信人 id 4 name varchar2 20 * 主题 5 context vachar2 2000 - 内容 6 reply time date - * 回复时间 4.2.11 收藏物品表 收藏物品表(shop_store):记录收藏信息与系统用户表中的用户 id 关联以及 与物品表的物品 id 关联。包括(收藏 idstoreid,用户 iduserid,物品 idpid, 收藏时间storetime )。具体设计如表 4-11 所示。 表 4-11 回复信息表 表名 shop_store 编号 名称 类型 长度 默认值 说明 备注 1 store id number - * 收藏 id 序列 seq_store 2 userid number - * 用户 id 3 pid number - * 物品 id 4 store time date * 收藏时间 4.2.12 新闻表 新闻表(shop_news):记录新闻信息。包括(新闻 idnewsid,发表人 idsendid,主题tipic ,内容context ,发表时间 time)。具体设计如表 4-12 所 示。 表 4-12 新闻表 表名 shop_news 编号 名称 类型 长度 默认值 说明 备注 1 newsid number - * 新闻 id 序列 seq_news 2 sendid number - * 发表人 id 3 tipic varchar2 20 * 主题 24 4 context vachar2 2000 - 内容 5 time date - * 发表时间 4.2.13 反馈信息表 反馈信息表(shop_back):记录反馈信息与系统用户表的用户 id 关联。包括 (反馈信息 idshopid,发表人 iduserid,主题 topic,内容context ,发表时 间time)。具体设计如表 4-13 所示。 表 4-13 反馈信息表 表名 shop_back 编号 名称 类型 长度 默认值 说明 备注 1 shop id number - * 反馈信息 id 序列 seq_back 2 userid varchar2 16 * 发表人 id 3 topic varchar2 20 * 主题 4 context varchar2 2000 - 内容 5 time date * 发表时间 4.2.14 支付方式表 支付方式表(shop_pay):记录支付信息。包括(支方式 idpayid,支方式名 称name,支方式描述 descrip)。具体设计如表 4-14 所示。 表 4-14 支付方式表 表名 shop_pay 编号 名称 类型 长度 默认值 说明 备注 1 payid number - * 支方式 id 序列 seq_pay 2 name varchar2 16 * 支方式名称 3 descrip varchar2 100 - 支方式描述 4.2.15 送货方式表 送货方式表(shop_send):记录送货信息。包括(送货方式 idsendid,送货 方式名称name ,送货方式描述 descrip)。具体设计如表 4-15 所示。 表 4-15 送方式表 表名 shop_send 编号 名称 类型 长度 默认值 说明 备注 1 sendid number - * 送货方式 id 序列 seq_send 25 2 name varchar2 16 * 送货方式名称 descrip varchar2 100 - 送货方式描述 26 第 5 章 系统软件设计与实现 5.1 系统总体架构及实现 此 系 统 的 实 现 采 用 了 internet的 web服 务 , web是 一 个 多 媒 体 的 信 息 系 统 , 通 过 各 种 超 级 链 接 能 够 处 理 文 字 、 图 像 、 声 音 、 视 频 等 多 媒 体 信 息 , 可 以 方 便 地 从 一 种 资 源 转 到 另 一 种 资 源 。 用 户 可 在 标 准 浏 览 器 下 进 行 学 习 、 实 验 、 练 习 、 测 试 等 各 种 教 学 活 动 。 而 本 系 统 采 用 b s结 构 , 浏 览 器 通 过 web server同 服 务 器 端 的 数 据 库 进 行 数 据 交 互 。 b s结 构 主 要 是 利 用 了 不 断 成 熟 的 浏 览 器 技 术 , 结 合 浏 览 器 的 多 种 script语 言 (vbscript、 javascript等 )和 activex技 术 , 通 过 浏 览 器 就 实 现 了 原 来 需 要 复 杂 专 用 软 件 才 能 实 现 的 强 大 功 能 , 并 节 约 了 开 发 成 本 , 是 一 种 全 新 的 软 件 系 统 构 造 技 术 17。 本 系 统 主 要 分 为 前 台 操 作 和 后 台 管 理 两 大 模 块 。 前 台 操 作 功 能 模 块 , 首 页 的 商 品 展 示 可 以 有 所 有 人 浏 览 , 而 欲 要 本 系 统 购 买 商 品 , 需 要 注 册 并 登 录 才 可 进 行 交 易 , 本 站 用 户 可 以 对 自 己 的 信 息 进 行 管 理 : 信 息 的 修 改 , 密 码 的 修 改 , 查 看 自 己 的 购 物 的 历 史 记 录 。 而 其 他 用 户 只 可 浏 览 商 品 , 不 能 进 行 其 他 的 操 作 。 后 台 管 理 , 管 理 员 可 以 进 行 用 户 的 管 理 , 商 品 的 管 理 , 充 值 卡 的 管 理 , 订 单 的 管 理 等 等 。 ssh 为 struts+spring+hibernate的 一 个 集 成 框 架 , 是 目 前 较 流 行 的 一 种 web应 用 程 序 开 源 框 架 。 集 成 ssh框 架 的 系 统 从 职 责 上 分 为 四 层 : 表 示 层 、 业 务 逻 辑 层 、 数 据 持 久 层 和 域 模 块 层 , 以 帮 助 开 发 人 员 在 短 期 内 搭 建 结 构 清 晰 、 可 复 用 性 好 、 维 护 方 便 的 web应 用 程 序 。 其 中 使 用 struts作 为 系 统 的 整 体 基 础 架 构 , 负 责 mvc的 分 离 , 在 struts框 架 的 模 型 部 分 , 利 用 hibernate框 架 对 持 久 层 提 供 支 持 , 业 务 层 用 spring支 持 。 具 体 做 法 是 : 用 面 向 对 象 的 分 析 方 法 根 据 需 求 提 出 一 些 模 型 , 将 这 些 模 型 实 现 为 基 本 的 java对 象 , 然 后 编 写 基 本 的 dao接 口 , 并 给 出 hibernate的 dao实 现 , 采 用 hibernate架 构 实 现 的 dao类 来 实 现 java类 与 数 据 库 之 间 的 转 换 和 访 问 , 最 后 由 spring完 成 业 务 逻 辑 。 27 系 统 的 基 本 业 务 流 程 是 : 在 表 示 层 中 , 首 先 通 过 jsp页 面 实 现 交 互 界 面 , 负 责 传 送 请 求 (request)和 接 收 响 应 (response), 然 后 struts根 据 配 置 文 件 (struts-config.xml)将 actionservlet接 收 到 的 request委 派 给 相 应 的 action 处 理 。 在 业 务 层 中 , 管 理 服 务 组 件 的 spring ioc容 器 负 责 向 action提 供 业 务 模 型 (model)组 件 和 该 组 件 的 协 作 对 象 数 据 处 理 (dao)组 件 完 成 业 务 逻 辑 , 并 提 供 事 务 处 理 、 缓 冲 池 等 容 器 组 件 以 提 升 系 统 性 能 和 保 证 数 据 的 完 整 性 。 而 在 持 久 层 中 , 则 依 赖 于 hibernate的 对 象 化 映 射 和 数 据 库 交 互 , 处 理 dao组 件 请 求 的 数 据 , 并 返 回 处 理 结 果 。 采 用 上 述 开 发 模 型 , 不 仅 实 现 了 视 图 、 控 制 器 与 模 型 的 彻 底 分 离 , 而 且 还 实 现 了 业 务 逻 辑 层 与 持 久 层 的 分 离 。 这 样 无 论 前 端 如 何 变 化 , 模 型 层 只 需 很 少 的 改 动 , 并 且 数 据 库 的 变 化 也 不 会 对 前 端 有 所 影 响 , 大 大 提 高 了 系 统 的 可 复 用 性 。 而 且 由 于 不 同 层 之 间 耦 合 度 小 , 有 利 于 团 队 成 员 并 行 工 作 , 大 大 提 高 了 开 发 效 率 。 5.2 系统登陆 登陆页面主要是用户进行用户名和密码的输入,并根据其输入的用户名是否是 已授权的用户或角色。本系统有两个登录模块,一个前台普通用户的登录,另一个 是后台管理员的登录。普通用户登录是为了与本系统的进行商品的交易,管理员是 对整个系统的管理,用户的管理,商品的管理,订单的发放等操作,对本站信息的 维护。登录页面数据流程图如图 5-1 所示。 图 5-1 登陆页面流程图 5.2.1 界面设计 28 普通用户登录界面: 如果用户已在本网站注册,可以直接用注册邮箱和密码登录,例如:用户名为: 123,密码是 123。后台会通过输入的登录邮箱和密码进到数据库核查是否正确,登 陆成功跳转到用户的个人信息管理界面,如果失败,会提示登录失败,并让用户重 新登录。用户登陆页面如图 5-2 所示。 图 5-2 用户登录界面 5.2.2 代码设计 当有用户登录系统时,登陆页面程序的运行流程图(如图 5-2 所示) ,录入数据 后,首先对数据进行非空验证,然后进行长度验证,再对数据进行合法性验证,正 确后再对其进行数据比对。数据存在则登录成功,否则登录失败。普通用户登录和 管理员登陆原理代码是一样的,只是登录成功后的进入的页面不同,以下是我实现功 能的代码: public class userloginaction private userservice userservice; private user user; public userservice getuserservice() return userservice; public void setuserservice(userservice userservice) this.userservice = userservice; public user getuser() 29 return user; public void setuser(user user) this.user = user; public string login() / 登录成功时、跳转到index1.jsp / 登录失败时、返回login、提示用户“密码错误” 或者 “该账户不 存在!” 。 string str = null; string message = null; user user1 = userservice.find(user); if (user1 = null) message = “该账户不存在!“; str = “fail“; else if (user1.getupassword().equals(user.getupassword() str = “success“; else message = “密码错误“; str = “fail“; actioncontext.getcontext().put(“mess
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《晏子治东阿》课件
- 2025年资产评估师之资产评估基础真题练习试卷A卷附答案
- 2025代理推广合同模板
- 成立设备管理机构及设备管理人员红头文件范本
- 2025不动产抵押担保合同范本
- 2025新版合同范本下载
- 2025园林景观建设合同协议书示例
- 2025城市文化长廊制作安装合同书
- 2025资格考试中外合作经营合同范本
- 2025物业服务合作协议合同范本
- 临港外服考试题库及答案
- 2024年湖南省溆浦县事业单位公开招聘工作人员考试题含答案
- 高渗性昏迷疑难病例讨论
- 数学模型-第06章(第五版)
- 2025年中远海运重工招聘笔试备考题库(带答案详解)
- 2025年四川省高考生物试卷真题(含答案解析)
- 放射性肺炎治疗
- 纵隔肿瘤围手术期护理
- GB/T 30099-2025实验室离心机
- 山东省聊城市2024-2025学年高一下学期期中化学试题 (含答案)
- 六宫格数独100题
评论
0/150
提交评论