网上电脑商城 毕业论文.doc_第1页
网上电脑商城 毕业论文.doc_第2页
网上电脑商城 毕业论文.doc_第3页
网上电脑商城 毕业论文.doc_第4页
网上电脑商城 毕业论文.doc_第5页
免费预览已结束,剩余51页可下载查看

下载本文档

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

文档简介

毕业论文 网上电脑商城网上电脑商城 学学 号:号: 学生姓名:学生姓名: 专专 业:业: 指导教师:指导教师: 提交时间:提交时间: i 摘要摘要 java 语言是目前 internet 上大型的 web 应用程序开发时使用得最热门的编程语言,本文描述 了 java 和 jsp 技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关 的联系,并完成一个基于这种技术的网上电脑商城。 关键词:java, jsp, 网络编程, 电子商务, 网上电脑商城 ii abstract at present java is the hottest programming language for web development, this text described the characteristics of java and jsp technology and the state of operating on internet, it introduced the relationship between them and the important programming method of the double technology, and work out an online computerstore system base on this kind of technology. keywords: java, jsp, web program, internet, computerstore 目目 录录 摘要摘要 i abstract.ii 第一章第一章 绪论绪论1 1.1 网上电脑商城的开发背景1 1.2 网上电脑商城的技术现状1 1.3 网上电脑商城的应用前景1 第二章第二章 开发语言、技术、工具简介开发语言、技术、工具简介4 2.1 开发语言简介4 2.2 开发技术简介4 2.3 开发工具简介4 第三章第三章 系统分析系统分析6 3.1 网站的设计目标6 3.2 网站的可行性分析6 3.3 网站的深入调查7 3.4 网站设计的特点7 3.5 网站开发的设计思想7 3.6 系统设计的总体规则8 第四章第四章 网站后台管理系统概述网站后台管理系统概述9 4.1 网上电脑商城后台管理系统的需求9 4.2 网上电脑商城后台管理系统的概要设计9 4.3 网上电脑商城的后台管理系统的详细设计10 第五章第五章 数据库设计数据库设计11 5.1 创建数据库11 5.2 数据表设计13 第六章第六章 数据连接数据连接21 6.1 建立数据连接21 6.2 安全策略21 第七章第七章 网上电脑商城后台管理系统设计网上电脑商城后台管理系统设计23 7.1 数据库连接公用模块23 7.2 dao 模式设计.26 7.2.1 dao 模式.26 7.2.2 dao 工厂.26 7.2.3 本系统的 dao 模式设计.27 7.3 后台登录退出模块28 7.4 产品管理模块31 7.5 客户管理模块41 7.6 订单管理模块43 7.7 公告管理模块45 7.8 系统设置模块47 总结总结49 致谢致谢50 参考文献参考文献51 1 第一章第一章 绪论绪论 1.1 网上电脑商城的开发背景网上电脑商城的开发背景 基于 web 的网上电脑商城,是基于 web 技术以浏览器/服务器(b/s)模式实现网上购物系统。基 于 web 的数据管理采用 b/s(浏览器/web 服务器)方式,实际上是浏览器-web 服务器-数据服务 器的 3 层结构。数据服务器存储数据,web 服务器提供用户界面并实现业务逻辑,浏览器显示使用 界面。所有的数据管理和业务逻辑集中在 web 服务器上,当修改程序后,客户不需要做任何设置就 可以直接看到新的界面,基于 web 的数据管理方式具有简洁、高效、使用方便等特点,并具有良好 的可扩充性、可维护性。对于软件开发人员来说,系统的维护工作量大大减少,降低了后期的维护 成本。 1.2 网上电脑商城的技术现状网上电脑商城的技术现状 随着面向对象,以及 internet 技术的发展,分布式亦越来越成为重点,分布式组件技术便应运 而生,它由面向对象技术发展而来,以面向对象技术为基础,其可重用性高,可维护性好,可扩展 性强,而分布式组件技术尤其适用于网络应用。 net 是微软公司提出的一种分布式运算框架,以 xml 为基础,以 web 服务为核心,辅以其它 各种技术实现,旨在利用 internet 上的计算资源和带宽资源,提高工作效率。 net 虽然能够较好 的解决 windows 系统的分布和通信问题,但是,它不跨操作系统平台,可移植性较差。 j2ee(java 2 platform enterprise edition)是基于 java 技术的分布式企业应用的先进平台和 分布式组件技术的优秀代表,它具有标准 java2 的许多特色优势,例如“编写一次,到处运行”的 可移植性、数据库访问的 jdbc api、且支持同现有企业资源进行交互的 corba 技术,在此基础上, 它添加了对企业 javabeans 组件、java servlets api,java 服务器页面和 xml 技术的支持。基于 j2ee 平台的应用程序不依赖于特定的操作系统,系统可以跨平台移植,这对于企业应用开发非常的 重要。 1.3 网上电脑商城的应用前景网上电脑商城的应用前景 对于基于 web 平台的网上购物系统,存在着一个前台应用和后台管理的问题。而无论前台还是 后台,都要对数据库进行调用和操作。因此如何创建网络数据库,以及客户端如何调用服务器端的 2 数据库成为实现网上购物的一个关键性问题。计算机技术的发展与普及,已经改变了我们的生活方 式,计算机应用已逐渐渗透到社会发展的各个领域。随着计算机技术和通信技术的迅猛发展,社会 资源的信息化、数据的分布处理、各种计算机资源共享等应用需求推动计算机技术朝着群体化方向 发展,促使计算机技术与通信技术紧密结合。internet 是目前世界上覆盖范围最大的计算机网络群 体。internet 是在通信网络的基础上,以 tcp/ip 协议为基准、以域名地址和 ip 地址为标识、以网 关和路由器为转换协议工具构成的网络的集合。internet 实质上是由遍布全球的各种计算机网络互 连而形成的网络。internet 的出现不仅使得通信和资源共享的地理范围扩展至全球,而且随着其服 务内容和应用领域的拓宽,正在改变人们的时空观。 以微电子、计算机、通信和网络技术为代表的现代信息技术在经济领域的广泛应用,使得交易 成本急剧下降,从而导致信息替代了资本在经济发展中的主导地位。作为重要的生产要素和战略资 源,通过互联网传递的大量信息使得现有的社会资源获得高效配置,社会劳动生产率大幅度提高, 并推动经济结构革新和产业结构的升级。 电子商务是互联网发展日臻成熟的直接后果,是网络技术应用新的发展方向。互联网自身所具 有的开放性、全球性、低成本、高效率的特点,已成为电子商务的内在特征,并使得电子商务大大 超越了作为一种新的贸易形式所具有的价值。 电子商务对于社会生产力的推动作用突出表现在 4 个 方面: (1)大幅度降低信息成本,提高信息使用效率。作为一个极为重要的商务信息载体和运送平台, 电子商务降低了信息来源成本;突破行业和产品物理特性的限制,使交易范围急剧放大;弥补信息 的不对称性,实现交易信息互换和交易行为的虚拟市场化。从目前市场情况看,电子商城、网上书 店和网上拍卖等交易行为,无不体现与传统交易相比的信息成本优势。信息成本的低廉形成了对电 子商务生存的最有力的支撑。 (2)大量减少中间环节,降低销售成本和购买成本。电子商务为买卖双方在网上直接交易提供 了现实可能性,缩短了供求之间的距离。绕过传统的经销商而直接与客户沟通,企业可以将需求直 接转化为企业的生产指令,减少了许多中间环节,使得零库存生产成为可能。在批发领域,电子商 务可以在很大程度上取代传统商业在商品流通渠道中的批发职能,使批发商的作用大大削弱。除了 农业生产资料要面对众多零星的农户以外,大多数生产消费者都有可能直接上网采购生产资料。而 对于普通消费者,则可以通过网络购买降低购物成本。 (3)有利于形成高效流通、交换体制。电子商务构成了虚拟社会中的整个商品交易庞大网络, 实体社会中商品的盲目实物移动转变为有目标的实物移动。借助于电子商务的信息沟通和需求预测, 企业可以组织有效生产,形成高效流通、交换体制。政府则可以通过电子商务,将市场、企业和个 3 人联接起来,方便地进行宏观调控和微观调控。 (4)有利于第三产业的发展。电子商务大量运用最先进的信息技术,必将推动产业结构的优化 和升级,特别是促进了现代第三产业的发展,增强了经济结构自身的稳定性。电子商务以新供给创 造了新需求,又以新需求推动了新供给,促进了社会总供求的良性互动,推动了经济的持续稳定增 长,从而延长了经济扩张期,减小了经济波动的幅度。 在这里,本人采用 b/s 模式来实现客户端对服务器端的调用,所谓 b/s 模式即浏览器/服务器模 式,是一种从传统的二层 c/s 模式发展起来的新的网络结构模式。在 b/s 模式中,客户端运行浏览 器软件。浏览器以超文本形式向 web 服务器提出访问数据库的要求,web 服务器接受客户端请求后, 将这个请求转化为 sql 语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并 进行数据处理。 4 第二章第二章 开发语言、技术、工具简介开发语言、技术、工具简介 2.1 开发语言简介开发语言简介 java 是一种面向对象的、独立于平台的语言。java 语言有语法规则和类库两部分组成,语法用 来确定 java 程序的书写规范;类库提供了 java 程序与运行它的软件之间的接口。java 语言具有良 好的可移植性、安全性、多线程性和网络能力,如今已经成为一门非常成功的开发语言。特别是最 近十几年以,来 internet 的迅猛发展,促进了 java 语言的发展是它逐渐成为 internet 上最受欢迎 的一门网络编程语言。 2.2 开发技术简介开发技术简介 jsp 的全称是 java server pages,用于创建可支持跨平台及跨 web 服务器 web 服务器端应用程 序,即所谓的动态网页。jsp 是由 sun microsystems 公司倡导,由多家公司合作建立的一种动态生 成 html、xml 或其它格式文档的 web 网页的网页技术标准。 jsp 正式发布于 1999 年 6 月,是基于 javaservlet 以及整个 java 体系的 web 开发技术。在传 统的静态网页中加入 java 程序片段和 jsp 标记即可构成一个常规的 jsp 网页。 目前的 j2ee(java 2 enterprise edition)是基于 java 语言的企业级分布式计算平台,是 sun 公司为企业级应用建立的高水准的架构,它获得了各大开发平台提供商的积极支持,并已成为 当今企业应用开发的主流平台。jsp 是 j2ee 平台上的一个组件。由于 jsp 技术独立于平台和服务器, 因此可以利用这一技术建立先进、安全和跨平台的 web 应用程序。 2.3 开发工具简介开发工具简介 jdk 是整个 java 的核心,包括了 java 运行环境(java runtime envirnment) ,一堆 java 工具 和 java 基础的类库(rt.jar)。不论什么 java 应用服务器实质都是内置了某个版本的 jdk。 。最主流 的 jdk 是 sun 公司发布的 jdk,除了 sun 之外,还有很多公司和组织都开发了自己的 jdk,例如 ibm 公司开发的 jdk,bea 公司的 jrocket,还有 gnu 组织开发的 jdk 等等。其中 ibm 的 jdk 包含的 jvm(java virtual machine)运行效率要比 sun jdk 包含的 jvm 高出许多。 jdk 是 java 开发工具包 (java development kit ) 的缩写。它是一种用于构建在 java 平台 上发布的应用程序、applet 和组件的开发环境。jdk 是一切 java 应用程序的基础,所有的 java 应 5 用程序是构建在这个之上的。它是一组 api,也可以说是一些 java class。要成为一个 java 程序员, jdk 是必不可少的最基本的工具。 jdk(java development kit)是 sun microsystems 针对 java 开发员的产品。自从 java 推出以 来,jdk 已经成为使用最广泛的 java sdk(software development kit) 。 jdk 包含的基本组件包括: javac 编译器,将源程序转成字节码 jar 打包工具,将相关的类文件打包成一个文件 javadoc 文档生成器,从源码注释中提取文档 jdb debugger,查错工具 eclipse 是一个开放源代码的、基于 java 的可扩展开发平台。就其本身而言,它只是一个框 架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标准的插件集, 包括 java 开发工具(java development tools,jdt) 。虽然大多数用户很乐于将 eclipse 当作 java ide 来使用,但 eclipse 的目标不仅限于此。eclipse 还包括插件开发环境(plug-in development environment,pde) ,这个组件主要针对希望扩展 eclipse 的软件开发人员,因为它 允许他们构建与 eclipse 环境无缝集成的工具。由于 eclipse 中的每样东西都是插件,对于给 eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同 等的发挥场所。 这种平等和一致性并不仅限于 java 开发工具。尽管 eclipse 是使用 java 语言开发的,但它 的用途并不限于 java 语言;例如,支持诸如 c/c+、cobol 和 eiffel 等编程语言的插件已经可 用,或预计会推出。eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础。 myeclipse 是 eclipse 的插件,也是一款功能强大的 j2ee 集成开发环境,支持代码编写、配置、 测试以及除错。 6 第三章第三章 系统分析系统分析 系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来, 就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发 出完整的系统设计。 3.1 网站的设计目标网站的设计目标 本平台利用现在比较广泛的 jsp+mysql 数据库的架构实现的,进行系统分析,为将来进一步的 实施打下一个坚实的技术基础。本平台将投入到实际的试运行之中,进行测试,如果测试满意的话, 将进行平台的完善开发,从而实现信息化,规范化,系统化,网络化的平台,具有较好的适应性和 推广性。 此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括: 浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包 括:商品管理、用户管理、订单管理、商品大分类管理、商品小分类管理等。使管理员从繁琐的手 工操作中解脱出来,并提高了办公效率。 3.2 网站的可行性分析网站的可行性分析 随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已 经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世 界上可以获得的所有商品和服务。 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一 次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的, 经过最初的设计目标和进行的市场调查得出以下四点的可行性分析: 经济可行性:即实现这个平台设计有没有什么经济效益?该平台设计只是作为本人的毕业设计, 又因为本人的设计能力有限,其功能还不能做到很完善,所以没有什么经济效益可谈。 技术可行性:即现有的技术能否开发该平台,会有哪些困难。 运行可行性:即该平台规定的运行方式是否可行。 法律可行性:即该平台的开发会不会在社会上引起侵权或其它责任问题。因为该平台是作为毕 业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。 7 通过以上的可行性分析,我将采用 tomcat+jsp 将结合的技术,运用 mysql5.0 数据库对网站进 行建设。 3.3 网站的深入调查网站的深入调查 经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现 行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过调查和指导老师的耐 心介绍,设计出该平台功能如下: 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。 能够完成管理员对网站的商品资料(添加大类、添加小类、商品添加、商品审查) 、商品交易 (外理订单、发货查询) 、会员管理(会员审查) 、操作管理(管理员添加、管理员审查、管理员退 出)的功能。 能够对商品的名称,电子商品的分类进行搜索、查询。 能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。 经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了 具体描述,下面就来具体分析该平台的设计特点与具体思想。 3.4 网站设计的特点网站设计的特点 我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特 点是改变了以往的购物只能过现实的商场才能达到的结果,采用 wed 技术,借助于 internet 互联网 广泛应用技术,达到资源共享,提高以往买电脑及电脑配件的局限性,缩短人们的时间和提高工作 效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过 程简单、方便、易行。 3.5 网站开发的设计思想网站开发的设计思想 网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资 料(添加大类、添加小类、商品添加、商品审查) 、商品交易(处理订单、发货查询) 、会员管理 8 (会员审查) 、操作管理(管理员添加、管理员审查、管理员退出)等功能达到对网站的管理。前台 操作是用户登录到本网站,可以进行用户注册,通过网站的新品速递、商品热卖、商品分类或商品 搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。 网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员 轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的 数量,并达到操作过程中的直观、方便、实用、安全等要求。 3.6 系统设计的总体规则系统设计的总体规则 无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有: 简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重 要的。 针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的 针对性。 实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性 本人和合作者刘明华经过讨论和研究之后决定,由刘明华完成网站的前台的开发和设计,而网 站后台管理系统的开发和设计由本人来完成。 9 第四章第四章 网站后台管理系统概述网站后台管理系统概述 4.1 网上电脑商城后台管理系统的需求网上电脑商城后台管理系统的需求 网上电脑商城后台管理系统是一个 web 应用程序,它维护着一个数据库,存储着管理员、客户、 产品、订单、公告等信息,主要包括管理员管理产品信息、客户信息、订单信息、公告信息以及相 关的系统维护功能。 4.2 网上电脑商城后台管理系统的概要设计网上电脑商城后台管理系统的概要设计 图 4-1 描述了这个 web 应用程序的系统框架图。 网网上上电电脑脑商商城城后后台台 产产品品管管理理 客客户户管管理理 订订单单管管理理 公公告告管管理理 系系统统设设置置 退退出出 后后台台登登录录 图 4-1 系统框架图 其功能模块大致分为: (1)后台登录退出模块 该模块主要是对管理员后台登录的身份进行验证,验证其是否为合法用户。 (2)产品管理模块 主要包括对产品信息的添加、修改和删除等功能。 (3)客户管理模块 该模块主要完成对客户信息的基本管理,包括查看客户的基本信息,但密码除外,对客户的帐 10 户进行冻结与解冻等操作。 (4)订单管理模块 主要包括对订单信息的查看,以及处理订单等功能。 (5)公告管理模块 该模块主要完成对网站的公告信息管理,包括添加和删除公告等功能。 (6)系统设置模块 该模块主要完成管理员设置、产品分类设置和品牌设置等功能;其中,管理员设置包括添加、 修改和删除等功能,产品分类设置包括产品所属的一级分类和二级分类的添加、修改和删除等功能, 品牌设置包括产品所属的品牌的添加、修改和删除等功能。 整个网上电脑商城的后台管理系统的功能结构如图 4-2 所示。 登登 录录 退退 出出 查查 看看 产产 品品 添添 加加 产产 品品 修修 改改 产产 品品 删删 除除 产产 品品 查查 询询 删删 除除 管管理理员员产产品品管管理理客客户户管管理理订订单单管管理理公公告告管管理理系系统统设设置置 网网上上电电脑脑商商城城后后台台 查查 询询 处处 理理 添添 加加 删删 除除 管管 理理 员员 设设 置置 分分 类类 设设 置置 修修 改改 密密 码码 管管 理理 员员 设设 置置 图 4-2 系统的功能结构 4.3 网上电脑商城的后台管理系统的详细设计网上电脑商城的后台管理系统的详细设计 系统的详细设计是利用需求分析和概要设计来确定每个模块的内部特征以及实现过程,进行详 细的程序设计,其中包括数据库详细设计和程序的详细设计。 以下是本人就本系统进行详细的数据库设计和程序设计。 11 第五章第五章 数据库设计数据库设计 数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有 mysql、access、sql server 、oracle 等。根据需求和系统分析,本系统采用了 mysql5.0 数据库 管理系统。 5.1 创建数据库创建数据库 首先 mysql 的数据库管理工具 mysql administrator,先连接到数据库服务器上,如图 5-1、图 5-2 所示,单击“catalogs” ,进入图 5-3 所示页面,在图 5-4 所示位置右键单击“create new schema”命令,弹出“create new schema”对话框,输入新数据库名称 myshop,即可在 mysql5.0 数据库管理系统中创建名称为 myshop 的数据库,如图 5-5 所示。 图 5-1 连接数据库服务器 12 图 5-2 连接数据库服务器 图 5-3 连接数据库服务器 13 图 5-4 创建数据库 图 5-5 创建数据库 5.2 数据表设计数据表设计 为满足本系统需要,本系统建立了 admin,bbs,brand,customer,oneclass,orderdetail,orders,product,rebate,twoclass 总共 10 个数据表。首先介绍介绍数据表的建立方法,依然使用 mysql administrator 新建数据库。 首先连接到数据库服务器上,选中 myshop 数据库,单击右边的“create table”按钮(如图 5-6 所 示) ,弹出的“mysql table editor”对话框窗口(如图 5-7 所示) 。 14 图 5-6 建立数据表 图 5-7 建立数据表 依次方法在窗口中建立系统所需的各个数据表,新建表窗口如图 5-8 所示。 15 图 5-8 建立详细数据表 其他数据表的建立方法与此类似。 下面是各个数据表的结构以及相关说明。 1.admin 表 管理员信息表 admin,用来保存保存管理员信息。在 admin 表中共有 4 个字段,各字段名称及 表示的含义见下表。表 5-1 显示了 admin 表的结构。 表 5-1 admin 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 aid 帐号 varchar30 否是唯一 name 姓名 varchar20 是否 password 密码 varchar20 否否 2.customer 表 客户信息表 customer,用来保存客户的基本信息。表 5-2 显示了 customer 表的结构。 表 5-2 customer 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 cid 帐号 varchar30 否是唯一 name 姓名 varchar20 是否 16 password 密码 varchar20 否否 sex 性别 varchar20 否否 address 客户地址 varchar100 是否 phone 联系电话 varchar20 是否 zip 邮编 varchar6 是否 email 电子邮件 varchar50 是否 grade 用户等级 int4 是否 amount 消费金额 float 否否 freeze 标识是否冻结 int4 是否 3. oneclass 表 产品一级(总)分类信息表 oneclass,用来保存产品一级(总)分类的基本信息。表 5-3 显示 了 oneclass 表的结构。 表 5-3 oneclass 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 name 一级分类名称 varchar40 否否唯一 4. twoclass 表 产品二级(详细)分类信息表 twoclass,用来保存产品二级(详细)分类的基本信息。表 5-4 显示了 twoclass 表的结构。 表 5-4 twoclass 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 tname 二级分类名称 varchar40 否是唯一 oname 一级分类名称 varchar40 否否 5. brand 表 品牌信息表 brand,用来保存产品所属品牌信息。表 5-5 显示了 brand 表的结构。 表 5-5 brand 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 name 品牌名称 varchar30 否是唯一 17 6. product 表 产品信息表 product, 用来保存产品产品的详细信息。表 5-6 显示了 product 表的结构。 表 5-6 product 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 pid varchar20 否是唯一 name 名称型号 varchar50 否是唯一 brand 品牌 varchar50 否否 buyprice 进价 float 是否 saleprice 售价 float 是否 descript 产品简介 varchar500 是否 contents 产品详细介绍 varchar2000 是否 indate 进货日期 date 否否 buycount 进货量 int 是否 salecount 销售量 int 是否 image 图片路径名称 varchar200 是否 tname 一级分类名称 varchar40 否否 oname 二级分类名称 varchar40 否否 7. orders 表 订单主表 orders,用来保存订单的概要信息。表 5-7 显示了 orders 表的结构。 表 5-7 orders 表 字段名描述数据类型长度是否允许为空是否主键唯一性 orderid 订单编号 int10 否是唯一 bnumber 品种数 int4 否 cid 客户帐号 varchar30 否 name 客户姓名 varchar30 否 address 联系地址 varchar100 否 zip 邮政编码 int6 是 phone 联系电话 varchar20 否 email 电子邮件 varchar50 否 pay 付款方式 varchar20 否 carry 运送方式 varchar20 否 rebate 折扣 float 否 orderdate 订单日期 datetime 否 note 备注 varchar200 是 enforce 处理标记 int4 是 18 8. orderdetail 表 订单明细表 orderdetail,用来保存订单的明细信息。表 5-8 显示了 orderdetail 表的结构。 表 5-8 orderdetail 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int11 否是唯一 orderid 订单号 int10 是 pid 产品编号 varchar20 否 price 单价 float 是 number 购买数量 int4 是 9. rebate 表 折扣信息表 rebate,用来保存折扣信息。表 5-9 显示了 rebate 表的结构。 表 5-9 rebate 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int11 否是唯一 grade 等级 int4 否否唯一 amount 消费金额 float10 否否 rebate 打折比率 float3 否否 10.bbs 表 公告信息表 bbs,用来保存公告信息。表 5-10 显示了 bbs 表的结构。 表 5-10 bbs 表 字段名描述数据类型长度是否允许为空是否主键唯一性 id 数据库流水号 int 否是唯一 content 公告内容 varchar4000 否 intime 公告时间 datetime 是 另外,本系统还创建了一个视图 v_orders_detail,用于显示订单的详细信息,创建该视图的 sql 语句如下: create view v_orders_detail as select orderdetail.orderid,product.pid,,product.brand, orderdetail.price,orderdetail.number from product inner join orderdetail on product.pid=orderdetail.pid; 19 创建视图的方法如图 5-9 所示。 图 5-9 创建视图 在如图 5-9 所示的窗口中单击“views”选项卡,显示如图 5-10 所示的窗口,单击其中的 “create view”按钮,弹出“enter view name”对话框,在其中输入 v_orders_detail 来创建视 图,如图 5-11 所示,在接着弹出的“mysql sql editor”窗口中输入上面创建视图的脚本,即可完 成创建视图(如图 5-12 所示) 。 图 5-10 创建视图 20 图 5-11 创建视图 v_orders_detail 图 5-12 创建视图 v_orders_detail 21 第六章第六章 数据连接数据连接 数据库作为网上电脑商城后台管理系统的核心,在建立之后要和应用程序之间建立连接才能发 挥作用。本章将介绍建立数据库的连接文件,在需要与数据库进行交互操作的应用程序中都将引用 此连接。 6.1 建立数据连接建立数据连接 jsp 程序通过 jdbc 来连接和操作数据库。jdbc 是一组 api,可以协助编程人员轻松地处理程序 与数据库之间的连接和操作动作。 进行数据连接时,需要使用 java.sql 包中的类。在正式连接数据库时,首先必须使用 java.sql.class 类中的 forname 方法加载驱动程序类,语法如下: class.forname(string 驱动程序类描述); 对于 mysql 数据库,使用如下语句加载驱动程序类: class.forname(“com.mysql.jdbc.driver“); 加载驱动程序类后,就可以使用 drivermanager 类来打开数据库连接,其语法如下: connection 连接对象=drivermanager.getconnection(string 连接数据库 url,string 用户 名,string 用户密码); 对于 mysql 数据库,一个示例如下: string dbdriver = “com.mysql.jdbc.driver“; string dburl= “jdbc:mysql:/localhost:3306/myshop“; string dbuser= “root“; string dbpassword= “12345678“; connection conn = drivermanager.getconnection(dburl,dbuser,dbpassword) ; 相应地,关闭数据库连接使用连接对象的 close 方法,其语法如下: 连接对象.close(); 6.2 安全策略安全策略 本系统使用两个方法来加强应用系统的安全性。 首先使用过滤器和 session 限制未经登录的访问。当管理员从后台登录管理页面时,jsp 应用 22 程序进行用户名和密码的验证检查后,如果数据符合则成功登录到后台管理页面,将管理员的帐号 aid 值写入 session 对象中,对以后的页面都会先过滤检查 session 对象中保存的数据,从而判断 管理员是否可以浏览页面,以达到安全控制的目的。如果检查失败都会跳转到登录页面,要求管理 员重新登录。 第二,有效防止管理员任意刷新页面,起到了防止非法入侵的作用。 23 第七章第七章 网上电脑商城后台管理系统设计网上电脑商城后台管理系统设计 本系统由一个公用模块、dao 模式设计和六个主要功能模块组成: 数据库连接公用模块。 dao 模式设计 后台登录退出模块,管理员登录后,进行产品管理,客户管理,订单管理,公告 管理,系统设置,以及最后退出后台管理。 产品管理模块,包括产品信息的查询、添加、修改和删除。 客户管理模块,包括客户的查询、客户帐户的冻结和解冻操作。 订单管理模块,包括订单的查询、处理订单。 公告管理模块,包括网站公告的查询、添加和删除。 系统设置模块,包括管理员的查询、添加、修改、删除,产品分类的查询、添加、 修改、删除,品牌名称的查询、添加、修改、删除。 下面是对各个功能做详细描述。 7.1 数据库连接公用模块数据库连接公用模块 javabean 是一种基于 java 的软件组件。jsp 对于在 web 应用中集成 javabean 组件提供了 完善的支持。这种支持不仅能缩短开发时间,也为 jsp 应用带来了更多的可伸缩性。在本系统 中,本人通过编写 javabean 来连接数据库,文件名为 databaseconnection.java。下面对代码 进行详细说明。 databaseconnection.java 的代码如下所示: package org.jzb.dbc; import java.sql.*; public class databaseconnection /属性 /定义数据库操作的常量、对象 /数据库驱动程序 private final string dbdriver= “com.mysql.jdbc.driver“; /数据库连接地址 24 private final string dburl= “jdbc:mysql:/localhost:3306/myshop“; /数据库用户名 private final string dbuser= “root“; /数据库连接密码 private final string dbpassword = “12345678“; /声明一个数据库连接对象 private connection conn= null ; /在构造方法中连接数据库 public databaseconnection() /加载驱动程序 try class.forname(dbdriver) ; catch (classnotfoundexception e) e.printstacktrace(); /连接数据库 try conn = drivermanager.getconnection(dburl,dbuser,dbpassword) ; catch (sqlexception e) e.printstacktrace(); /返回一个数据库连接 public connection getconnection() /返回连接对象 return this.conn; 25 /用于判断查询的内容是否存在 public boolean executequery(string sql) boolean exist=false; preparedstatement pstmt = null ; try pstmt = this.getconnection().preparestatement(sql) ; resultset rs=pstmt.executequery(); if(rs.next() exist=true; catch (sqlexception e) e.printstacktrace(); return exist; /判断更新是否成功,返回值为 true 表示更新成功 public boolean executeupdate(string sql) boolean ok=false; statement stmt=null; try stmt = this.getconnection().createstatement() ; stmt.executeupdate(sql);/此句若能执行,下句定能执行 ok=true; catch(sqlexception ex) ok=false; return ok; 26 /关闭数据库连接 public void close() try this.conn.close(); catch (sqlexception e) e.printstacktrace(); 7.2 dao 模式设计模式设计 7.2.1 dao 模式模式 这个模式将根据某种持久化机制访问数据的代码,并从处理业务逻辑的代码中分离出来。 dao 模式在 j2ee 中表现是,在业务逻辑层使用一个域对象来将表对象化,而同时使用 dao 来保存和恢复数据库并读写这个域对象。数据访问对象模式被认为是持久层的一种基本模式。 7.2.2 dao 工厂工厂 dao 工厂模式利用软件设计模式的“工厂模式” ,来帮助与数据库交互的持久层中处理或设 置 dao 对象,在此过程中还能配置 dao 的更多特性。 该模式利用一个创建接口提供创建的方法,创建方法的返回类型为被创建的产品的接口或 类。用户只对被创建的产品感兴趣,而与这些被创建的产品在创建之前所做的许多额外的工作 被封装到工厂接口的子类中,而不使用具体产品类的构造函数,达到隐式的使用,其类图如图 7-1 所示。 27 接口 创建接口 +factory():产品接口 接口 产品接口 创建类 +factory():产品接口 产品类 工厂方法创建 图 7-1 工厂模式 7.2.3 本系统的本系统的 dao 模式设计模式设计 本系统设计了一个 dao 接口 daoinfo.java 与一个该接口的实现类 daoimpl.java 以及该实 现类的若干个子类,一个工厂类 daofactory.java 和若干个 vo 类(value object) ,其中 vo 类 是对数据库中的表和视图进行映射和封装。 该部分文件包括: daoinfo.java: dao 接口定义了本项目中对数据库表进行操作所需要的全部方法; daoimpl.java:dao 接口的实现类,全部实现了空实现了 dao 接口中方法; admindaoimpl.java、bbsdaoimpl.java、branddaoimpl.java、customerdaoimpl.java、on eclassdaoimpl.java、orderdetaildaoimpl.java、ordersdaoimpl.java、productdaoimpl.jav a、rebatedaoimpl.java、twoclassdaoimpl.java、vcustomerdaoimpl.java、vorderdetaildao impl.java:dao 实现类的子类,根据需要重写了父类中相应的方法; daofactory.java:工厂类 adminvo.java、bbsvo.java、brandvo.java、customervo.java、oneclassvo.java、order detailvo.java、ordersvo.java、productvo.java、rebatevo.java、twoclassvo.java、vcust omervo.java、vorderdetailvo.java:对数据库中的表和视图进行映射和封装。 各个文件详细内容请参考代码。 28 7.3 后台登录退出模块后台登录退出模块 该模块实现管理员后台登录、退出后台管理等功能。 该部分文件包括: loginfilter.java:验证管理员身份的过滤器组件。 login.jsp:管理员登录页面。 logout.jsp:管理员退出后台。 (1)loginfilter.java 是验证管理员身份的过滤器组件,只需要在 web.xml 中进行配置,即 可完成对管理员身份的验证,只有合法的管理员通过登录页面才能进行后台管理,否则只会跳转到 登录页面。 loginfilter.java 代码如下: package org.jzb.filter; import java.io.ioexception; import java.util.arraylist; import java.util.list; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servl

温馨提示

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

评论

0/150

提交评论