




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 随着电子信息技术突飞猛进的快速发展,消费者的日常生活已经逐渐由线下转移到线上,各种网络购物平台应运而生,促进了商业活动的网络化以及平台化,新型的购物模式正在逐渐改变着大家的生活习惯,并且不断的被消费者所接受。本文接下来将要向大家详细阐述一个基于J2EE平台设计实现的网上家装建材商城。 相信许多人都经历过了家装选材的痛苦经历,嘈杂的市场,不知深浅的价格是许多居家新人难以忘怀的梦魇。随着商业活动网络化的蓬勃发展,是不是可以将这种无序的线下交易集中到网络购物平台上实现,多样化的选择,合理的价格以及一站式服务正是是网络家装平台的买点所在。通过市场调研发现,现在现有的电子购物平台主要有B2B,B2C,C2C这几种模式,而要想将众多的建材市场资源整合起来面向广大的消费者,采用B2C,模式势在必行。本文将首先分析家装平台的网上购物流程以及线上交易管理的业务特点,将主要的业务逻辑梳理出来,并为接下来的需求分析做好业务准备。由于电子家装平台业务繁杂并且数据量庞大,需要清晰高效的的业务逻辑主线以及层次化的开发流程来保证项目可以顺利完成。本商城的逻辑层采用J2EE平台规范来实现,整体框架采取MVC模式为主导的层次化开发,数据库将采用开源且十分流行的Mysql组件,并且结合轻量级容器Tomcat服务器,实现了网上购物以及商城管的业务功能。同时也保证了整个系统的稳定性,达到项目设计的要求。在对整体系统设计与实现的基础上,本文进一步分析了系统关键模块的业务流程,研究了系统业务建模的过程,在分析过程中引进了设计模式的方法,并根据系统的业务需求提炼实体和业务模型之间的关系,使之可以更好的实现系统的运营,并便于系统的二次开发。 关键词:家装建材,电子商城 ,B2C ,J2EE平台AbstractWith the rapid development of electronic information technology advances, the daily lives of consumers has gradually shifted from offline to online, various online shopping platforms have emerged to promote the networking and business platform, the new shopping patterns are gradually changing peoples habits, and continue to be accepted by consumers. The rest of this article I would like to elaborate on a J2EE platform-based design and implementation of online home improvement building materials store.I believe many people have experienced the painful experience of selection of home improvement, noisy market, I do not know the depth of the price of the new home of many unforgettable nightmare. With the business activities of the network to flourish, is not the focus of this disorder on-line trading to online shopping platform, a variety of options, reasonable price and one-stop service platform It is a network of home improvement where to buy. Through market research found that now existing electronic shopping platform mainly B2B, B2C, C2C these types of models, and in order to integrate the many building materials market resources together for the majority of consumers, the use of B2C, imperative mode. This article will first analyze the characteristics of the home improvement business process platform for online shopping and online transaction management, the main business logic will sort it out, and operational preparedness subsequent demand analysis. As electronic home improvement internet business complex and the huge amount of data, we need a clear and efficient business logic mainline and hierarchical development process to ensure that the project can be successfully completed. The mall logic layer using J2EE platform specification to achieve, the overall framework for the MVC pattern to take the leading level of development, and the use of open source database will be very popular Mysql components, and combined with lightweight containers Tomcat server, as well as to achieve an online shopping mall tube business functions. But also to ensure the stability of the entire system, to achieve the project design requirements.On the basis of the overall system design and implementation, this paper further analyzes the key business process system modules, studied business process modeling system, the introduction of a model designed in the analysis process, and refining entities based on business requirements of the system and the relationship between the business model, so that it can operate better implementation of the system, and to facilitate the secondary development of the system.Keywords: home improvement building materials, electronic mall, B2C, J2EE platform目 录1 绪言11.1课题背景11.2 课题研究的目的和意义21.3 国内外概况22 系统开发方案及相应技术的研究42.1系统开发技术方案42.1.1项目开发模式42.1.2 Java EE应用概述52.2 JSP/Servlet技术72.3 开发工具介绍72.4 数据库MySQL简介83 天马商城业务需求分析93.1 天马购物商城总体需求分析93.2 天马购物商城角色用户需求分析93.1.1非注册用户93.1.2注册用户103.1.1管理员113.3天马商城购物车模块分析113.4天马商城地址管理模块分析124 天马商城的设计与实现134.1设计目标134.2系统结构设计134.2.1 系统体系结构设计134.2.2 系统功能模块设计144.3系统详细设计154.3.1系统数据库设计154.3.2登录首页面设计154.3.2 持续层的设计实现原理164.3.3请求响应以及转发的实现原理174.4系统运行展示194.4.1 普通用户选购查询商品194.4.2 普通用户登录商城并选购204.4.3商品购物车模块204.4.4收货地址管理模块214.4.5订单确认模块215 系统的测试225.1 测试的目的225.2测试的方法225.3测试结果236 总结与展望24致 谢25参考文献26北京建筑大学本科生毕业设计(论文)1 绪 言1.1课题背景需求决定市场,这是一个亘古未变的法则。当下网络发展迅猛,人们对网络的信任度和依赖程度有很大的提高。除了淘宝、京东商城等电商,一些传统的大型零售商如国美、苏宁等也开发了自己的网购平台,很多中小型也逐渐加入进来,可以预见这其中存在着很大的商机,因此我们决定建立一个基于B/S架构的网购系统,在开发购物网站方面进行有益的尝试。从最早的淘宝,到现在的琳琅满目的个色购物网站,技术的创新带给网购这个平台无穷的动力。随着网购需求的日益增加,对于网购平台的技术要求也就越来越高。一方面网络购物可以极大的方便顾客的购物需求,另一方面供应商可以利用网络这个巨大的平台,以极其高效的方式将自己的商品展示给大家,从而大大减少了储存以及商品积压带来的资金成本。迎合着现在火热的房地产市场需求,我们打算开发一款线上家装建材商城,用来将消费者从无序的建材市场中解放出来,享受在家即可享受的一站式家装服务。21世纪是一个信息爆炸式发展的年代,将这些信息经过整合后投放到消费者眼前,将会带来巨大的商机。随着技术以及人口的不断增长,这种电子商务的繁荣将会一直持续下去。一些有远见的企业家在很早以前便发现了这块投资的热土,虽然现在有很多体量巨大的互联网巨头已经牢牢的占据了这块市场,但是随着网络覆盖化率的提高,人们对于互联网又会有新的期待,只要抓住机遇一定可以有所作为。网络购物平台作为一个线上系统,业务逻辑十分的繁杂,同时又要面临着高并发操作对于系统稳定性的考验,所以业务逻辑主线必须十分清晰才可以满足开发方面的严峻需求。同时面临随时都会增加的业务需求,系统必须拥有一个比较好的扩展性才可以在日后的升级换代中稳占鳌头。设计的目标是可以在预定的开发周期以及开发经费中高质量的满足所有业务方面的需求,并且可以保证其使用过程中的稳定性。在此基础上我们决定采用J2EE平台规范,因为J2EE拥有广泛的组件支持,其优秀的跨平台特性可以显著提升开发的效率以及其扩展性。在此基础上我们要对项目进行初步的建模过程,将业务主线逐渐划分为不同模块分布开发。即系统主要划分为前台模块以及后台模块,前台面向消费者,提供其对于商品的查询以及购买活动,后台负责整个商城的管理业务。先搭建好整体框架,然后各个模块垂直开发,缩减时间成本。只要按照计划进行,整体的开发难度不是非常的大。采用J2EE是一个满足开发需求的非常合理的方案。1.2 课题研究的目的和意义网络购物已经成为目前市场的大趋势所在了,凭借着快捷高效以及简易的特点迅速赢得了广大的消费者的青睐,本课题取自某家装建材批发公司,为了拓宽市场份额,有效的推进家装建材市场的规范化发展,为家装建材零售业提供新的契机。与传统的零售店相比,网络商城具有以下这几个方面的意义: 第一,产品的覆盖面更加的广泛,通过市场宣传,即便是相距很遥远的顾客也可以通过这个广泛的平台获取最新的市场信息,不仅对于顾客有货比三家的有点,对于商家而言也有迅速拓宽市场份额的巨大优势。而对于商家而言,网络平台也可以加快资金流转,降低库存压力的有点。第二,网络平台相比较传统的线下市场有更加透明化的特点,商品的好坏以及商家的信用都可以直观的背消费者浏览到,这种透明化的特点可以大大加强市场的规范化建设,好的商家生意会越来越好,而品质不好的商家则会逐渐被市场淘汰。第三,在线平台的商品展示将会更加的丰富,介绍的产品信息也会更加的全面,顾客可以更加充分的的了解商品各方面的信息。而传统商户受制于店面的限制不可能将全部的商品展示出来,而网络商城则不会存在这样的问题。第四,购物更加的便捷。在传统的采购中,顾客需要走街串巷货比三家,最后采购完成以后还要进行托运等工作。而在网络商城中,只需要点击购物车,便可以将心仪的商品订购完成,非常的方便快捷,可以极大的节约顾客的人力成本。因此,与传统的家装建材市场相比,我们的在线网络商城具有操作方便,易于管理等特点,可以极大的吸引消费者,并且提升其购物体验。1.3 国内外概况电子商务的发展已经经历了十多年的高速发展,尤其在我国,电子商务平台已经极大的丰富并且改变了居民的生活水平。其迅猛的势头正在影响着各行各业的发展,而家装建材市场作为与互联网平台接轨比较晚的行业在国内具有巨大的发展潜力。家装建材行业的竞争和淘汰非常的激烈,其产品由过去的质量和价格竞争,逐渐演变成品牌和创新能力的竞争,所以对于家装建材商来说,高效的销售渠道是一个企业存亡的关键。而互联网销售平台则恰恰满足了这种需要,不仅可以扩大营销渠道还可以降低企业运营成本,实在是目前这片市场的大势所趋。从目前的统计数字来看。全球的互联网用户正在飞速增长,截至2016年2月全球互联网用户已经达到了33亿人,任有44人无法上网。而随着欧洲信息高速公路的建立以及我国的三网合并,这一数字将会进一步增加。而随着移动互联技术的普及,电子商务平台从千万级上升到亿级也只是一个时间问题,企业也有了发展电子商务平台的技术和消费者基础。国际贸易仍然是基于电子商务的B2C和B2B电子商务为主。但是BtoB影响最大的份额主要是基于,但个别C2C的发展现状人数占优。而网上商城的快速发展为平台,随着电子商务交易额不断扩大,据咨询公司艾瑞咨询最新的调查报告显示,主要是在美国市场,占全球市场的约89。美国仍然是最大的电子商务市场。零售企业基本上90拥有自己的网上销售平台,并且拥有世界领先的开发标准化程度。根据美国的数据,制造业和批发贸易,电子商务的最大份额,但增长中的零售和服务业方面目前的速度的官方统计是增长最快的,大型批发市场和商场,是电子网络商城的增长客户的主要来源。发展中国家和发达国家,在实现电子商务交易进展,逐步改变传统的交易模式的缺点,开发用户需求和改善网上交易的方式,完成各项指标继续完善网上购物商城。随着互联网商务的大行其道,国内的大型购物平台如雨后春笋一般拔地而起,面对着快速增长的市场难免出现一些同质化问题,众多的购物网站互相效仿,没有什么特色,整个平台不仅在技术架构上相差无几,在主要功能上也并没有什么创兴,甚至在比较核心的企业安全策略上也非常相似。为了获得利益,各种虚假炒作充斥其中,造成了网络购物平台在整体声誉上受损。因此既然要打造一款有特色的购物平台,就一定要在技术上推陈出新,在客户体验方面趋于完美才可以。在第十二届全国人民代表大会第三次会议中,李克强总理提出指定“互联网+”行动计划。李克强在政府工作报告中提出,“制定互联网+行动计划,推动移动互联网、云计算、大数据、物联网等与现代制造业结合,促进电子商务、工业互联网和互联网金融健康发展,引导互联网企业拓展国际市场。”“互联网+”战略就是利用互联网的平台,利用信息通信技术,把互联网和包括传统行业在内的各行各业结合起来,在新的领域创造一种新的生态。这样的“互联网+”的例子绝不是什么新鲜事物,比如,传统集市+互联网有了淘宝,传统百货卖场+互联网有了京东,传统银行+互联网有了支付宝,传统的红娘+互联网有了世纪佳缘,传统交通+互联网有了快的滴滴,而传统新闻+互联网有了柴静穹顶之下病毒式的传播。在在这个大的背景下将传统家装建材行业与互联网平台相结合会创造出巨大的社会以及经济效益。2 系统开发方案及相应技术的研究2.1系统开发技术方案2.1.1项目开发模式作为B/C模式的平台架构,消费者主要通过浏览器与服务器建立连接来进行操作,前端的浏览器与后端的服务器以及数据库共同构成了一个具有三层体系的客户服务器体系。其开发过程会使用到许多的WEB技术,随着互联网时代的到来,许多的新技术不断的涌现出来。从最初的静态文本界面,到后来的超链接标识技术Applet等,再到现在非常流行的Javascript语言以及各种各样前端框架,技术的发展已经极大的丰富了我们的前台界面。数据库也是层出不穷涌现,从轻量级Mysql开源数据库,到传统的Oracle DB等。服务器有Apache公司的Tomcat以及 Websphere,Ngix等功能多种多样,但是各具特色。 图2.1 B/S模式 相比较传统的C/S模式,B/S模式对于网络平台的运营来说有着非常巨大的优势。顾客想要访问我们的网络商城,只需要在任意的浏览器登录网站即可,随时随地都可以操作,非常的快捷方便。而且这种WEB程序在易操作性,安全性以及处理能力方面也已经赶超的传统的C/S模式。这两种模式的优缺点对比可以从图2-2中看到。具体到本项目来说,使用B/S模式不仅仅可以方便使用者的便捷性,而且可以加快整个项目的开发过程。对于后期各个模块的功能维护来说,B/S模式也可以大大节省维护客户端方面的成本,提高日后升级部署该项目的效率,因此从各个方面来考虑,使用B/S模式是本次项目的不二选择。2.1.2 Java EE应用概述今天,轻量级Java EE应用程序在企业发展中占有绝对优势,Java EE的其稳定的性能和良好的开放性,深受企业应用开发者,事实上,信息行业,如银行,电信,证券和电子商务的更高要求-COMMERCE行业,都不约而同地选择Java EE平台,Java EE的框架,它一般可分为以下几个层次:Domain Object(领域对象层):此层由一系列的POJO(Plain Old Java Object,普通的,传统的Java对象)组成,这些对象是该系统的主要对象,往往包含了各个业务逻辑所需要实现的方法。DAO(Data Access Object数据访问对象层):此层由一系列的DAO组件组成,这些数据库访问组件实现了对数据库的连接,查询以及访问等原子操作。业务逻辑层:此层由一系列的业务逻辑层组件构成,这些业务逻辑组件将会实现系统所需要的业务逻辑操作过程。控制器层:此层由一系列的控制器组件组成,用于拦截转发客户的请求,并且调用业务逻辑组件的方法来实现请求的业务,然后将处理的结果发送到需要出现的页面上去。表现层:此层有一些列的JSP页面以及各种文档视图组成,负责收集用户请求,并且展示处理的结果。各层的Java EE组件以松耦合的方式组合在一起,各个组件之间不会以硬编码的方式耦合,这种方式不仅可以提高整个程序的健壮性,而且便于扩展及维护。对于大型的信息系统而言,采用Java EE 框架有着很大的优势。软件不是一次性的系统,其生产方式及运作模式与传统行业的产品有着很大的区别。硬件产品可以伴随着技术的进步以及市场的需求变化逐渐淘汰出市场,更换出新的一系列产品。但是软件系统却不可以彻底的更换代替,自己能在原有的基础上升级更新。因为软件往往是企业信息的延续,是企业长期发展赖以延续的命脉所在,如果支撑企业发展的软件不具有在原有基础上良好的扩展性,当企业的业务面临改变时,我们的软件又要如何去应对?如果新的系统不能和老系统很好的兼容,那么老系统的数据,新系统又要如何去重新利用?这种信息上的损失是难以用金钱来衡量的。对于软件来说,前期的开发只是整个项目的一部分。在后期的使用中,升级以及维护往往需要更大的成本,这就要求软件系统需要有很好的延展性。最理想的软件系统应该如同计算机的硬件系统,各个模块相对独立而且健壮,一部分出了问题不会危及到整个系统的运行。各个硬件之间的影响非常小,设备与设备之间实现完全的透明化,只要有通用的接口,设备之间就可以良好协作。为了实现这样的高度模块化,我们应致力于将各组件以松耦合的方式组织在一起,让应用之间的耦合停留在接口层次,而不是代码层次。 图2.1 Java EE应用框架2.2 JSP/Servlet技术JSP是最早的Java EE规范之一,也是最为经典的Java EE技术之一,直到今天,JSP技术依然广泛的使用于Java EE框架当中作为表现层。JSP技术具有简单易于使用等特点,并且JSP技术学习路线平坦,没有技术门槛,在国内有着大量的JSP学习资料,所以大部分的Java EE开发者都会选择从JSP技术开始学习。Servlet和JSP技术是完全统一的,二者在底层的运行原理完全相同。实际上JSP必须被Web服务器编译成Servlet,正真的Web服务器内运行的全部都是Servlet,从这个意义上看,JSP相当于一个“草稿”文件,Web服务器根据该“草稿”提供的内容来生成Servlet,正真提供HTTP服务的是Servlet,因此广义上的Servlet包含了JSP和Servlet。就目前的Java EE应用来看,纯粹的Servlet已经很少使用,毕竟Servlet的开发成本太高,而且使用Servlet充当表现层将会导致页面难以维护,不利于美工人员参与Servlet的开发,所以在实际开发中大都使用JSP充当表现层。JSP比较简单,它的特点是在简单的HTML页面中嵌入Java代码,或者使用用户自定义的标签,从而可以动态的提供页面的内容。早期JSP页面的使用非常的广泛,一个Web应用可以完全由JSP页面组成,而辅助一少量的JavaBean即可。自从Java EE规范出现以来,人们逐渐意识到用JSP来担当多重角色是不恰当的。因此,JSP技术逐渐发展成为一种表现层技术,不再承担业务逻辑组件及持久层组件的功能。2.3 开发工具介绍Eclipse平台是IBM向开源社区捐赠的开发框架,IBM宣称为开发Eclipse投入了4千万美元,这种巨大的投入开发出这样一个成熟的精心设计的可扩展开发工具。Eclipse允许增加新的工具来扩展Eclipse的功能,这种新的工具就是Eclipse的插件。对于时下的软件开发者而言Eclipse是一个免费的集成开发环境,而且Eclipse并不仅仅局限于Java开发,它可以支持多种语言的开发。而在目前免费的Java开发工具中,Eclipse是最受欢迎的。Eclipse本身所提供的功能比较有限,但是它数量庞大的插件则可以大大提高它的功能水平。Eclipse的插件非常的多,比如Lomboz,MyEclipse等。借助这些插件,Eclipse工具的表现非常的出色。2.4 数据库MySQL简介MySQL是一个轻量级的关系型数据库,由于众多的优点,被广泛的应用于许多的中小型企业,受到广泛的认可。它占据的体积小,并且运行轻便,企业维护成本相对较小,企业为了降低这一方面的成本,大部分会考虑该款数据库作为其基础的数据库。作为一个关系型数据库,MySQL与Oracle 以及DB2相比,功能以及容量远不是一个数量级的,对于大型的企业而言,可能不是一个好的选择。但是对于中小企业来说,MySQL却具有着其他大型数据库无法比肩的优点,首先作为一个开源的数据库,MySQL的配置以及安装更为灵活,企业不需要为它花费太多的成本,而且也可以大大降低使用过程中的运营成本。作为一个基础数据库,MySQL的功能对于普通的中小企业来说已经绰绰有余了。并且MySQL为多种编程语言提供API接口,包括C,C+,C#,Java,PHP等语言。并且提供的不同数据库的连接路径,其中Java主要通过JDBC连接。数据库连接JDBC是用于执行SQL语句的Java API,可以为多种数据库提供统一的连接服务。JDBC在系统中的作用是为系统提供一个统一的数据库连接,发送用于操作数据库的指令,并且返回处理结果。对于数据库连接的管理,明显可以体现整个系统的健壮性以及可延展性。通常对于访问量较高的的系统而言,直接提供JDBC连接会导致整个系统的瘫痪,因为有时急速上升的访问量会使得数据库服务器过载而无法正常使用,因此会使用数据库连接池来解决这一问题。数据库连接池在初始化的时候会创建一定数量的数据库连接放在数据库连接池中。连接池中可以使用的连接数量由数据库连接池初始化时设定的最大数量决定。如果访问数量大于连接池中的数据连接数量,该访问请求便会被安排在队列中等待被执行。连接池的的核心机制在于连接数量的管理策略。解决好连接池内的连接和释放数量可以更大限度的释放系统的性能。3 天马商城业务需求分析3.1 天马购物商城总体需求分析网络购物平台作为一个线上系统,业务逻辑十分的繁杂,同时又要面临着高并发操作对于系统稳定性的考验,所以业务逻辑主线必须十分清晰才可以满足开发方面的严峻需求。同时面临随时都会增加的业务需求,系统必须拥有一个比较好的扩展性才可以在日后的升级换代中稳占鳌头。设计的目标是可以在预定的开发周期以及开发经费中高质量的满足所有业务方面的需求,并且可以保证其使用过程中的稳定性。在此基础上我们决定采用J2EE平台规范,因为J2EE拥有广泛的组件支持,其优秀的跨平台特性可以显著提升开发的效率以及其扩展性。在此基础上我们要对项目进行初步的建模过程,将业务主线逐渐划分为不同模块分布开发。即系统主要划分为前台模块以及后台模块,前台面向消费者,提供其对于商品的查询以及购买活动,后台负责整个商城的管理业务。先搭建好整体框架,然后各个模块垂直开发,缩减时间成本。只要按照计划进行,整体的开发难度不是非常的大.3.2 天马购物商城角色用户需求分析 本系统主要有三类主要的用户,针对这三类用户提出不同的需求,以满足各自的购物需求。3.1.1非注册用户非注册用户是一个网站成长非常重要的部分,因为现在的简单浏览有可能就是下一步购买的开始,所以在商品展示上要务必丰富充实,尽量吸引游客的点击。开始登录本系统的都属于游客即非注册用户,可以浏览各类的商品并且进行商品查询,在页面的左边部分还可以根据商品的分类来点击查询,但是游客是不具备购物结算权利的,只有当登录以后才可以进行购物结算操作,其功能如图3.1所示。图3.1非注册用户3.1.2注册用户而如果是第一次进行天马商城购物的游客则需要首先进行注册操作,注册的过程中需要游客提供较为完备的信息,包括登录名以及密码等,注册成功以后就可以顺利登录系统。在选购到合适的商品时点击购买便可以将该商品添加至购物车内,如果购买完毕点击购物车进行结算操作,在这里会显示出顾客所购买商品的种类以及数量,在页面的下面则会显示出本次购物的价格,如果确认无误只需点击结算按钮便可以进入到下一个操作,如果对于某些商品的种类或者数量不满意,点击修改按钮即可修改数量或者直接从购物车中删除该商品。待到确认了商品之后需要添加地址才可以,每个用户名都关联了各自的地址,用户可以添加新的地址,点击确定便可以生成最后的发货单,这里有商品信息以及发货地址信息,用户在这里进行最后的确认操作,如果没有问题,点击订单发送便结束了最后的购物过程,这是作为买家的主要工作流程,其流程如3.2所示。图3.2注册用户3.1.1管理员还有最重要的一个角色管理员,管理员负责整个商城的控制,这其中包括商品的添加,商品信息的修改,买家信息的审核以及订单的管理等,在普通管理员的基础上还有一个超级管理员的角色,某些操作只能由该超级管理员进行,比如普通管理员的添加以及上架商品的删除等权限,其流程如图3-3所示。图3-3管理员3.3天马商城购物车模块分析作为一个商城的购物车,其最大的功能在于作为顾客所购买商品的载体。顾客将所要购买的商品添加进购物车当中,在结算前还可以将所购买的物品进行数量以及种类的调整。在最后的结算中,将临时存储于购物车中的物品转变为订单,存储于系统中等待处理。这样的购物车需要满足如下的几个需求:1) 可查看。买家可以随时点击购物车来查看所购买的商品情况,如果需要继续购买,点击返回便可以。2) 会计算。购物车可以根据顾客购买的商品单价以及数量计算出目前购物车中的商品价格。3) 可修改。如果顾客对于所购买的商品数量不太满意可以直接在购物车中进行相应的修改操作。4) 大容量。作为一个虚拟的购物车,必须要具有非常的容量,来方便顾客的购物行为。针对以上需求,有如下功能模块如图3-4所示。 图3-4 购物车功能图3.4天马商城地址管理模块分析每一位顾客都可能有多个发货地址,如果每一次购物都需要添加新的地址,对于购物者来说是一个非常不愉快的经历,所以必须有一个地址管理模块可以记录顾客每一次新录入的地址,等到下一次使用时只要点击相应地址下的确认按钮,便可以完成地址录入操作。这样的地址管理模块需要如下的几个功能才可以:1) 可添加。购物者只需要点击页面中的添加按钮便可以进入到地址录入页面,在该页面中顾客需要按照要求添加地址以及收货人信息,确认添加后便会自动返回地址管理模块页面中。2) 可修改。已经添加的信息可以在点击了编辑按钮后进行修改操作,操作后相应信息便会即可刷新。3) 存量大。对于用户的收货地址,在这里不做限制,系统提供足够大的内存来满足用户添加大量地址的需求。这个模块看似简单,实际上要与用户相关联,每当进入该模块的时候,收货地址信息就要自动刷新。4 天马商城的设计与实现在上一阶段的需求分析结束之后,就需要对于天马商城进行具体的设计与实现,其最大的目标在于实现系统物理方面的功能。4.1设计目标网络购物平台作为一个线上系统,业务逻辑十分的繁杂,同时又要面临着高并发操作对于系统稳定性的考验,所以业务逻辑主线必须十分清晰才可以满足开发方面的严峻需求。同时面临随时都会增加的业务需求,系统必须拥有一个比较好的扩展性才可以在日后的升级换代中稳占鳌头。设计的目标是可以在预定的开发周期以及开发经费中高质量的满足所有业务方面的需求,并且可以保证其使用过程中的稳定性。本系统通过用户权限的设定,对不同功能模块进行划分,针对游客会员以及管理员的功能需求进行相应的实现,最终开发天马网上建材家装购物平台。4.2系统结构设计4.2.1 系统体系结构设计 本系统主要采用B/S模式设计,对于用户以及管理员来说,只要在浏览器上登录系统便可以实现所需要的操作。因而整体的体系结构分为三层:(1) 用户层用户层包括游客以及管理员,主要是通过浏览器来实现功能。用户通过浏览器向业务层发送请求以及命令。而业务层在进行了相关的处理之后会以html页面的形式将处理结果反馈给用户。(2) 业务层 该层主要用于处理客户提出的各类请求,包括用户的登录,商品信息的查询,购物车结算,收货地址管理以及最后的订单发送等操作。业务层是整个系统的核心,连贯着用户层以及数据层。(3) 数据层 数据层的主要主要功能在于交易数据以及用户信息的存储及管理功能。对于业务层发送的变更数据请求。数据层通过相应的语句予以实现。数据层不仅仅承担存储数据的责任,而且还可以提供各类交易数据的增删改查操作。4.2.2 系统功能模块设计本系统主要分为两大主要的功能模块,一个是针对用户的购物模块,而另一个则是针对管理员的商城运营管理模块。两个模块根据功能的不同而采用了不同的模块化设计,如图4-1所示展示了功能模块的细分。图4.1 用户服务模块图4.2 系统管理模块4.3系统详细设计4.3.1系统数据库设计对于一个购物平台来说,数据往往是一个企业长久发展的基石,因此数据库的前期设计以及后期的维护就相当的重要。不仅仅要满足目前企业的业务需求,还要为日后企业的升级做好预留字段的准备,数据库字段的设计务必要精准严谨。本系统根据功能需要设计了数据库,下图将对各个数据表的功能做出阐述:实体描述userInfo注册用户信息,包括了用户的用户名,密码,邮箱,电话等信息adminInfo管理员信息,包括管理员的用户名,密码以及管理员级别(超级管理员,普通管理员)goodsInfo商品信息,包括商品的名称,编号,简介,价格,库存数量,商品种类,上架日期等orderInfo订单信息,用来记录订单生成的时间,买家姓名,出售日起,总价格以,订单编号,订单状态(已发货,未发货)receiverInfo收货地址信息,记录收货人,收货地址,收货人电话以及收货信息编号4.3.2登录首页面设计不论是注册用户还是非注册用户都可以登录到商城的首页面中进行浏览以及查询,但是非注册用户会在结算时被告知需要登录方可进行购买。将商品信息从数据库中查询并展示在Jsp页面中的代码如下:% Vector vgoods = (Vector)request.getAttribute(vgoods);if(vgoods=null)mycart.setCurPage(1);int nowpage = mycart.getCurPage(); String gsql = select Gimgurl,Gname,Gintro,Gclass,+ Gprice,Glook,Gid from GoodsInfo; int totalpage = DBcart.getTotalPage(select count(*) from GoodsInfo); mycart.setTotalPage(totalpage); mycart.setSql(gsql);vgoods = DBcart.getPageContent(nowpage,gsql);for(int i=0;i上面这段代码通过在Jsp页面嵌入Java脚本将所需要查询的Sql语句传入后方的DBcart类中实现商品信息的查询,然后通过循环语句将这些信息在页面中展示出来。4.3.2 持续层的设计实现原理本系统中有一个专门的DBcart负责与数据库的连接功能,前端的业务层只要将所需要操作的Sql语句传入DBcart类中的特定方法中便可以实现对数据库的操作并且得到相应的返回结果。其中DBcart类的代码如下:public static Vector getInfoArr(String sql)Vector vtemp = new Vector();tryContext initial = new InitialContext(); DataSource ds = (DataSource)initial.lookup(java:comp/env/jdbc/cartds); Connection con=ds.getConnection(); Statement st = con.createStatement(); ResultSet rs = st.executeQuery(sql); ResultSetMetaData rsmt = rs.getMetaData(); int count = rsmt.getColumnCount(); while(rs.next() String str = new Stringcount; for(int i=0;icount;i+) stri = rs.getString(i+1); vtemp.add(str); return vtemp;DBcart类与数据库实现数据映射的配置文件设置在WEB.xml文件中,其代码如下: DB Connection jdbc/cartds javax.sql.DataSource Container在Tomcat安装目录下conf目录下server.xml中最后的“”标记之前添加如下配置: 4.3.3请求响应以及转发的实现原理在用户登录以及订单提交等操作中需要有一个类来响应Jsp页面发出的请求,我在系统中分别设置了CartServlet以及AdminServlet来分别满足用户的操作请求以及管理员的操作请求。以下是部分CartServlet的代码来展示其实现原理:public class CartServlet extends HttpServletpublic void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException this.doPost(request,response); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException /设置编码格式 request.setCharacterEncoding(gb2312); response.setContentType(text/html;charset=gb2312); response.setCharacterEncoding(gb2312); /拿到session对象 HttpSession session = request.getSession(tru
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内科深静脉血栓
- 2025年中国沐浴刷和网状海绵行业市场全景分析及前景机遇研判报告
- 培训机构年度自查报告
- 家庭教育教师培训
- 平面测量培训课件
- 中班健康领域《我的五官》公开课教案
- 妊娠糖尿护理诊断与术后管理
- 中班安全教育课件
- 胆道镜检查的护理
- 特色餐饮门面房租赁协议(包含经营指导及品牌支持)
- 2023年宁夏银川市西夏区北京西路街道社区工作人员考试模拟题含答案
- GB/T 23932-2009建筑用金属面绝热夹芯板
- 防静电手环测试指导书
- 机电控制工程
- 码头承包经营合同
- 建筑工程防水(防渗漏)处理PPT
- WTO世界贸易组织概论期末复习题
- 温病学讲义刘景源
- 校企共建校内实训基地协议模版
- 嵌顿疝病人应急预案
- 影响全国房价因素的多元回归分析-中南财经政法大学《统计分析软件》论文报告
评论
0/150
提交评论