基于JSP的网上购物系统的设计与实现_第1页
基于JSP的网上购物系统的设计与实现_第2页
基于JSP的网上购物系统的设计与实现_第3页
基于JSP的网上购物系统的设计与实现_第4页
基于JSP的网上购物系统的设计与实现_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、吉吉 林林 工工 商商 学学 院院 毕毕 业业 论论 文文 题目名称:基于 JSP 的网上购物系统的设计与实现 院 系:信息工程学院 专 业:计算机科学与技术 学生姓名:杨月 学 号:4 指导教师:桑磊 2013 年 5 月 21 日 毕业论文原创性声明毕业论文原创性声明 本人郑重声明:所呈交毕业论文,是本人在指导教师的指导下,独立进行研究 工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他人或集 体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已 在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 论文作者签名: 年 月 日 基于基于 JS

2、PJSP 的网上购物系统的设计与实现的网上购物系统的设计与实现 摘摘 要要:本网上购物系统是一个基于 Internet,采用 B2C(Business to Consumers)模 式,并根据现有的网上购物系统的现状而设计开发的电子商务平台。它不但可以扩大 商家的规模和市场影响力,而且可以减少企业的经营成本,提高工作效率。 本文首先介绍了网上购物系统的现状及开发背景,然后论述了系统的设计目标,系 统需求和总体设计方案,较详细的论述了系统的详细设计和实现。最后,本文对网上购 物系统进行了系统检测并提出了还需要改进的问题。 本毕业设计的内容是设计并且实现一个基于 JSP 技术的网上购物系统,主要使

3、用 了 Struts+Spring+Hibernate 等多种框架的结合使用,用 MyEclipse 作为开发工具, 以 MySQL 作为数据库,以 Macromedia 公司的 Dreamweaver 作为界面美化工具,使用 Java 语言开发,页面采取 JSP 动态页面开发技术。该系统界面简单、操作方便,容易 维护。 关关键键词词:MyEclipse;MySQL;JSP;Dreamweaver The Analysis and Realization of the Shop on Line System Abstract: The shop online system is an elec

4、tronic commercial platform which has been designed according to the situation of shop online system based on Internet with B2C mode. It can not only enhance the scale of shopping centre and market influence, and can also reduce the enterprises running cost, improve work efficiency. The thesis has fi

5、rstly introduced the practical situation and the developing background of the system. And then has described the designing goal、system need and the whole designing plan, has described the detailed design and reality of the system in detail. Finally, conclusion has been drawn about the system and pro

6、blem has also been raised. The content of graduation design is to design and implement an online shopping system based on JSP technology, mainly using Struts+Spring+Hibernate and other frame used in combination, using MyEclipse as a development tool, using MySQL as the database, with Macromedias Dre

7、amweaver as the interface landscaping tools, the use of Java language , development page JSP, adopt dynamic page technology. This system interface is simple, convenient operation, easy maintenance. Key Words: MyEclipse; MySQL; JSP; Dreamweaver 目目 录录 1 引言.1 1.1 网上购物系统的发展历程与现状.1 1.2 系统实现的目标.1 1.3 系统的开

8、发意义.2 2 系统的开发环境及技术简介.2 2.1 系统开发环境.2 2.1.1 MyEclipse .2 2.1.2 数据库简介 .3 2.1.3 Tomcat .4 2.2 系统开发技术与 MVC 模式以及基本框架.4 2.3 B/S 体系结构 .5 3 系统需求分析.6 3.1 系统的开发目标.6 3.2 网站的可行性分析.6 3.3 系统的功能分析.7 4 系统概要设计.7 4.1 系统功能模块设计.7 4.2 数据库设计.11 4.2.1 数据库需求分析.11 4.2.2 数据库结构设计.11 5 系统详细设计.13 5.1 系统功能实现的主要架构.13 5.1.1 SSH 框架.

9、13 5.1.2 hibernate 配置文件.13 5.1.3 struts 配置文件.15 5.1.4 spring 配置文件.15 5.2 系统各功能模块的实现.16 5.2.1 用户登录模块的实现.16 5.2.2 购物车模块的实现.23 5.2.3 后台管理模块的实现.30 6 系统测试.38 6.1 系统测试的目的.38 6.2 系统测试的方法.38 6.3 系统测试环境.39 6.4 本系统测试.39 7 结论.43 参考文献 .45 致谢 .46 1 1 引言引言 1.11.1 网上购物系统的发展历程与现状网上购物系统的发展历程与现状 上世纪 90 年代以来,随着网络、通信和信

10、息技术的突破性进展,Internet 在全球 爆炸性增长并迅速普及。在这一前提下,电子商务应运而生了。电子商务是基于互联 网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的 商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以 让商家在全球范围内选择最佳供应商,在全球市场上销售产品。自 1998 年“电子商务 年”以来,电子商务在全球发展迅猛,大约每九个月其交易额就翻一番,全球电子商 务交易额达到数千亿美元,电子商务收入剧增 262%。 近年来,随着 Internet 的迅速崛起,互联网已日益成为收集提供信息的最佳渠道 并逐步进入传统的流通领域。于

11、是电子商务开始流行起来,越来越多的商家在网上建 起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统具有强大的交互功 能,可使商家和用户方便的传递信息,完成电子贸易或商品交易。这种全新的交易方 式实现了商家与用户间文档与资金的无纸化交换。网络购物也正适应了当今社会快节 奏的生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。 日前公布的一项研究结果显示,我国电子商务产业近年来发展迅速,目前网上商 店总数已经超过 10 万家,网上展示的商品总数约为 2000 万件。该项研究是由上海东 方网诚数据科技有限公司进行,研究对象包括全部拥有独立域名和网上商店系统的网 站,以及部分租用第三方

12、平台、具有一定规模的网上商店,但不包括设在易趣、淘宝、 易拍等拍卖网站上的店铺。 目前在国内 PHP 与 ASP 应用最为广泛,而 JSP 由于是一种较新的技术,国内采用 的较少。但在国外,JSP 已经是比较流行的一种技术,尤其是电子商务类的网站,多采 用 JSP。三者中,JSP 应该是未来发展的趋势。世界上一些大的电子商务解决方案提供 商都采用 JSP/Servlet。比较出名的如 IBM 的 Ebusiness,它的核心是采用 JSP/Servlet 的 WebSphere;西方另外一个非常著名的电子商务软件提供商 Intershop,它原来的产品 Intershop1,2, 3, 4 占

13、据了主要的电子商务软件份额。它 们都是通过 CGI 来提供支持的。但去年 10 月后它推出了 Enfinity,一个采用 JSP/Servlet 的电子商务 Application Server,而且声言不再开发传统软件。总的来 说,ASP,PHP,JSP 三者都有相当数量的支持者,而这三者也各有所长,在开发过程中, 我们应该根据实际的需要来使用最合适的技术,本系统则采用较新的 JSP 技术,一方 面 JSP 的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中, 深入学习一下这门编程语言。 1.21.2 系统实现的目标系统实现的目标 现在大多数网上购物系统要求的不仅是要有漂亮的

14、网页,更要有严谨的规划,注 重每一个细小的环节,这样才能使得在电子交易时避免不必要的错误发生。我们将使 用 HTML、JSP 等技术来编辑网页,并运用 JDBC 技术把数据库和动态网页相关联。传统 的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库 中,这种方法在数据量不大时还可以,但是当数据量比较大,并且有较强的专业性时,录 入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站以 及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商 品买卖的情况。 1.31.3 系统的开发意义系统的开发意义 随着Internet的发展,为改变

15、传统的商业运作模式,人们提供了一种技术上的可 行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部 网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一 起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而 在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种 交易模式称为:电子商务。 电子商务的迅速发展,使得人类社会突飞猛进,网络销售是其中一个重要的附加 产品。从购物测试看,中国电子商务的发展前景很好,其购物潜力巨大。但目前我国 网络使用主要在电子邮件、个人主页、信息传播、还有销售

16、管理系统等。 当今比较流行的网上购物系统国外有“淘宝()” ,国内有“当当 ()” ,它们都是相当优秀的电子商务网站,为其他的网站提供了良好 的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的 电子商务网站应有的功能和注意事项。 总之,伴随着个人电脑的普及和使用电脑人口的增加,网络销售在众多的销售渠 道中脱颖而出,其地位及占有量一定会逐渐增加。技术革命引发产业结构变革,市场 的竞争规则也会跟着发生变化,网络销售的产生是流通领域中的一场革命。 2 2 系统的开发环境及技术简介系统的开发环境及技术简介 2.12.1 系统开发环境系统开发环境 2 2. .1 1. .1 1

17、M My yE Ec cl li ip ps se e 在开发本平台中所用到的开发工具就是是知名的 java 项目开发工具 MyEclipse。MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的一种扩展,利用 MyEclipse,我们可以在数据库和 J2EE 的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。 MyEclipse 是一个功能非常丰富的 J2EE 集成开发环境,包括了完备的编码、调试、测 试和发布功能,完整支持 HTML, Struts, JSP, CS

18、S, JavaScript, SQL, Hibernate。 在结构上,MyEclipse 的特征可以被分为 7 类:J2EE 模型,WEB 开发工具,EJB 开发 工具,应用程序服务器的连接器,J2EE 项目部署服务,数据库服务,MyEclipse 整合 帮助。 对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系 列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块 的情况下,对任易一个模块进行单独的扩展和升级。简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开发环境,支持代码编写、配

19、置、测试以及除 错。 MyEclipse 的版本有很多,本购物系统可以使用的 MyEclipse 的版本也很多,但是 基于 MyEclipse6.5 的稳定性好,所以我选择 MyEclipse6.5 作为我的开发工具。 MyEclipse 开发界面如图 2.1 所示。 图 2.1 MyEclipse 开发界面 2 2. .1 1. .2 2 数数据据库库简简介介 数据库使用的是 MySQL 数据库。 MySQL 的特性:使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的 可移植性 ,支持多种操作系统 。为多种编程语言提供 API。这些编程语言包括 C、C+、Eiffel、Java

20、、Perl、PHP、Python 和 Ruby 等。支持多线程充分利用 CPU 资 源。优化的 SQL 查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应 用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言 支持,常见的编码如中文的 GB2312、BIG5 都可以用作数据表名和数据列名。提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。提供用于管理、检查、优化数据库操作 的管理工具。可以处理拥有上千万条记录的大型数据库。 MySQL 的应用:与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比, MySQL 自有它的不足之

21、处,如规模小、功能有限(MySQL Cluster 的功能和效率都相对 比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小 型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此 可以大大降低总体成本。 2 2. .1 1. .3 3 T To om mc ca at t Tomcat 很受广大程序员的喜欢,因为它运行时占用的 系统资源小,扩展性好, 支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完 善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个轻量级应用 服务器,在中小型

22、系统和并发访问用户不是很多的 场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以 这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面 的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的, 所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时, Apache 为 HTML 页面服务,而 Tomcat 实际 上运行 JSP 页面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服务器一样, 具有处理 HTML 页

23、面的功能,另外它还是一个 Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。 2.22.2 系统开发技术与系统开发技术与 MVCMVC 模式以及基本框架模式以及基本框架 本系统采用 JSP 技术,基于 MVC 模式开发,使用 SSH 框架 (Struts、Spring、Hibernate)来增加系统的开发速度。所谓的 MVC 模式是Model- View-Controller的缩写,中文翻译为模式-视图-控制器。程序就是用 Struts 和 Hibernate 这两个框架来实现模型层和控制器这两层,JSP 实现视图这一层。一般来说 程序就是在数据库和页

24、面之间起桥梁作用的,JSP 页面请求先到 action,再到 Dao,再 回到 action,回到 JSP 页面。action 主要处理来自页面的请求,Dao 主要是和数据库 的交互,Struts 主要用在 action,处理来自页面的请求,处理完请求后跳转回页面。 Hibernate 主要用在 Dao,包括对数据库的增、删、改、查的操作,Spring 控制程序的 流程。 S.S.H 框架是 J2EE 应用中 Struts+Spring+Hibernate 三大免费开源框架的结合使 用, 它可以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产 品的可维护性、可扩展性乃至敏捷性的

25、。他们里面有很多优秀的设计理念及模式应用。 它由以下 3 个框架构成: 1.Struts 框架 Struts 是 Apache 组织的一个开放源码项目。Struts 是一个比较好的 MVC 框架, 提供了对开发 MVC 系统的底层支持,它采用的主要技术是 Servlet,JSP 和 Custom tag library。 2.Spring 框架 Spring 的核心是个轻量级(Lightweight)的容器(Container) ,它是实现 IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供 AOP(Aspect-oriented pro

26、gramming)概念的实现方式,提供对持久层 (Persistence) 、事务(Transaction)的支持,提供 MVC Web 框架的实现,并对一些 常用的企业服务 API(Application Interface)提供一致的模型封装,是一个全方位 的应用程序框架(Application framework) ,除此之外,对于现存的各种框架 (Struts、JSF、Hibernate 等) ,Spring 也提供了与它们相整合的方案。 3.Hibernate 框架 Hibernate 是一个开放源码的 ORM 持久层框架。作为优秀的持久层框架实现, Hibernate 框架提供了强

27、大、高性能的对象到关系型数据库的持久化服务,开发人员 可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化 类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而 已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数 据的插入、删除、修改、读取等操作。 2.32.3 B/SB/S 体系结构体系结构 在 B/S 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求, 服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。 B/S 结构简化了客户 机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的

28、工作,对数据库 的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加 工、结果返回以及动态网页生成等工作全部由Web Server 完成。实际上B/S 体系结构 是把二层 C/S 结构的事务处理逻辑模块从客户机的任务中分离出来,由Web 服务器单独 组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web 服务器。这种 三层体系结构如图2.2 所示。 Browse 浏览 器 Web 服务器 数据库 图 2.2 B/S 三层架构示意图 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也 把技术维护人员从繁重的维护升级工作中解脱出来。由于客户

29、机把事务处理逻辑部分分 给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据访问等 关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之 间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互 独立,任何一层的改变不会影响其它层的功能。 3 3 系统需求分析系统需求分析 3.13.1 系统的开发目标系统的开发目标 现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个 细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用 HTML、JSP 等技术来编辑网页,并运用 JDBC 技术把数据库和动态网页相关联

30、。传统的管理信息系 统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在 数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费 用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站, 以及自 己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买 卖的情况。 3.23.2 网站的可行性分析网站的可行性分析 可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性, 对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证 新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时

31、间内确定问题 是否能够解决。这部分将从以下三个方面进行研究:技术可行性、经济可行性、操作 可行性。 (1)技术可行性 因为计算机硬件的发展已经越来越快,现在 PC 机的性能已经可以胜任普通网站的 web 服务器。购买一台高性能 PC 机作为企业的网站对于这个营销商来说并不是问题。 JSP 是 Java 在 Internet/Intranet Web 上的重要应用技术,可以和各种 Java 技术 完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一 种非常流行的网站开发技术。利用 JSP 技术可以建立先进、安全和跨平台的动态网站。 鉴于 JSP 技术的成熟与广泛的使用,加以

32、指导老师的帮助可以得到很多的技术支持。 虽然在校学习数据库时一直以 SQL Server 作为例子,但是我个人对 MySQL 数据库的了 解偏多,所以采用 MySQL 作为数据库的后台。 (2)经济可行性 根据调查的资料,现在聘用一支团队设计并建设企业商务型网站的费用为 5300 元 左右,另外每年交纳 600 元占用网站空间和网站维护费。为了使网站建成后能达到增 加企业经济效益的效果,寻找一支创新与技术优秀的团队最多需要增加 3000 元的一次 性投资。这样看来一个成功的网站建成后为这个营销商带来的效益将会远大于成本。 但架设好一个网络中的服务器,以满足互联网中浏览者对速度的需求,这样每年服

33、务 器与网络线路和设备的维护费用将是企业不得不重点考虑的因素。如何做好经济可行 性分析,需要通过仔细的调查与投资和行业方面的专业人士分析。 (3)操作可行性 如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的 时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以 PC 机作为服务器 的网站,营销商可以自己对网站进行操作和管理。 3.33.3 系统的功能分析系统的功能分析 根据上面的需求分析,需要设计出网站的前台与后台。用户在前台所浏览的内容, 网站的后台需要能相应的做出更新或修改。 前台功能:提供用户的注册和登录功能。用户能够随意浏览商品,包括使用搜索 功 能和使用

34、排行榜功能,方便用户获取商品的详细信息,如图片预览、商品描述。 可以查询以及确认订单信息。登录用户可以使用购物车,可以对购物车中的商品进行 修改,包括修改商品的数量,删除商品和回复商品。可以编辑订单信息,最后生成订 单。 后台功能:管理员可以配置一些信息管理本网站。管理员可以管理商品。可以管 理订单信息,包括订单状态的修改,订单的删除。可以管理用户的信息,包括用户的 删除。 设计完成后的网站具有:建成后的网站系统是一个综合性电子商务网站,基本完 成了商城及用户对网站的要求。 4 4 系统系统概要设计概要设计 4.4.1 1 系统功能模块设计系统功能模块设计 1)功能结构图如图 4.1 所示。

35、系统 前台用户后台管理 注 册 登 录 商 品 浏 览 收 货 地 址 管 理 购 物 车 功 能 用 户 信 息 商 品 评 价 商 品 分 类 管 理 商 品 管 理 会 员 管 理 商 品 评 价 管 理 统 计 管 理 图 4.1 功能结构图 从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户 使用,主要包括注册登录、商品浏览、购物车功能、添加修改用户信息、商品评价、 收货地址管理 6 个模块;后台部分由管理员使用,主要包括商品分类管理、商品管理、 会员管理、商品评价管理、统计管理 5 个模块。 2)前台购物流程图如图 4.2 所示。 浏 览 商 品 选 择 商 品

36、 订 购 商 品 去 购 物 车 去 收 银 台 提 交 订 单 未注册用户 已登录注册用户 未登录注册用户 注册 登录 图 4.2 前台购物流程图 3)注册功能流程如图 4.3 所示。 接受注册信息 开始 查询数据库 注册成功 数据是否为空 密码是否一致 用户名是否存在 注册失败 结束 是 是 否 否 否 是 图 4.3 注册功能流程图 注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面, 用户需要如实填写用户名,密码,E_mail,地址,电话,真实姓名等各项信息,提交后, 系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户 该用户名已经注册过,如果

37、没有则进行下一步判断用户输入的两次密码是否一致,然 后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系 统将该用户注册信息写入用户表并提示用户注册成功,用户登陆后,就可以进行有效 的进行购物了。 4)商品搜索流程如图 4.4 所示。 开始搜索 输入条件 搜索结果 继续搜索 查看商品购物车 下订单 图 4.4 商品搜索流程图 商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提 高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。 5)用户登录流程如图 4.5 所示。 开 始 结 束 接收登录信息 查询数据库 数据是否正确 否 是 登录失败

38、登录成功 图 4.5 用户登陆流程图 首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此 对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后 再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外 还需要用户地址、E-MAIL、手机、QQ 等。 6)商品管理流程如图 4.6 所示。 商品管理 查询商品 添加商品 修改删除 满意 返回 否 是 图 4.6 商品管理流程图 在该功能模块里管理员可以添加和删除商品,在这里管理员当然也可以浏览到商品 的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据 库中的编码。

39、 7)购物车流程如图4.7 所示。 购物车 查看商品 调整商品 下订单 满意吗? 是 否 图 4.7 购物车流程图 在该功能模块里用户可以查看购物车中的商品,如果用户对所添加的商品感到满意, 可以直接下订单;如果不满意,可以删除该商品。 4.24.2 数据库设计数据库设计 4 4. .2 2. .1 1 数数据据库库需需求求分分析析 数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库 管理系统有 MySQL,SQL Server, Oracle 等。我采用了 MYSQL 数据库管理系统。 整个系统功能需要以下数据项: 地址表信息(地址编码、地址、关联的用户编码) 用户表信息

40、(用户编码、用户名、地址、添加时间、答案、邮箱、密码、联系方式、 QQ、真实姓名、是否删除标志、问题) 商品表信息(商品编码、商品名、添加时间、热销推荐、商品图片、商品简介、库存 数量、原价、优惠价、商品是否删除标志、销量、关联的分类编码) 分类表信息(分类编码、分类名、是否删除标志) 购物车表信息(购物车编码、商品名、库存、原价、优惠价、数量、关联的用户编码) 订单表信息(订单编码、地址、添加时间、联系方式、订单状态、总价格、用户名、 关联的用户编码) 评价表信息(评价编码、评价、添加时间、评价状态、评语、关联的商品编码、关联 的用户编码) 4 4. .2 2. .2 2 数数据据库库结结构

41、构设设计计 在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结 构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上 的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之 重。 数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量 分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什 么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的 三个元素,也是一个好的数据库设计的核心。 地址表如表 4.1 所示。 表 4.1 地址表 字段字段名称字段类型允许为空备注 Id 地址

42、编号 Bigint(20) 否主键 Dizhi 地址 Varchar(255) 否地址 userid 关联的用户编码 Bigint(20) 是外键 用户表如表 4.2 所示。 表 4.2 用户表 字段字段名称字段类型允许为空备注 Id 用户编码 Bigint(20) 否主键 Username 用户名 Varchar(255) 否 Address 地址 Varchar(255) 否 Createtime 添加时间 Int(11) 是 Daan 答案 Varchar(255) 否 Email 邮箱 Varchar(255) 否 Password 密码 Varchar(255) 否 Phone 联系

43、方式 Varchar(255) 否 QQQQVarchar(255) 否 Truename 真实姓名 Varchar(255) 否 userlock 是否删除标志 0:未删除, 1:删除 Int(11) 否 wenti 问题 Varchar(255) 否 商品表如表 4.3 所示。 表 4.3 商品表 字段字段名称字段类型允许为空备注 Id 商品编码 Bigint(20) 否主键 Name 商品名 Varchar(255) 否 Createtime 添加时间 Datetime 否 Imgpath 商品图片 Varchar(255) 否 Info 商品简介 Text 是 Kucun 库存数量 I

44、nt(11) 否 Hot 热销推荐 Int(11) 否 Price1 原价 double 否 Price2 优惠价 double 否 productlock 是否删除标志, 0:未删除, 1:删除 Int(11) 否 Xiaoliang 销量 Int(11) 是 cateid 关联的分类编码 Bigint(20) 是外键 分类表如表 4.4 所示。 表 4.4 分类表 字段字段名称字段类型允许为空备注 Id 分类编码 Bigint(20) 否主键 catename 分类名 Varchar(255) 是 Catelock 是否删除标志, 0:未删除, 1:删除 Int(11) 否 购物车表如表

45、4.5 所示。 表 4.5 购物车表 字段字段名称字段类型允许为空备注 Id 购物车编号 Bigint(20) 否主键 name 商品名 Varchar(255) 否 Kucun 库存数量 Int(11) 否 Price1 原价 double 否 Price2 优惠价 double 否 Totalprice 数量Double(20)否 productlock 是否删除标志, 0:未删除, 1:删除 Int(11) 否 userid 关联的用户编码 Bigint(20) 是外键 订单表如表 4.6 所示。 表 4.6 订单表 字段字段名称字段类型允许为空备注 Id 订单编码 Bigint(20)

46、 否主键 Address 地址 Varchar(255) 否 Createtime 添加时间 datetime 否 Phone 联系方式 Varchar(255) 否 Status 订单状态 Int(11) 否 Totalprice 总价格 Varchar(255) 否 Username 用户名 Varchar(255) 否 userid 关联的用户编码 Bigint(20) 否,外键 评价表如表 4.7 所示。 表 4.7 评价表 字段字段名称字段类型允许为空备注 Id 评价编码 Bigint(20) 否主键 Pingjia 评价 Varchar(255) 否 Createtime 添加时间

47、 Datetime 否 Pingjiastatus 评价状体 Int(11) 是 Pingyu 评语 Varchar(255) 否 Productid 关联的商品编码 Bigint(20) 否外键 userid 关联的用户编码 Bigint(20) 否外键 5 5 系统详细设计系统详细设计 5.15.1 系统功能实现的主要架构系统功能实现的主要架构 5 5. .1 1. .1 1 S SS SH H 框框架架 SSH 框架就是 Struts+Spring+Hibernate 的简称,运用 3 个框架的集成协作使用, 可以有效的提高代码编写的效率,从而有效的降低程序开发的周期。 5 5. .1

48、1. .2 2 h hi ib be er rn na at te e 配配置置文文件件 true DBPool proxool.xml org.hibernate.connection.ProxoolConnectionProvider com.mysql.jdbc.Driver true true org.hibernate.dialect.MySQLDialect thread update 这是Hibernate的配置文件,在该文件中proxool.xml首先加载了连接池的一个配置,就是加 载了数据库的连接信息,truetrue表示控制台打印SQL语句,并格式化SQL语句。 org.h

49、ibernate.dialect.MySQLDialect 表示当前数据库的语言是 MySQL。 5 5. .1 1. .3 3 s st tr ru ut ts s 配配置置文文件件 index.jsp product.jsp cartadd.jsp fail.jsp cartaddfail2.jsp 这是 struts 的配置文件的部分内容,该文件的作用主要起到来自 JSP 的请求的跳 转分配的作用,把的请求分配到对应的 action 里面去,同时定义返回的的 JSP 页面。 5 5. .1 1. .4 4 s sp pr ri in ng g 配配置置文文件件 Spring 在本项目中主

50、要用到了 IOC 的功能,就是把对象实例化 本段代码是把DAO实例化的代码,通过spring的IOC模式。 5.25.2 系统各功能模块的实现系统各功能模块的实现 5 5. .2 2. .1 1 用用户户登登录录模模块块的的实实现现 网站主页面如图 5.1 所示。 图 5.1 网站主页面 代码如下: public String index() throws Exception HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute(topcatelist, cs.getAllTop

51、Cate(); String cid = request.getParameter(cid); int currentpage = 1; int pagesize = 6; if(request.getParameter(pagenum)!=null) currentpage= Integer.parseInt(request.getParameter(pagenum); if(request.getParameter(searchname)!=null String searchname = .URLEncoder.encode(request.getParameter(searchname

52、), utf-8); int total = ps.getProductCountByKeyword(keyword); request.setAttribute(hotprolist,ductFormate(ps.getProductByKeyword( (currentpage-1)*pagesize,6,keyword);/热门商品列表 request.setAttribute(pagerinfo, Pager.getPagerNormal(total, pagesize, currentpage, index?searchname=+searchname,共有+total+件商品 ); else if(request.getParameter(qujian1id)!=null) String v = request.getParameter(v); String qujian1id = .URLDecoder.decode(requ

温馨提示

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

评论

0/150

提交评论