网上商城购物网站系统论文_第1页
网上商城购物网站系统论文_第2页
网上商城购物网站系统论文_第3页
网上商城购物网站系统论文_第4页
网上商城购物网站系统论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要随着人们生活水平的不断提高,网络的不断成熟时,网上购物也不断成熟,网上商城也越来越多。本文介绍了网上商城购物网站系统的开发环境,主要需求分析,界面设计,数据库设计,以及主要的框架,配置和功能实现。 我主要是用powerdesigner来设计e-r图,数据流图,用mysql来创建数据库与表,利用集成开发环境myeclipse+服务tomcat进行基于java web开发设计。系统的功能主要是完成并实现网站前台和后台的各项功能,系统前台:该部分主要包括商品展台、商品查询、会员管理、商品购物。系统后台:该部分主要对商城内的一些基础数据进行有效管理,包括用户管理、产品管理、类别管理、订单管理等。

2、关键词:系统前台,系统后台,powerdesigner,mysql,myeclipseabstractceaseless rise living standard with people, web shopping is also unceasingly mature , the commercial center is also more and more many on the net when network ceaselessness is mature,systematic exploitation environment , main need analysis , interfa

3、ce design , the data base designs, and the main frame , allocation and function realize the shopping website the main body of a book has been introduced having caught with a net the commercial center.i am to use powerdesigner to come to design e-r picture , the data stream picture mainly , use mysql

4、 to come to establish the data base and the form , make use of integrated exploitation environment myeclipse + to serve a tomcat being in progress owing to that the java web develops design.the function commanding is various function , systematic proscenium accomplishing and realizing website prosce

5、nium and background mainly: be a parts turn to show the platform , commodity inquiry , member administration , commodity mainly including the commodity shopping. systematic background: owe a part carrying out effective administration on some basis data of commercial center inner , including consumer

6、 administration , management of product , category administration , order form administration mainly and so on.keywords: systematic proscenium , systematic background , powerdesigner , mysql , myeclipse目录摘 要iabstractii第一章 引言11.1 背景11.2 研究内容1第二章 开发环境介绍32.1 数据库访问技术分析32.1.1 jdbc数据库访问技术32.2 开发环境及框架介绍42.

7、2.1 myeclipse42.2.2 jsp语言环境42.2.3 javascript脚本语言52.2.4 sql server 200052.2.5 powerdesigner62.3 本章小结8第三章 系统需求分析93.1 客户需求和总体设计目标93.1.1 客户性能需求93.1.2 系统功能需求93.2 本章小结11第四章 数据库设计124.1 需求分析124.1.1 数据流图124.1.2 系统e-r图144.2 结构设计154.3 数据库逻辑结构设计164.4 创建表的脚本文件184.4.1 数据库的安全性194.4.2 数据完整性204.5 本章小结20第五章 系统分析设计与实现

8、225.1 系统分析225.1.1 业务层225.1.2 dto层245.1.3 javascript语言的使用245.1.4 css+div技术的使用245.1.5 ajax技术的使用255.2 界面设计265.2.1 用户登录界面设计265.2.2 用户购物模块275.3 本章小结28第六章 结束语29致 谢30参考文献3131第一章 引言1.1 背景 网上购物越来越受欢迎了,网上购物是一种潮流,网上购物是网络发展的必然趋势。网上购物的平台有b2b的,有有b2c的,大家耳熟能详的有百度有啊,淘宝网,卓越网,当当网,易趣网,拍拍网,还有一些较大的网上商城,如湖北天天电视购物等。网上购物的发展

9、是一种趋势,等为什么呢? 随着人们生活水平的不断提高,网络的不断成熟时,网上购物也不断成熟,网上商城也越来越多。网上购物会出现两种不同的发展趋势:一种是走低价格路线,像超市一样,有物美价廉的商品;另一种是销售高档消费商品。 随着人民文化和生活水平的不断提高,在人们生活必需品消费价格越来越低的情况下,人们对于高档消费品的需求也会不断提高,而网上购物也会为这部分需求提供服务。因此,网上购物将会向这两个不同的方向发展,拥有各自的客户群体,并且都可能会做得很好。1.2 研究内容电子商务网站是信息时代企业生存的基础,同时也是企业对外展示信息、从事商务活动的窗口和平台。如何设计、建立一个经济、实用、安全、

10、高效、稳定的网站是每个电子商务网站必须考虑的问题。使用该网站能够提高企业内部管理效率,充分利用企业内部资源,从整体上降低成本,加快对市场的响应速度,提高服务质量,进而全面提高企业的竞争力。电子商务系统是一个典型的java web应用程序,它由系统前台和后台管理两部分组成。(1)系统前台:该部分主要包括商品展台、商品查询、会员管理、商品购物。(2)系统后台:该部分主要对商城内的一些基础数据进行有效管理,包括用户管理、产品管理、类别管理、订单管理等。实现网上商城用户的注册,密码的找回,用户的登录以及登录后基本信息和密码的修改,商品的展示,购物车,购物订单货单的制作,后台:管理员的登录,用户信息的维

11、护,商品管理(具体包括商品的查询,增加商品,删除商品,上传更改商品图片,商品信息的修改,商品分类),类别管理(具体包括类别的展示,增加类别,修改类别名以及删除某些类别),用户订单状态的修改及订单的处理。第二章 开发环境介绍2.1 数据库访问技术分析2.1.1 jdbc数据库访问技术 jdbc是java的开发者sun的javasoft公司制定的java数据库连接(java data base connectivity)技术的简称,是为各种常用数据库提供无缝联接的技术。jdbc在web和internet应用程序中的作用和odbc在windows系列平台应用程序中的作用类似。odbc(opendat

12、a base connectivity),称为开放式数据库互联技术,是由microsoft公司倡导并得到业界普遍响应的一门数据库连接技术1。jdbc现在可以连接的数据库包括:xbase、oracle、sybase、aceess以及paradox等。jdbc api 通过一个数据库管理器(data manager)和为各种数据库定制的驱动程序提供与不同数据库的透明连接。jdbc 数据库管理器将确保正确的驱动程序被用于连接数据源。它可以同时支持与不同数据库的连接。jdbc 数据库管理器将标准的jdbc 指令转换成适用于不同数据库通信的网络协议指令或其他api 指令。这种指令的转换机制,使基于jdb

13、c 接口开发的程序可以独立于数据库的种类。如果底层的数据库被更换了,用户只需相应的替换程序中所引用的jdbc 驱动程序即可2。jdbc有一个非常独特的动态连接结构,它使得系统模块化。使用jdbc来完成对数据库的访问包括以下四个主要组件:java的应用程序、jdbc驱动器管理器、驱动器和数据源。javasoft公司开发了jdbc api,jdbc api是一个标准统一的sql数据存取接口。jdbc在internet中的作用与odbc在windows系列中的作用类似。它为java程序提供了一个统一缝地操作各种数据库的接口,程序员编程时,可以不关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的

14、通用性,而且在internet上确实无法预料你的用户想访问什么类型的数据库3。只要系统上安装了正确的驱动器组,jdbc应用程序就可以访问其相关的数据库。用jdbc来实现访问数据库记录可以采用下面的几个步骤:1、 通过驱动器管理器获取连接接口。2、 获得statement或它的子类。3、 限制statement中的参数。4、 执行statement。5、 查看返回的行数是否超出范围。6、 关闭statement。7、 处理其它的statement。8、 关闭连接接口。2.2 开发环境及框架介绍2.2.1 myeclipsemyeclipse企业级工作平台(myeclipse enterprise

15、 workbench ,简称myeclipse)是对eclipse ide的扩展,利用它我们可以在数据库和j2ee的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的j2ee集成开发环境4,包括了完备的编码、调试、测试和发布功能,完整支持html, struts, jsf, css, javascript, sql, hibernate。在结构上,myeclipse的特征可以被分为7类:1. j2ee模型。2. web开发工具。3. ejb开发工具。4. 应用程序服务器的连接器。5. j2ee项目部署服务。6. 数据库服务。7. myeclipse整合帮助对于以上每一种

16、功能上的类别,在eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。myeclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,myeclipse是eclipse的插件,也是一款功能强大的j2ee集成开发环境,支持代码编写、配置、测试以及除错。2.2.2 jsp语言环境jsp 提供在html 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。jsp 代码被编译servlet 并由java 虚拟机解释执行,这种编译操作仅在对jsp 页面的第一次请求时发生。在jsp 环境下,html 代码主要负责描述信息的显示样式,而程

17、序代码则用来描述处理逻辑。普通的html 页面只依赖于web 服务器,而jsp 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到html 代码中,然后一起发送给浏览器。jsp 是面向web 服务器的技术,客户端浏览器不需要任何附加的软件支持3。在传统的网页html文件(*.htm,*.html)中加入java程序片段(scriptlet)和jsp标记(tag),就构成了jsp网页(*.jsp)。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序片段,然后将执行结果以html格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建

18、立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无plugin,无activex,无java applet,甚至无frame。2.2.3 javascript脚本语言javascrip t语言的前身叫作livescript,自从sun公司推出著名的java语言之后, netscape公司引了sun公司有关java的程序设计概念, 将自己原有的livescrip t重新进行设计,并更名为javascript6。javascript是由netscape公司开发并随navigator导航者一起发布的、介于java与html之间

19、、基于对象事件驱动的编程语言,通过 javascript 可以做到响应用户的需求事件(如表单的输入),这样当一位使用者输入一项信息时,它不需要通过网络传送到服务器端进行处理再传回来的过程,而可以直接在客户端进行事件的处理。因它的开发环境简单,不需要java编译器,而是直接运行在web浏览器中,而因倍受web设计者的所爱。2.2.4 sql server 2000sql server 是一个关系数据库管理系统它最初是由microsoft sybase 和ashton-tate三家公司共同开发的于1988 年推出了第一个os/2 版本在windows nt 推出后microsoft与sybase

20、在sql server 的开发上就分道扬镳了microsoft 将sql server 移植到windows nt。sql server 2000 的特性microsoft sql server 2000 的特性包括:internet 集成: sql server 2000 数据库引擎提供完整的 xml 支持。它还具有构成最大的 web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。sql server 2000 程序设计模型与 windows dna 构架集成,用以开发 web 应用程序,并且 sql server 2000 支持 english query 和 microsoft 搜

21、索服务等功能,在 web 应用程序中包含了用户友好的查询和强大的搜索功能7。可伸缩性和可用性:同一个数据库引擎可以在不同的平台上使用,从运行 microsoft windows 98 的便携式电脑,到运行 microsoft windows 2000 数据中心版的大型多处理器服务器。sql server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 web 站点所需的性能级别。企业级数据库功能:sql server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。

22、sql server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 sql server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步8。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。易于安装、部署和使用:sql server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 sql server 的过程。sql server 2000 还支持基于标准的、与 windows dna

23、 集成的程序设计模型,使 sql server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 sql server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。数据仓库:sql server 2000 中包括析取和分析汇总数据以进行联机分析处理 (olap) 的工具。sql server 中还包括一些工具,可用来直观地设计数据库并通过 english query 来分析数据。2.2.5 powerdesigner powerdesigner是sybase公司的case工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模

24、型设计的全过程。我们一般能利用powerdesigner来制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。 它可与许多流行的数据库设计软件,例如:powerbuilder,delphi,vb等相配合使用来缩短开发时间和使系统设计更优化。powerdesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员dba和开发人员可以对其裁剪以满足他们的特定的需要9;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。p

25、owerdesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。powerdesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。powerdesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程

26、中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。powerdesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段10,从处理流程建模到对象和组件的生成。powerdesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。 powerdesigner包含六个紧密集成的模块,允许个人和开发组的成员以合算的方式最好地满足他们的需要。这六个模块是:powerdesigner processanalyst,用于数据发现。powerdesigner dataarchitect,用于双层,交互式的数据库设计和

27、构造。powerdesigner appmodeler,用于物理建模和应用对象及数据敏感组件的生成。powerdesigner metaworks,用于高级的团队开发,信息的共享和模型的管理。powerdesigner warehousearchitect,用于数据仓库的设计和实现。 powerdesigner viewer,用于以只读的、图形化方式访问整个企业的模型信息。2.3 本章小结良好的开发环境和开发工具是开发系统的重要条件。本系统采用了b/s结构模型进行开发,利用jsp语言的动态性和sql server 2000数据库的强大功能来编译序,并采用hibernate框架连接数据库来完成对

28、数据库的添加、修改、删除和查询等操作.通过powerdesigner来绘制e-r图,流程图。本章主要对系统的开发环境和开发技术做了一个简要的介绍。通过对b/s结构模型的特点和优缺点的比较来分析选择开发结构模型,通过对数据库访问技术的介绍和比较选择系统采用的ado数据库访问技术,通过对数据共享系统数据库存储方式单一、面向对象、集成环境、处理多种数据信息等特点的分析,系统最终采用了sql server2000数据库进行开发。通过对myeclipse编程环境的功能和ssh三大框架的介绍来分析选择系统编译的环境。最后,通过对javasprict的介绍来进一步说明系统采用jsp语言进行开发的优越性。第三

29、章 系统需求分析3.1 客户需求和总体设计目标3.1.1 客户性能需求(1)操作简便系统操作按钮简洁,功能一目了然,操作过程简单。(2)易于维护系统的开发方法基于目前最普遍而有效率的机制,使得本系統易于维护,管理,减少不必要的重复性工作及因人为因素导致的错误。(3)易于使用系统配合企业实际操作的需要,后期可以根据实际情况方便的变换界面极其功能。(4)易于推广系统界面定位友善,程序小而精致,可以很有效的介绍商品,完成各种网上购物的操作。(5)配合未来行业趋势 系统设计时,将定位在人性化操作基础上,顺延现代行业化发展趋势进行。3.1.2 系统功能需求 电子商务系统是一个典型的java web应用程

30、序,它由系统前台和后台管理两部分组成。系统前台:该部分主要包括商品展台、商品查询、会员管理、商品购物。图3-1 系统前台功能模块系统后台:该部分主要对商城内的一些基础数据进行有效管理,包括用户管理、产品管理、类别管理、订单管理等。 图3-2系统后台功能模块实现网上商城用户的注册,密码的找回,用户的登录以及登录后基本信息和密码的修改,商品的展示,购物车,购物订单货单的制作,后台:管理员的登录,用户信息的维护,商品管理(具体包括商品的查询,增加商品,删除商品,上传更改商品图片,商品信息的修改,商品分类),类别管理(具体包括类别的展示,增加类别,修改类别名以及删除某些类别),用户订单状态的修改及订单

31、的处理。3.2 本章小结需求分析是一个非常重要的过程,因为它具有决策性,方向性,策略性的作用,在软件开发的过程中具有举足轻重的地位。本章主要完成了系统客户端和服务器端的模块功能需求,对系统的总体设计目标有了一个明确的方向,在客户端的设计中,实现网上商城用户的注册,密码的找回,用户的登录以及登录后基本信息和密码的修改。通过这两个模块,客户端服务端实现数据的传递,在功能上欲求实现客户操作的简捷性和灵活性。在服务端,主要是商品的管理,如购物车,购物订单,商品管理,商品类别,还有就是管理员的信息管理。第四章 数据库设计4.1 需求分析网上商城有以下功能:用户的注册,密码的找回,用户的登录以及登录后基本

32、信息和密码的修改,商品的展示,购物车,购物订单货单的制作,后台:管理员的登录,用户信息的维护,商品管理(具体包括商品的查询,增加商品,删除商品,上传更改商品图片,商品信息的修改,商品分类),类别管理(具体包括类别的展示,增加类别,修改类别名以及删除某些类别),用户订单状态的修改及订单的处理。4.1.1 数据流图 (1)用户登陆模块:用户只有在注册后或有账号的情况下才能登陆,登陆时要输入用户账号,密码,经过后台数据库的检验,正确则可登陆进行购物,其流程图如图4-1。 图 4-1 用户登陆流程图 (2)用户购物模块:用户注册成为会员后可进行修改密码,修改信息,购物等操作,购物时会员可把要买的商品放

33、入购物车中,这样就可以同时买很多东西,当会员想要购买时可选中购物车中的商品,点击购买系统会打印出货单,上面有商品的基本信息,如单价,数量等,其流程图如图4-2。 图4-2 用户购物流程图 (3)后台管理:只有管理员才能进入后台,当管理员登陆后可进行一些操作,其中包括用户的删除(当用户很长的一段时间没登陆时则可删除,一些错误用户也可删除),类别的添加删除修改,商品的添加删除修改。商品的添加还包括图片的上传。其流程图如图4-3。图4-3 后台管理流程图4.1.2 系统e-r图网上商城主要有如下实体:用户实体,商品实体,订单实体,货单实体,类别实体。(其e-r图如图4-4,物理模型图如图4-5)一个

34、用户有多个订单,而一个订单只属于一个用户。当用户要购买某物时系统就会打印订单。一个订单中可以有很多个货单,而一个货单只属于一个订单。货单是记录某种产品的单价,数量等信息的,而订单中不只一种商品。一个货单中有多个商品,而一个商品只属于一张货单。一张货单中有一到多个商品。 一个类别中有很多个商品,一个商品也可以有多个类别。一个番茄既是水果类又是蔬菜类。图4-4 系统整体e-r图 图4-5 物理模型图 4.2 结构设计1. 会员类包装会员类与订单有一对多的关系2. 管理员类包装系统管理员3. 产品类包装产品的信息与订单多对多的关系4. 类别类包装产品的类别树状结构与产品是一对多的关系5. 订单类包装

35、订单的信息与产品多对多的关系与会员是多对一的关系6. 购物车类包装购物车的信息与产品是多对多的关系4.3 数据库逻辑结构设计 各个表的设计结果如下: 用户类属性为:用户id,用户名,密码,电话,地址,注册时间,如表4-1表4-1 用户表 (user)列名数据类型说明数据项含义idint(12)主键,自动递增非空唯一usernamevarchar(40)用户名passwordvarchar(16)密码phonevarchar(40)电话addrvarchar(255)地址rdatedatatime(20)注册时间 产品类的属性为:产品id,产品名,描述,市场价,会员价,上柜日期,类别id,具体如

36、表4-2表4-2 产品表 (product)列名数据类型说明数据项含义idint(12)主键,自动递增非空唯一namevarchar(255)产品名descrvarchar(255)描述normalpricevarchar(50)市场价memberpricevarchar(50)会员价pdatedatetime(20)上柜日期categoryidint(12)类别id引用category表的id类别类的属性为:id,分类名,描述,父id,具体如表4-3 表4-3 类别表 (category)列名数据类型说明数据项含义idint(12)主键,自动递增非空唯一namevarchar(255)分类名

37、descrvarchar(255)描述pidint(12)父id 订单类的属性为:id,用户id,送货地址,下单时间,订单状态,具体如表4-4 表4-4 订单表 (salesorder)列名数据类型说明数据项含义idint(12)主键,自动递增非空唯一useridint(12)用户idaddrvarchar(255)送货地址odatedatatime(20)下单时间statusint(255)订单状态订单项类的属性为:id,产品id,单价,数量,订单id,具体如表4-5 表4-5 订单项表 (salesitem)列名数据类型说明数据项含义idint(12)主键,自动递增非空唯一producti

38、dint(12)产品idunitpricevarchar(50)单价pcountdatatime(50)数量orderidint(12)订单 id引用salesorder的id4.4 创建表的脚本文件 利用mysql创建数据库并创建各表,建表语句如下:create database myshopping; #创建数据库use myshopping; #使用数据库create table user ( #创建用户表id int primary key auto_increment,username varchar(40),password varchar(16),phone varchar(40

39、),addr varchar(255),rdate datetime);create table category( #创建类别表id int primary key auto_increment,pid int, #pid为0的是最顶层节点name varchar(255), descr varchar(255),cno int, #最多三层, 每层占两位, 最多99个子节点grade int #代表级别, 从1开始);create table product( #创建产品表id int primary key auto_increment,name varchar(255),descr v

40、archar(255),normalprice double,memberprice double,pdate datetime,categoryid int references catetory(id);create table salesorder( #创建订单表id int primary key auto_increment,userid int,addr varchar(255),odate datetime,status int);create table salesitem #创建货单表(id int primary key auto_increment,productid i

41、nt, unitprice double, pcount int,orderid int);myshopping在mysql中存贮的各表如图4-6图4-6 myshopping数据库4.4.1 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。在一般的计算机系统中,安全措施是一级一级设置的。在db存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。数据库安全可分为二类:系统安全性和数据安全

42、性。系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。4.4.2 数据完整性它是指数据的正确性和相容性。数据的完整性是为了防止数据库存在不符合主义的数据,防止错误信息输入和输出,即数据要遵守由dba或应用开发者所决定的一组预定义的规则。oracle应用于关系数据库的表的数据完整性有下列类型:(1)插入或修改表的行时允许不允

43、许包含有空值的列,称为空与非空规则。(2)唯一列值规则,允许插入或修改的表行在该列上的值唯一。(3)引用完整性规则,同关系模型定义。(4)用户对定义的规则,为复杂性完整性检查。(5)oracle允许定义和实施上述每一种类型的数据完整性规则,这些规则可用完整性约束和数据库触发器定义。(6)完整性约束,是对表的列定义一规则的说明性方法。(7)数据库触发器,是使用非说明方法实施完整性规则,利用数据库触发器(存储的数据库过程)可定义和实施任何类型的完整性规则。4.5 本章小结本章主要介绍了数据库设计的重要性并对自助装机报价系统的数据库进行了分析与设计。通过分析,系统完成了用户,产品,类别,订单,订单项

44、表等数据库表的设计,通过系统的需求分析来设计每个表的数据项。通过对数据库概念结构的设计和逻辑结构的设计清晰地展现了系统的数据库总体设计以及主要的表中每一个字段属性。最终通过对数据库的需求分析实现后台对表信息的轻松管理。第五章 系统分析设计与实现5.1 系统分析 本系统的具体项目列表如下图5-1 图5-1 项目栏5.1.1 业务层业务层主要是数据库中各表的关联类,类中的字段对应了数据库中表的属性,也称为dao层,类中有一些方法,给控制层的操作带来很大方便,商城中主 要业务成为user,product,categoty,order等业务层。package d

45、uct;import java.util.list;/productmgr业务层public class productmgr /注入productdao的实例对象private static productdao dao = new productmysqldao();/productmgr单例模式private static productmgr mgr = null;private productmgr();public static productmgr getinstance();public list getproducts();/返回商品list对象public int getp

46、roducts(list products, int pageno, int pagesize, boolean lazy); /返回商品个数public void add(product p);/增加一个商品对象public void update(product p);/更新商品对象public void delete(int id); /根据id删除一个商品对象public product loadbyid(int id);/根据id返回一个商品对象public void delete(string idarray); /根据id删除一组商品对象public int find(list

47、products, int pageno, int pagesize, int categoryid);/根据categoryid找到商品,并返回商品数public int find(list products, int pageno, int pagesize, string keyword); /根据keyword找到商品,并返回商品数public int find(list products, int pageno, int pagesize, productsearchformbean bean); /根据bean找到商品,并返回商品数public list loadbyid(int

48、ids);/根据id数组,返回商品package duct;import java.sql.connection;import java.sql.preparedstatement;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;import java.sql.timestamp;import java.util.arraylist;import java.util.list;import com.zcx.shopping.category.

49、category;import com.zcx.shopping.util.db;/productmysqldao业务层public class productmysqldao implements productdao public void add(product p);/增加一个商品public void delete(int id);/根据id删除对应商品public list getproducts();/返回商品list对象public int getproducts(list products, int pageno, int pagesize, boolean lazy);/返

50、回商品数量public void add(product p);/增加一个商品对象public void delete(int id); /根据id删除一个商品对象public void update(product p); /更新商品对象public product loadbyid(int id); /根据id返回一个商品对象public void delete(string conditionstr);/删除符合条件的商品public int find(list products, int pageno, int pagesize, string querystr);/返回查询结果中商品

51、的数量5.1.2 dto层dto,data transfer object数据传输对象,用来保存客户端的数据,类似于数据关联类但它不以表的形式存放在数据库中,只是暂时存储一类信息,为了不重复对数据库的操作,减轻数据库的负担,比如客户端包中的类cartitem.java包括商品信息product及商品数量信息count,如下代码。public class cartitem private product product; private int count; 该类不以table的形式保存在数据库中,但它给客户端购物车的使用带来方便,而它的属性product是由商品类product.java用ge

52、tproduct()从数据库表中取得,属性count则是类中的方法getproducts()来返回。5.1.3 javascript语言的使用 javascript 是一种新的描述语言,此一语言可以被箝入 html 的文件之中。 透过 javascript 可以做到回应使用者的需求事件 (如: form 的输入) 而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端 (server) 处理,再传回来的过程,而直接可以被客户端 (client) 的应用程式所处理。 javascript主要是进行客户端检验,对客户端进行基本的数据验证,例如myshopping中当注册

53、用户时onclick=“return check();”对用户名进行校验判断其长度是否在6到10之间,密码是否为6到10位的整数,重复密码是否和密码匹配等客户端验证。5.1.4 css+div技术的使用 css是层叠样式表(cascading style sheets)的简称,常见的有内部样式表,外部样式表,内嵌样式表等等,内嵌样式表一般不是使用,内部样式表在样式少的时候使用,外部样式表一般用于大型网站开发。选择器selector一般使用类选择器class selector,例如 .div1width:160px;/宽160像素height:120px;/高120像素backgrade:#ffffff;/背景色为白色 而有些是网页上唯一的标签,如结尾end则使用id选择器id selector,id是唯一的不能相同的,因此该css只能在同一张网页上出现一次。例如#endwidth:1004px/宽1004像素height:200px;/长200像素padding:0px;/与内容距离0像素margin:0px;/与外部距离0像素div是division的缩写是html的块标签,它的使用给网页带来了新的革命,是网页布局更加灵活,块可大可小,位置也可随意调整,功能很强大可以满足用户更大的视觉需求。div+css可以很好的布局网页

温馨提示

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

评论

0/150

提交评论