版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南理工大学毕业设计(论文)说明书I摘摘要要随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很好的推进作用。本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程。该系统是基于多层企业级应用标准 JAVA EE 技术开发的 WEB 应用,以典型的 MVC 模式架构为基础。采用 JaveEE5 轻量级框架 SSH 与前台 Ajax 技术相结合来实现,在设计过程中全方位的应用软件工程的开发思想,对项目进行 UML 建模包括各模块的类图、时序图等。系统基于B/S 分布式结构,适应范围广阔。关键词关键词:电子商城
2、,SSH,Ajax,框架河南理工大学毕业设计(论文)说明书IIAbstractWith the development of information networks, the network plays an increasing role in peoples lives, and online shopping is becoming a trend, which wonderfully facilitates the development of electronic store. This article is focused on the analysis of the appli
3、ed environment of electronic mall and the main achievement function, for the purpose of describing the design and implement process of E-mall.The system is based on the web application developed with multi-standard enterprise application standard JAVA EE,framed with classical MVC model architecture,
4、and realized through the combination of lightweight framework SSH and front desk Ajax technology. In the design process a full range of application development software engineering development ideas was used in theUML modeling of the project,which included class diagrams, sequence diagrams. The syst
5、em is based on B / S distributed architecture to meet a broad range of requirements.KeywordsKeywords: : Electronic Mall, SSH, Ajax, Framework河南理工大学毕业设计(论文)说明书III目目 录录1 1 前前言言 11.1 课题的背景11.2 课题的意义11.3 课题的开发环境11.4国内外发展现状12 2 相关技术介绍相关技术介绍 32.1 AJAX简介32.2 STRUTS框架简介42.3 HIBERNATE框架简介42.4 SPRING框架简介52.5
6、本章小结63 可行性研究与需求分析可行性研究与需求分析 73.1 可行性研究73.1.1经济可行性 83.1.2技术可行性 83.1.3操作可行性 93.2 系统功能需求描述93.3 本章小结94.4. 总体设计总体设计 104.1 系统总体结构设计104.2 系统各层的设计114.2.1Model 层114.2.2View 层124.2.3Controller 层124.3数据库的设计154.4 本章小结185.5. 详细设计与实现详细设计与实现 19河南理工大学毕业设计(论文)说明书IV5.1商品分类模块设计195.2商品订购模块设计225.3登陆注册模块设计255.4 本章小结276.6
7、. 附部分代码附部分代码 27 结结 论论 39致致 谢谢 39参考文献参考文献 40河南理工大学毕业设计(论文)说明书11 1 前前 言言1.11.1 课题的背景课题的背景近年来,随着 Internet 的迅速发展,人们对网联网的认识逐渐增强,网上购物系统已经走进了人们的日常生活。对于企业来说,这种新型的商业运营模式给他们的发展创造了良好的机遇。对于个人来说,网上购物系统带来了方便和效率。在软件技术趋于成熟的今天,构建一个稳定的、可靠的电子商务系统已经成为许多企业关注的焦点。网上商城是在为个人用户和企业用户提供人性化的全方位服务,努力为用户创造亲切、轻松和愉悦的购物环境;不断丰富产品结构,最
8、大化地满足消费者日趋多样的购物需求。并凭借更具竞争力的价格和逐渐完善的物流配送体系等各项优势,赢得市场占有率多年稳居行业首位的骄人成绩,也是时代发展的趋势。1.21.2 课题的意义课题的意义 电子商城作为电子商务的范畴。它是依托网络、信息技术开展的商务活动。作为一种新颖的流通方式,不受时间和空间的限制,我们研究的目的就是为了开发一个安全,便捷,可维护,可扩展的电子商城。它不仅改变了传统商业模式,促进了流通方式创新和流通现代化,也深化了国际分工与合作,推动了经济全球化的发展。加快电子商务发展,对于我国更广泛参与经济全球化,以信息化促进流通现代化。贯彻落实科学发展观具有重要意义。1.31.3 课题
9、的开发环境课题的开发环境主要开发工具为:MyEclipse8.6、Mysql6.0、Tomcat6.0主要技术包括:JavaEE 轻量级框架 S2SH、Ajax。1.41.4 国内外发展现状国内外发展现状国外网络购物发展现状全球电子商务这个庞大体系中,美国独占鳌头,是世界上电子商务最发达国家同时也拥有全球最大的网上购物市场。最早的网上购物也出现在美国,1995 年美国网上书店亚马逊开业,美国第一安全网络银行(First SecurityBanknet)实现网上支付。据统计,美国网络销售总额逐年上升由 2002 年的 140 亿美元起,每年以 40 亿美元的幅度递增。在法国、德国、河南理工大学毕
10、业设计(论文)说明书2英国等欧洲国家,电子商务所产生的营业额已占商务总额的 14,丹麦、瑞典,芬兰和挪威等北欧国家还会高一些。欧洲电子商务的专业化同时也伴随产业化,其产业化的程度比北美地区更高,带动欧洲电子商务发展的领军者以纯粹的网络公司为主,在排名前 20 位的欧洲电子商务网站中有 15 家属于网络公司。这些纯粹的网络公司充分利用电子商务专业技术公司资源,创立了多种模式的高度产业化的商业模式。例如法国的 NETEVEN 公司,没有设立专门的网店,而是利用现成的电子商务平台从事零售业。它利用其 NETEVENiJI 擎,同时可以在不同的平台上出售商品。这种产业化的结果省去了网站营销费用(由各网
11、站负责),也不处理商品的采购问题(由各供应商负责),更不管配送及售后服务(交由物流公司负责),只专注商品信息的发布、信息搜集和接受订单这一最重要环节。日本电子商务起步较晚,但发展异常迅速。据国家贸易与产业部和安徒生咨询公司调查显示:1998 年,日本的 B2C 贸易量为 86850 亿日元,占全体家庭开支的 0 02。2000 年日本电子商务市场规模为 47 8 万亿日元。其中 B2B 交易的市场规模为 21 6 万亿日元(约为 1860 亿美元),B2C 市场规模为 8240 亿日元(约 70 亿美元)。截止 2000 年底,日本电子商务交易额在商品交易总额中所占的比例为 026,到 200
12、5 年迅速提高到 41。 中国较北美,欧洲的发达国家,网络购物起步晚,是在市场经济体制与运行机制还不完善的基础上推进信息化和电子商务的,其发展环境和条件尚未完全成熟,面临着体制,技术,管理等诸多闽题,与发达国家相比仍有较大差距。但中国的网络购物发展迅猛,正走向成熟。据 CNNIC(中国互联网络信息中心)的数据显示,中国网民的数量在 2007 年 6 月就已经突破了 162 亿,平均每分钟就新增近 100+M 民,成为仅次于美国的全球第二网络大国,有 255的中国网民有过网络购物经历。从 8848 到阿里巴巴,从卓越到京东商城,国内网络购物的十年历程历历在目,一个个先驱之后,国内网络购物市场正走
13、向繁河南理工大学毕业设计(论文)说明书3荣但是我们必须看到我国网络购物发展存在的诸多问题。正式由于这些不完善的问题存在,我国的网络购物市场发展潜力巨大,随着网络经济的发展、网络市场开放度和认知度的进一步提高,我国的网络购物逐步完善存在的问题,网络购物已经成为人们的一种生活方式。2 2 相关技术介绍相关技术介绍2.12.1 AjaxAjax 简介简介AJAX 是 Asynchronout JavaScript and XML 的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用 XHTML 和 CSS 标准化呈现;使用 DOM 实
14、现动态显示和交互;使用 XML 和 XSLT 进行数据交换和处理;使用 XMLHttpRequest 进行异步数据读取;最后用JavaScript 绑定和处理所有数据。AJAX 的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新页面) ,这一特点要得益于 XMLHTTP 组件 XMLHttpRequest 对象。这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。图2-1 Ajax模型河南理工大学毕业设计(论文)说明书42.22.2 Strut
15、sStruts 框架简介框架简介在 S2SH 集成框架中,Struts 的作用是提供 MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,是Jakarta Apache 的一个开源项目。基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。图2-2 Struts2.0 MVC结构图2.32.3
16、 HibernateHibernate 框架简介框架简介在 S2SH 集成框架中,Hibernate 提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。 Hibernate 是一个开放源代码的对象关系映射框架,它对河南理工大学毕业设计(论文)说明书5JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合, 既可以在Java 的客户端程序使用, 也可以在Servlet/JSP 的Web 应用中使用。图2-3 Hibernate运行图2.42.4 SpringSpring 框架介绍框
17、架介绍在 S2SH 集成框架中, Spring 作为核心,向上整合 MVC 框架,向下整合 ORM 框架,使用 Spring 的 IoC 容器来管理各组件之间之间的依赖关系,Spring 的声明事务将负责逻辑层组件的事务管理。Spring 由Rod Johnson 创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java 应用都河南理工大学毕业设计(论文)说明书6可以从Spring 中受益。简单来说,Spring 是一个轻量
18、级的控制反转(IoC)和面向切面(AOP)的容器框架。图2-4 Spring功能图2.52.5 本章小结本章小结 S2SH 集成框架是 Struts、Spring 和 Hibernate 三种技术的有机融合, 是目前应用最广泛的 Java EE 架构。在 S2SH 集成框架中,Struts 的作用是提供MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。Spring 作为核心,向上整合 MVC 框架,向下整合 ORM 框架,使用 Spring 的IoC 容器来管理各组件之间之间的依赖关系,Spring 的声明事务将负责逻辑层组件的事务管理。而 Hibernate 提供了一个
19、抽象的数据服务视图,将用户对数据库的访问进行高度抽象。AJAX 的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新页面),这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。河南理工大学毕业设计(论文)说明书73 3 可行性研究与需求分析可行性研究与需求分析3.13.1 可行性研究可行性研究.1经济可行性经济可行性 现代网络高速发展,影响着人类生活的方方面面。电子商务也应运而生,蓬勃发展。足不出户就能获取方便快捷的购物途径、享受超值的购物乐趣和优质的在线服务;商家也可以无需真实的店铺,不但降低投入、节省资金和摈弃传统贸易的落后方式,更重要的能通过电子
20、商务平台拓展商机、捕获机遇,赢得更大利益。互联网用户的庞大规模是电子商务市场欣欣向荣的重要推动力。截止到 2009 年第四季度,中国网民的数量达到 383 亿,国内使用第三方电子商务平台的中小型企业用户规模已经突破 1300 万,中国网购用户的规模也突破了 109 亿,电子商务行为已经全面覆盖经济各个方面。除了如消费者对网络购物接受程度逐步提高促成网购市场迅猛发展等自然增长因素外,金融危机对中国网购 市场的发展也起到一定助推作用。目前中国网民中,大约4 个人中有 1 人事网购用户,而在欧美和韩日等互联网普及率较高的国家,每3 个网民就有 2 个在网上购物,因此,可以看出中国的网络购物潜力还很巨
21、大。利用电子商务和信息化从事网络贸易的企业和个人,正成为社会经济领域的主体,在国民经济中发挥着重要的作用,随着这类群体的不断扩大,传统的商业规则和商业秩序受到冲击,重新解构,新的基于互联网的电子商务经济体系正在构建。政府的指引、主导和监督、相关法律法规的制定和实施、电子商务行业行规制度的完善等都是促进我国电子商务良好发展的重要因素。.2技术可行性技术可行性本系统采用的轻量级的 Java EE 架构,由 Struts、Hibernate、Spring 三个框架整合的集成框架。框架一般具有即插即用的可重用性、成熟的稳定性和高度集成易用性。Java EE 复杂的多层结构决定了日益复杂
22、的 Java EE 项目需河南理工大学毕业设计(论文)说明书8要运用框架和设计模式控制软件的质量,这三个框架已经是目前 Java EE Web项目开发的主流框架,具有良好的团队可协作性,已经应用在多个软件系统中,所以框架的稳定性很好,技术上具有很强的可行性。.3操作可行性操作可行性目前 ssh 框架流行与各大网站项目建设,开发市场中已经开发出非常好的模板样例,比如淘宝,京东,凡客等大型网上购物网站,其中一部分项目就是综合运用 ssh 技术,而且这样的大型购物网站均处于盈利状态。网上购物主要是资金流,商流,物流的结合,资金流的应用目前广泛体现在网银的使用,如支付宝等第三方安全支付
23、软件,商流就是各大购物网站及B2B,B2C,C2C 市场的广大商家和买家。物流体系的配套设施也在逐步完善和提高,因此从资源,市场,顾客这些市场和经济方面以及开发环境技术方面,电子商务网站,也就是网上商城是完全可以成功操作的。3.23.2 系统功能需求描述系统功能需求描述本电子商城分为前后台两部分,前台主要包括注册用户和非注册用户,非注册用户可以注册,浏览商品,注册用户登陆后,可以进入个人中心,在个人中心可以查看订单,账号充值,查看个人评论,维护个人信息,可以浏览商品,添加商品到购物车,修改购物车,确认后生成订单。后台管理员登陆后进入管理员中心,可以进行评论管理,商品管理,分类管理,订单管理,用
24、户管理,管理员管理。系统用例图 3-1 如下所示:河南理工大学毕业设计(论文)说明书9图 3-1 系统用例图3.33.3 本章小结本章小结 本章对系统的可行性进行了分析,从经济可行性,技术可行性,操作可行性三个方面进行了详细的分析说明,另外对项目的实际需求进行详细的需求分析,清楚地了解该项目所包含的功能,为后期的业务设计设定明确的目标和制定参考,需求分析完成后进入系统架构设计,系统架构设计是将软件需求转化为数据结构和软件的系统结构以及划分系统功能模块,目的是将软件系统需求转换为未来系统的设计,逐步开发出健壮的系统架构,并且使设计适合于实施环境,为提高性能而进行设计。河南理工大学毕业设计(论文)
25、说明书104 4 总体设计总体设计4.14.1 系统系统总体结构设计总体结构设计本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要实现模块见图 4-1;后台实现对前台功能信息的管理,主要实现模块见图 4-2。图 4-1 前台功能模块各模块主要功能详细介绍如下:商品信息模块:包括系统中进行商品的模糊查询,在搜索栏中输入要查询的商品名称或类型,可对数据库进行模糊查询,并将查询到的商品以分页列表显示出来。商品的展示包含用户对其的评价信息。用户信息模块:包括用户的登录注册,个人信息维护,用户可以注册登录后进入个人信息,对个人基本信息进行维护管理,同河南理工大学毕业设计(论文)说明
26、书11时也包括对账户充值,查看已购买商品,查看自己的订单,查看自己的评论等操作和维护。购物车&订单模块:包括用户查看商品向购物车中添加商品,修改商品,删除商品,确认收货方式及相关信息后可生成订单。图 4-2 后台功能模块各模块主要功能详细介绍如下:商品信息模块:包括后台中进行商品的添加,商品的修改,山品的删除,商品的查看。用户管理模块:包括后台中查看已注册用户,对用户的状态进行维护(冻结用户后,用户无法登录) 。订单管理模块:包括后台中查看所有订单列表,所有已发货订单列表,所有未发货订单列表,并可以查看订单的详细。对于未河南理工大学毕业设计(论文)说明书12发货的订单可以更改状态为“已
27、发货” 。评论管理模块:包括后台查看评论的详细信息,删除评论。查看被评论商品,并对其维护。类别管理模块:包括在后台中可以查看所有已添加类别,并可以增加新的类别等功能。管理员管理模块:包括对登陆管理员的个人信息修改维护,也可以添加新的管理员,修改管理员状态。4.24.2 系统系统各层的设计各层的设计.1 ModelModel 层层模型层封装了系统需要的一些实体对象,本系统实体类采用的是纯粹的POJO,使用贫血模式策略,即实体类只包含属性,没有具体业务逻辑方法,这种方式使得开发便捷、架构清晰.具体 javaBean 类如下表所示:表 4-1 JavaBean 列表BeanBean
28、名称名称作用作用Admin封装管理员的属性User封装注册用户的属性Comments封装评论的属性Goods封装商品的属性Order封装订单的属性Type封装类别的属性GoodsAdmin封装购物历史的属性河南理工大学毕业设计(论文)说明书.2 ViewView 层层本系统的表示层采用 Struts 框架实现,Struts 框架具有 MVC 设计模式,清晰的区分模型、视图和控制器,简化应用开发过程。Struts 核心控制器是由ActionServlet 实现,Struts 核心控制器负责通过 JSP 页面获取客户端请求Action 控制器根据接收到的 ActionServl
29、et 请求调用模型的业务处理方法处理请求,ActionServlet 根据获得的处理结果装配成相应的 JSP 显示给客户端JSp 负责客户端与服务器交互的显示作用,这一层使用页面框架对 Web 界面进行布局,页面框架包括了一些表单、界面主框架、网页样式库和一些引用。表 4-2 系统主要技术列表主要技术点主要技术点技术名称技术名称作用作用JSP 负责数据展示,收集,传递EL 表达式简化 jsp 页面,方便存取数据。Jstl 语言简化 jsp 页面,封装页面逻辑处理。Ajax异步提交,丰富客户体验。Javascript丰富前台交互,简化逻辑处理。.3ControllerContro
30、ller 层层本层使用 Spring 框架,对业务组件进行管理。利用它的 Ioc(控制反转)DI(依赖注入)机制实现对组件的统一管理。这层是系统开发最具价值的部分,Spring 的使用降低组件问耦合度,以及它提供的事务管理,都很好的提高了系统的可扩展、可维护性。由 spring 对 Struts2 中的 Action 进行反转控制,由 Action 对业务逻辑进行封装调用,具体的 Action 类及封装的方法如下表所示:河南理工大学毕业设计(论文)说明书14表 4-3 控制层 Action 列表ActionAction 类类封装方法封装方法AdminActionAdminActionLogin
31、【管理员登陆】updateStateAdmin【修改管理员状态】updetePassword 【修改管理员密码】addAdmin 【添加管理员】outAdmin 【退出登陆】authenticationAdminName【判断此用户是否已注册】selectPageAdmin【后台管理员列表分页显示】CartActionCartActiondel【删除购物车某件商品】upd【修改购物车】add【向购物车中添加商品】select【查询购物车商品列表】addtype【页面查询传递大类列表】CommentsActionCommentsActiondelete【删除某条评论】pageUser【用户中心分
32、页显示】pageAdmin【管理员中心分页显示】GoodsActionGoodsActionaddAdmin【后台增加商品】updAdmin【后台修改商品】getupdDetails【获得修改前的参数信息】delete【删除某个商品】goodsShow【商品展示】ajax【获得前台 sugges 效果】page【查询类别下的商品集合】getType【获取大类】addComments【在商品详细中添加一条评论】pageAdmin【后台商品管理分页】河南理工大学毕业设计(论文)说明书15goodsShowAdmin【后台查看商品详细】selectByUser_idAdmin【后台根据某一个用户查看
33、买了多少商品】OrderActionOrderActionVerifyAddresses【验证收货地址】Add【添加订单】Temp【防止重复提交】select【用户中心下查看订单】selectunOrderPageAdmin【后台查询未发货的分页订单】selectOrderPageAdmin【后台查询已发货的分页订单】selectOrderAdmin【后台订单详细查询】selectOrderUser【用户中心订单详细查询】updStateAdmin【后台订单发货】buyUser【用户中心付款】TypeActionTypeActionselectIndexType【查询主页上的商品类型】sele
34、ctTypes【查询所有类别】selectAdminType【后台类别查询】addSunTypeAdmin【后台添加子类别】UserActionUserActionregister【用户注册】login【用户登录】out【用户注销】result【用户充值】main【加载用户中心首页信息】upd【编辑用户】updpwd【修改密码】pageAdmin【后台分页】河南理工大学毕业设计(论文)说明书16updState【修改用户状态】authenticationName【注册时验证用户名是否已存在】ImageActionImageActionrandLetters【注册时,验证码生成】4.34.3 数
35、据库设计数据库设计本系统数据库开发主要基于 Mysql6.0 数据库管理工具,MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在 Internet 上的中小型网站中。本系统包括 8 个数据库表如下所示:表 4-4 e_shop 数据表清单表名表名解释解释T_Admin管理员表T_Comments商品评论表T_Goods商品表T_Order订单表T_Order_Goods订单-商品表T_Type类型表T_User用户表表 4-5 后台管理员表(T_ADMIN)T_ADMIN(t_admin)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空
36、空约束约束缺省缺省值值备注备注是ADMIN_ID管理员编号VARCHAR(50)50河南理工大学毕业设计(论文)说明书17NAME管理员名VARCHAR(50)50PASSWORD管理员密码VARCHAR(50 50ISFREEZE管理员种类BOOLEAN1表 4-6 商品评论表(T_COMMENTS)T_COMMENTS(t_comments)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺省缺省值值备注备注是COMMENTS_ID评论编号VARCHAR(50) 50COMMENT评论内容VARCHAR(200) 200GOODS_ID商品编号VARCH
37、AR(50) 50CREATETIME评论时间VARCHAR(50) 50USER_ID评论人 IDVARCHAR(50) 50表 4-7 商品表(T_GOODS)T_GOODS(t_goods)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺省缺省值值备注备注是GOODS_ID商品编号VARCHAR(50)50NAME商品名称VARCHAR(50)50PRICE商品价格DOUBLEIMG商品图片VARCHAR(50)50DESC商品描述VARCHAR(100) 100TYPE_ID所属类别VARCHAR(50)50STATE商品状态BOOLEAN1河南理
38、工大学毕业设计(论文)说明书18CREATETIME 商品发布时间VARCHAR(50)50表 4-8 定单表(T_ORDER)T_ORDER(t_order)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺省缺省值值备注备注是ORDER_ID订单编号VARCHAR(50) 50CONSIGNEE收货人VARCHAR(50) 50TOTAL订单总价DOUBLEPAYMENT付款方式VARCHAR(50) 50STATE订单状态BOOLEAN1TIME下单时间VARCHAR(50) 50USER_ID所属用户VARCHAR(50) 50ADDRESS收货地址
39、VARCHAR(200)200PHONE联系电话VARCHAR(50) 50POSTCARD邮编VARCHAR(20) 20DELIVERY送货方式VARCHAR(50) 50是FREIGHT运费VARCHAR(50) 50ISPAY是否付款BOOLEAN1表 4-9 订单-商品表(T_Order_Goods)T_ORDER_GOODS(t_order_goods)是否是否主键主键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺缺省省备注备注河南理工大学毕业设计(论文)说明书19值值是ORDER_ID订单编号VARCHAR(50)50 是GOODS_ID商品编号VARCH
40、AR(50)50表 4-10 类型表(T_TYPE)T_TYPE(t_type)是否是否主键主键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺缺省省值值备注备注是TYPE_ID类型编号VARCHAR(50) 50NAME类型名称VARCHAR(50) 50FID父类编号VARCHAR(50) 50STATE类型状态BOOLEAN1表 4-10 用户表(T_USER)T_USER(t_user)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺省缺省值值备注备注是USER_ID用户 IDVARCHAR(50)50NAME用户名VARCH
41、AR(50)50是PASSWORD用户密码VARCHAR(50)50是SEX性别BOOLEAN1是ADDRESS地址VARCHAR(50)50河南理工大学毕业设计(论文)说明书20PHONE电话VARCHAR(50)50EMAIL邮箱VARCHAR(50)50ISFREEZE是否冻结BOOLEAN1TIME注册时间VARCHAR(50)50BALANCE账户金额DOUBLESTATE登陆状态BOOLEAN1ZIP邮编VARCHAR(50)50系统采用 hibernate 对数据进行维护管理,hibernate 一个重要的特点是直接操纵实体类,而不是数据表,本系统设计为包含管理员(Admin),
42、评论(Comments),商品(Goods),订单(Order),商品类型(Type),用户(User)六个实体类,分别对应 6 个数据表。以 User 类为例:/* * 用户实体类 * author pro * */public class User private String user_id;private String name;private String password;/充值时间private String time;/账户余额private double balance;/性别private boolean sex;/地址private String address;/电话p
43、rivate String phone;private String email;/是否冻结河南理工大学毕业设计(论文)说明书21private boolean isfreeze;/删除状态-登陆private boolean state;/邮编private String zip;用 hibernate 接收管理后,hibernate 的对应的配置文件 User.hbm.xml 如下: 河南理工大学毕业设计(论文)说明书22通过 hibernate 的管理,只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想,另外还可以做到透明持久化(persistent),方便完善的
44、事务管理,简洁的 HQL 编程等,使系统的数据维护更加方便。4.44.4 本章小结本章小结本系统遵循流行的 Java EE Web 应用的分层模型,通过分层,使数据处理与业务逻辑分开,前端显示与业务逻辑分开,各层各司其职,互不相扰,降低系统各层之间的耦合度,有利于系统的平行开发,提高了开发效率,缩短开发周期,也利于增强系统后期的可扩展性和可维护性。因此,系统采用了 4 层模型架构,由上至下分别是表示层(Web 层)、业务逻辑层(Service) 、数据持久层(DAO层)和控制层(controller) 。5 5 详细设计与实现详细设计与实现5.15.1 用户模块设计用户模块设计用户模块包括:用
45、户注册和用户登陆,登陆后可以进入个人中心。对其个人信息进行维护管理。.1 注册功能注册功能进入用户登录页面时,点击【快速注册新用户】跳转到注册页面,如图 5-1 所示:河南理工大学毕业设计(论文)说明书23图 5-1 用户注册页面填写一个符合要求的用户名,系统会通过 Ajax,调用后台数据库,查找数据库中是否已经有次用户,如果有则提示“账号已被注册,请重新填写”。如图 5-2 所示:此功能首先提交到 UserAction,UserAction 调用一个方法如下:/* * 注册时用户名验证 * param request * param response * throws Exc
46、eption */public void authenticationName()throws ExceptionString name = request.getParameter(userName);boolean falg = userService.authenticationName(name);if(falg)AjaxOut.out(response,ok);elseAjaxOut.out(response,no);河南理工大学毕业设计(论文)说明书24这个方法中又封装调用了 UserServiece,通过authenticationName(String name)方法判断数据库
47、中是否已经有此用户,并返回一个标志,然后调用 Ajax 输出到页面。图 5-1 用户注册页面图 5-2 用户注册页面-提示已注册所有的输入都正确后,点击【提交注册】,注册信息提交到 UserAction调用 register()方法UserServiceaddUser()UserDAOaddUser()通过这样一系列的方法调用,数据从 web 层,经过逻辑层,最后通过 hibernate 将其持久化到数据库。其中 UserDAO 中注册时用到的方法如下:/* * 添加用户 */public void saveUser(User user)Session session =sessionFact
48、ory.getCurrentSession();session.save(user);session.flush();.2 登陆功能登陆功能进入系统后,用户登陆页如图 5-3 所示:河南理工大学毕业设计(论文)说明书25图 5-3 用户登陆页面输入账户和密码后,点击【登陆】,提交到 UserAction,调用 login()方法:/* * 用户登录 */public String login()throws Exception String name = request.getParameter(name);String password = request.getParame
49、ter(password);User user = userService.login(name, password);/通过数据库查找并返回一个User,条件是没有登录,没有被冻结if(user.getUser_id()!=null)/说明此user未登录SessionUtil.setObjSession(request, user, user);/sessionreturn index;/登陆成功,转到主页elsereturn r-login;5.25.2 商品模块设计商品模块设计商品分类模块包括:商品的查看,商品的增加,商品的修改,商品的删除,河南理工大学毕业设计(论文)说明书26管理员
50、通过后台登陆,进入管理员中心,进入商品管理可以对商品进行必要的管理,本模块活动图如图 5-4 所示:图 5-4 商品模块活动图.1 添加商品功能添加商品功能管理员登陆以后,进入管理员中心,在【商品管理】下,可以增加商品,web 页面如图 5-5 所示:开始管理员登陆商品管理商品查看商品增加商品删除商品修改商品分类结束河南理工大学毕业设计(论文)说明书27图 5-5 商品添加页面填写信息后,点击【添加】,提交到 GoodsAction,调用 addAdmin()方法,然后封装调用 GoodsServiece,调用 goodsDAO,最终向数据库中添加一件商品,代码如下:/* *
51、后台添加商品 */public String addAdmin() throws Exception HttpSession session = request.getSession();ServletContext application = (ServletContext) session.getServletContext();System.out.println(ABC= + application.getRealPath(/);String filePath = application.getRealPath(/) + upload;System.out.println(filePa
52、th= + filePath);File uploadPath = new File(filePath);/ 检查文件夹是否存在 不存在 创建一个if (!uploadPath.exists() uploadPath.mkdir();/ 文件最大容量 5Mint fileMaxSize = 5 * 1024 * 1024;/ 文件名String fileName = null;String path = null;河南理工大学毕业设计(论文)说明书28/ 上传文件数int fileCount = 0;/ 重命名策略RandomFileRenamePolicy rfrp = new Random
53、FileRenamePolicy();/ 上传文件MultipartRequest mulit = new MultipartRequest(request, filePath,fileMaxSize, UTF-8, rfrp);Enumeration filesname = mulit.getFileNames();while (filesname.hasMoreElements() String name = (String) filesname.nextElement();fileName = mulit.getFilesystemName(name);String contentTyp
54、e = mulit.getContentType(name);if (fileName != null) fileCount+;path = upload/ + fileName; else fileName = wu.jpg;path = images/ + fileName;System.out.println(文件名: + fileName);System.out.println(文件类型: + contentType);System.out.println(共上传 + fileCount + 个文件!);Goods goods = new Goods();goods.setName(m
55、ulit.getParameter(goodsName);goods.setPrice(Double.valueOf(mulit.getParameter(price);goods.setImg(path);goods.setDesc(mulit.getParameter(desc);goods.setType(typeService.select(mulit.getParameter(type);goods.setState(true);goods.setCreatetime(DateUtil.getDate();goodsService.add(goods);request.setAttr
56、ibute(msg, 添加商品成功!);return pageAdmin();.2 商品分类功能商品分类功能在管理员中心页面,通过【类别管理】可已经进入商品类别页面,在此页面可以查看所有已存在的类别,点击左上方链接“添加类别”进入类别添加页面,如图 5-6 所示:河南理工大学毕业设计(论文)说明书29图 5-6 子类别添加页面填写信息后,提交到 TypeAction,通过调用方法 addTypeList(),返回一个父类别集合,通过调用 addSunType(),封装调用 TypeService,最后调用 TypeDAO,最终向数据库中插入一个新的类别。5.35.3 商品订购模
57、块设计商品订购模块设计商品订购模块包括:商品的搜索,商品浏览,添加到购物车,查看购物车,修改购物车,生成订单,后台管理员可以对订单状态进行修改,由“未发货”更改为“已发货” ,本模块活动图如图 5-7 所示:图 5-7 商品订购活动图商品订购模块由 GoodsAction 负责商品的展示和搜索,由 CartAction 负责购物车的增删改,由 goodsService 等业务逻辑层负责逻辑的封装调用,DAO用户登陆登陆与否浏览商品搜索商品添加商品到购物车修改购物车确认购物车订单管理员发货结束河南理工大学毕业设计(论文)说明书30层持久化对象数据,javaBean 负责数据传递和收集。本模块类图
58、如图 5-8 所示:图 5-8 商品订购模块类图.1 商品浏览功能商品浏览功能通过点击商品名称或者在搜索栏里搜索,进入商品展示页面,如图 5-9 所示:河南理工大学毕业设计(论文)说明书31图 5-9 商品展示页面商品的分类分页展示是通过 GoodsAction,用 page()方法,对页面进行分页处理,通过调用 goodsShow()方法,对某一件商品进行详细查询,代码如下:/* * 查询详细 * throws Exception */public String goodsShow() throws Exception / 获取商品IDString goods_id = re
59、quest.getParameter(goods_id);/ 查询单个商品Goods goods = goodsService.select(goods_id);/ 通过商品对象获得类型对象Type type = goodsService.getType(goods);/ 获得该商品评论总条数int count = goodsService.getGoodsCommentsCount(goods_id);/ 获得分页对象Page page = goodsService.getPage(request, count);/ 获得分页集合List list = goodsService.getCom
60、mentsPageList(page, goods_id);for (Comments comments : list) User user = comments.getUser();user = userService.select(user.getUser_id();comments.setUser(user);getType(request);request.setAttribute(commentsAll, list);request.setAttribute(count, count);request.setAttribute(goods, goods);request.setAttribu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械制造课程设计齿轮坯
- 回溯法课课程设计
- 2024年架桥设备租赁服务协议版
- 物品销售协议书(3篇)
- 2024国际知名品牌买卖合同范本
- 2024香港劳动合同范本下载
- 我是90后的演讲稿(3篇)
- 2024食堂电磁炉排烟机购买合同
- 2024的商铺装修管理合同
- 室外管网采暖课程设计
- 6《芣苢》《插秧歌》公开课一等奖创新教学设计统编版高中语文必修上册
- 国家能源集团招聘笔试题库2024
- 医疗联合体战略合作协议(2024年版)
- 2024年秋季人教版七年级上册历史全册大单元整体设计教学课件
- 初中数学解题教学设计
- 政法系统领导干部专题读书班学习心得体会范文(三篇)
- JT∕T 934-2014 城市公共汽电车驾驶员操作规范
- 排水管网项目经济效益和社会效益分析
- 河北省涿州市实验中学2025届九年级物理第一学期期中学业水平测试试题含解析
- 儿科门急诊交接班制度
- JBT 1306-2024 电动单梁起重机(正式版)
评论
0/150
提交评论