毕业设计(论文)-基于Java开发的网上购物商城设计.docx_第1页
毕业设计(论文)-基于Java开发的网上购物商城设计.docx_第2页
毕业设计(论文)-基于Java开发的网上购物商城设计.docx_第3页
毕业设计(论文)-基于Java开发的网上购物商城设计.docx_第4页
毕业设计(论文)-基于Java开发的网上购物商城设计.docx_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

嘉应学院本科毕业论文(设计)( 2015届) 题 目: 基于Java开发的网上购物商城 姓 名: 学 号: 学 院: 计算机学院 专 业: 软件工程 指导老师: 嘉应学院VI全套设计加153893706摘 要随着经济的市场化与全球化和互联网的普及和发展,电子商务作为一种独立的经济形态,已经越来越来接近我们的生活,网上购物已经逐渐被越来越多的人所接受和认可。在这一市场需求的推动下,众多企业对传统的零售方式进行创新,通过电子商务来进行来拓展营销渠道、扩大市场,提高营销的效率和树立企业形象。本系统服务器采用apache,数据库采用MySQL,使用Hibernate来对数据库进行操控,使用Strust2把JSP页面和Java后台进行数据交换。为满足人们对用户体验的追求,本系统在设计此网站时尽量做到界面友好,容易操作。本系统是基于B/S架构的网上购物商城,便于顾客的操作和商家的日常维护简单。【关键词】电子商务,网上购物,购物商城,Java,,B/S。AbstractAs the economy marketization and globalization and the popularization of Internet and development of electronic commerce, as a kind of independent economic form, has been more and more close to our life, online shopping has gradually become more and more people have accepted and approved. Driven demand in the market,many enterprises of innovation in the form of traditional retail through e-commerce to expand marketing channels, expanding the market, improve the efficiency of the marketing and sets up the enterprise image.Server using apache, this system USES the MySQL database, using Hibernate to manipulate the database, use the JSP page Strust2 and Java background for data exchange. To satisfy peoples pursuit for the user experience, this system when designing this website try to be friendly interface, easy to operate. This system is based on B/S structure of online shopping mall, facilitate the operation of the customer and vendor maintenance simple.【 key words 】 the e-commerce, online shopping, shopping mall, Java, B/S.目录摘 要2第1章 绪论61.1 课题背景61.2 目的和意义71.3 开发环境简介71.3.1 MyEclipse简介71.3.2 apache简介71.3.3 MySQL简介81.4系统运行要求81.4.1 硬件要求81.4.2 软件要求8第 2 章 可行性分析92.1 经济可行性92.2 操作可行性92.3 技术可行性92.3.1 系统采用的模式 B/S模式简介92.3.2 系统采用的开发语言 HTML简介 CSS3简介 JavaScript简介 Java简介112.3.3 系统采用的框架 Hibernate简介 Struts简介12第 3 章 需求分析123.1 系统功能需求分析123.1.1前台要实现的功能:123.1.2 后台管理功能:133.2 系统功能模块数据流图143.2.1系统总体结构143.2.2网站流程图153.3使用对需求进行建模分析153.3.1管理员用例分析163.3.2管理员添加商品用例图16第 4 章 总体设计174.1 总体设计的任务174.2系统架构设计174.2.1系统架构选择174.2.2体系架构方案184.2.3系统中项目文件组织结构194.3数据库设计194.3.1 数据库选择194.3.2 数据库编码194.3.3数据库概要设计194.3.4系统E-R数据模型204.4详细数据字典204.4.1数据表的设计20第 5 章 详细设计245.1 注册模块设计245.1.1模块及流程简述245.1.2模块主要代码文件245.1.3模块界面设计245.1.4 核心功能代码245.2 登录模块265.2.1模块及流程简述265.2. 2模块主要代码文件265.2.3模块界面设计265.2.4 核心功能代码265.3 个人中心模块设计275.3.1模块及流程简述275.3.2 模块主要代码文件275.3.3 模块界面设计285.3.4 核心功能代码285.4 购物车模块设计295.4.1模块及流程简述295.4.2 模块主要代码文件295.4.3 模块界面设计305.4.4 核心功能代码305.5 订单模块设计345.5.1模块及流程简述345.5.2 模块主要代码文件345.5.3 模块界面设计345.5.4 核心功能代码345.6 留言板模块设计365.6.1模块及流程简述365.6.2 模块主要代码文件365.6.3 模块界面设计375.6.4 核心功能代码37第 6 章 系统测试416.1 测试方法416.1.1 单元测试方法简述416.1.2 白盒测试方法简述4. 条件覆盖426.1.3 黑盒测试方法简述4 等价划分426.2 测试用例426.2.1 注册登录模块42第 7 章 系统特色与不足447.1 系统特色447.2 系统的不足44参考文献44致谢46第1章 绪论1.1 课题背景网上购物系统是一套完整的商品信息管理系统,它协助企业运用先进的系统完成从日常上屏的管理查询到复杂商品上架、商品推荐等工作,甚至辅助企业实现更高的经营决策。网上购物系统把企业繁琐而不易于量化的日常事务集中到一个统一的平台上进行处理,把企业的所有商品集成一个大的商品贮存库;企业的不同商品,不同级别的成员在该平台上有者各自的权限,在有权限地分享商品的资源,有效地提高了企业的生产力。商品管理,提高企业的执行能力,方便企业对商品的管理,可以降低企业的成本,这样以来,可以方便用户而且由于商品成本减少,企业的效益将会增大。商品展示有很大不同:商品展示管理着重从整体和战略角度,为公司定位产品、市场,建立内部组织结构和外部联盟等;服务管理从具体任务出发,把公司的理想转化为实在的产品或服务。有许多出色的企业,有出色的创意,也不乏雄厚的风险投资,但最终收获果实的是一些模仿者,因为这些模仿者有强大的执行能力,从很大程度上就是丰富的项目管理经验。执行能力的匮乏成了制约许多企业发展的瓶颈,网上商品展示是提高企业竞争能力的有效方法。1.2 目的和意义电子商务的推广,有助于降低企业成本和提高企业竞争力。电子商务给消费者提供了更多的选择,提供了更好的便利性。便于企业树立购物网站的形象。通过此购物网站,用户可以跨越地域限制,随时了解商店,企业能够利用本网站向用户展示商品、经营理念、形象。有利于拓展企业拓展营销渠道,扩大市场,提高营销效率。许多企业都可以通过网站来开展电子营销。电子营销可以拓展新的空调间,接触更大的消费群体,获得更多的新顾客,扩大市场。有利于了解顾客的意见,掌握顾客的需求。通过网上留言功能可以了解客户的意见和心声,加强与顾客间的联系,建立良好的新型顾客关系。1.3 开发环境简介本系统在Microsoft Windows XP下,使用MyEclipse-10.0作为集成开发环境,服务器选用Apache-7.0.22,数据库选用MySQL -5.5。1.3.1 MyEclipse简介MyEclipse企业级工作平台是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。1.3.2 apache简介Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。Apache HTTP Server是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。1.3.3 MySQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL是一个数据库管理系统,一个数据库是一个结构化的数据集合。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。4MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。1.4系统运行要求1.4.1 硬件要求 CPU:速度在500MHz或以上。CPU的处理速度越快,代码跑起来也越流畅。 内存:最低配置32MB,建议使用64MB以上内存,如果使用Windows 2000或Windows XP建议使用128MB以上内存。 硬盘空间:至少需要200MB以上的硬盘空间。1.4.2 软件要求操作系统要求:Microsoft Windows XP或以上。服务器要求:apache6.0以上数据库要求:MySQL 5.0以上。浏览器要求:IE6.0及以上。第 2 章 可行性分析计算机网络作为一种先进的信息传输媒体,有着信息传输速度快、信息覆盖面广、成本低的特点。因此很多个人和企业都开始利用网络开展商务活动,可以看到,在个人和企业进行网上商业活动时产生的效益是多方面的。但是开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在对接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发的风险,避免人力、财力和物力的浪费。可行性分析与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。2.1 经济可行性 开发费用不是很高,将来运行、维护的费用依数据库的规模而定。估计该系统投入使用后,可以为人们的购物带来方便。不过,如果在投入使用之后,可能会花费一笔钱,用于网站平时维护,因为人们在购物结束之后,管理员必须对商品、订单等进行统计,还有要定时发布商品的消息。2.2 操作可行性此购物网站具备清新友好的用户界面,操作简单,使用方便、快捷,功能丰富,易于维护。无论用户是网购达人,或者还是一个网购新手,在此购物网站注册登录后,都可以很快熟悉该网站,并迅速成为购物达人。从用户操作方面看,此系统的开发是可行的。2.3 技术可行性2.3.1 系统采用的模式本系统采用的模式为B/S模式。 B/S模式简介B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,B/S结构以TCP/IP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。52.3.2 系统采用的开发语言 HTML简介超文本标记语言或超文本链接标示语言(标准通用标记语言下的一个应用)HTML(HyperText Mark-up Language)是一种制作万维网页面的标准语言,是万维网浏览器使用的一种语言,它消除了不同计算机之间信息交流的障碍。它是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文件是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML文件的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。HTML文件是可以被多种网页浏览器读取,产生网页传递各类资讯的文件。从本质上来说,Internet( 互联网)是一个由一系列传输协议和各类文档所组成的集合,html文件只是其中的一种。这些HTML文件存储在分布于世界各地的服务器硬盘上,通过传输协议用户可以远程获取这些文件所传达的资讯和信息。 CSS3简介CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。 只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。CSS3是CSS技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。使用CSS3,可以以很简单的形式创建精美的动画效果。 JavaScript简介JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。8它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司(已被oracle收购)的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型(Document Object Model,简称DOM),浏览器对象模型(Browser Object Model,简称BOM)。 Java简介Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。7Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。2.3.3 系统采用的框架 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。1 Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。 Struts简介Struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。Struts 是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Struts 框架的核心是一个弹性struts的控制层,基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts由一组相互协作的类(组件)、Servlet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。2第 3 章 需求分析3.1 系统功能需求分析随着Internet的发展,电子商城已成为21世纪网络发展的主流,网上购物也成为一种购物时尚。目前国内很多企业正加入到一些电子商城里,通过网络进行交易将成为未来商品交易的重要组成部分。而人民生活水平的提高和生活节奏的加快,工作中的人民没有大量的时间花在购物上,所以网上购物也已经成为了一种时代进步的产物。人们可以在家,也可以在工作休息时,在网上挑选自己喜欢和想要购买的东西,所以,一些网站的存在起到了很大的作用。 根据本网站主要任务和系统的需求,确定本网站系统设计目标;3.1.1前台要实现的功能:由于在商场进行购物的顾客是来自不同的群体,如何帮助他们正确使用购物过程中的操作和技巧,尽快投入到购物中,必须在这个设计中体现出来。(1)界面友好,操作简单,提供大量的使用和提示说明。(2)提供会员制;可以对自己的注册资料进行修改,可以进入系统查询商品,订购商品;可以查看自己的订单处理。(3)提供最新、促销商品信息的浏览。(4)对站内所有的商品进行分类。(5)显示商品的具体信息时,要详细显示商品的大部分信息,并注明不同用户和不同产品价格区别,并能够提供对同类相关产品的显示。(6)允许会员用户对商品进行评论。未注册的顾客可以浏览评论内容。(7)为了更好的与用户进行沟通,给用户提供留言功能,以利于用户与商城管理员之间的交流。(8)对于用户购买物品到提交订单整个流程要做到简单明了、安全,尽量模拟现实购物的习惯。对于购物车内的物品要使用列表一一显示出来,并提供删除服务功能,对于重复购买的物品要累加计算。在用户提交订单时要提供多种运送方式,并对信息提供重复审核的功能。(9)整个界面以蓝色为主色调,布局同意,用CSS同意整个版面的样式。系统结构清晰,功能明确,页面风格鲜明,易操作。3.1.2 后台管理功能:要能够对网站绝大部分的动态信息直接操作,尽量不改动页面。提供系统管理会员管理,类别管理,订单管理,商品管理,留言管理等。(1) 会员管理模块对注册的会员统一管理以及会员手机短信的管理。(2)类别管理模块对系统中的商品类别进行管理,在该模块中管理员可以对商品类别进行添加和管理。(3)订单管理模块在该模块中对当前订单进行处理和确认。(4)商品管理对商品进行添加管理和管理及对商品评价进行管理。(5)留言管理模块对客户留言进行处理解决。3.2 系统功能模块数据流图3.2.1系统总体结构表3-1前台功能模块图 表3-2 后台功能模块图3.2.2网站流程图本系统功能流畅,操作简单,具体操作如图所示: 表3-3 网站流程图 3.3使用对需求进行建模分析系统建模的目的就是通过某种工具对某事物进行描述,因此为了很好的描述该信息系统,让开发人员与业务人员进行沟通,我们采用Microsoft OfficeVisio作为建模工具来描述该系统。统一建模语言(UML)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。9UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。3.3.1管理员用例分析表3-4管理员用例图3.3.2管理员添加商品用例图表3-5管理员添加商品用例图第 4 章 总体设计4.1 总体设计的任务总体设计是在系统分析的基础上由抽象到具体的过程。根根据用户需求分析阶段得到的目标系统的逻辑模型确定一个合理的软件系统的体系结构。包括划分组成系统的模块,模块间的调用关系及模块间的接口关系,软件系统所用的数据结构或者数据库结构。4.2系统架构设计4.2.1系统架构选择在可定制工作流的工程综合管理系统中,将采用B/S模式的结构。目前使用和发展的MIS系统平台模式大体上分为两种:客户机/服务器模式(简称C/S)和Web浏览器/服务器模式(简称B/S)。B/S模式是一种以Web技术为基础的新型的MIS系统平台模式,它把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系,它简化了客户端。其次,它简化了系统的开发和维护。各个用户通过Http请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。相对于C/S,B/S的维护具有更大的灵活性。另外,它使用户的操作变得更简单。C/S模式的客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件,无论是决策层还是操作层的人员都无需培训,就可以直接使用。C/S模式主要由客户应用程序、服务器管理程序和中间件三个部分组成。首先,交互性强是C/S固有的一个优点。在C/S中,客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。其次,C/S模式提供了更安全的存取模式。由于C/S配备的是点对点的结构模式,采用适用于局域网、安全性可以得到可靠的保证。而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总经B/S快,使得C/S更利于处理大量数据10。B/S网络结构模式是基于Internet需求而出现并发展的。Internet是应用TCP/IP协议建立的企事业单位内部专用网络,它采用诸如TCP/IP、http、html等Internet技术和标准,能为企事业单位内部交换信息提供服务。同时,它具有连接Internet的功能和防止外界入侵的安全措施。另一方面,由于数据库具有强大的数据存储和管理能力,并且能够动态地进行数据输入和输出,如果把数据库应用于Internet上,不仅可以实现大量信息的网上发布,而且能够为广大用户提供动态的信息查询和数据处理服务,进而加强企事业单位内部部门之间、上级部门与下级部门之间、企事业单位员工之间、企事业单位与客户之间以及企事业单位与企事业单位之间的信息交流,降低企事业单位的日常工作成本,提高企事业单位的经济效益11。4.2.2体系架构方案本购物商城采用现在比较流行,比较成熟的MyEclipse 10.0开源框架技术。MyEclipse 10.0是一个免费开源的,快速、简单的面向对象的轻量级JAVA开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业级应用开发而诞生的。MyEclipse 10.0借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的表现4。本购物商城体系结构如图3所示:图3 创新平台MVC体系架构Fig.3 MVC architecture of innovation platformMVC 是一种将应用程序的逻辑层和表现层进行分离的方法。本购物商城也是基于MVC设计模式的。MVC只是一个抽象的概念, MVC分层大致体现在:模型(M):模型的定义由Model类来完成。控制器(C):应用控制器(核心控制器App类)和Action控制器都承担了控制器的角色,Action控制器完成业务过程控制,而应用控制器负责调度控制。视图(V):由View类和模板文件组成,模板做到了100分离,可以独立预览和制作。4.2.3系统中项目文件组织结构文件及窗体文件及窗体名Base公共文件夹Filter过滤器存放文件夹ORM实体类存放文件夹Service实现类存放文件夹StrutsAction存放上传文件Admin后台页面文件夹CSS/ stylescss文件夹Images/img图片存放文件夹scriptsjavascript存放文件夹templates模板页面存放文件夹tldStruts配置存放文件夹4.3数据库设计4.3.1 数据库选择系统使用MySQL数据库,MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。4.3.2 数据库编码为避免显示中文时显示乱码,数据库采用UTF-8编码格式,UTF-8是UNICODE的一种变长字符编码又称万国码,现在已经标准化为RFC 3629。4.3.3数据库概要设计 本系统共有10张表:管理员表、购物车列表、购物车详细列表、购物车详细备份表、商品目录表、留言表、会员表、会员等级表、商品表、订单表。4.3.4系统E-R数据模型4.4详细数据字典4.4.1数据表的设计表4-1 管理员表(admin)中文字段名称英文字段名称类型默认说明管理员IDIDint(4)主键管理员的分类AdminTypeint(4)NULL管理员真实名字AdminNameVachar(12)NULL管理员登陆名字LoginNameVachar(12)NULL管理员登陆密码LoginPwdVachar(12)NULL表4-2 购物车列表(cart)中文字段名称英文字段名称类型默认说明购物车IDIDint(4)主键购买者的IDMemberint(4)商品总价格MoneyDecimal(8)NULL购物车状态CartStatusint(4)NULL表4-3购物车详细列表(cartselectedmer)中文字段名称英文字段名称类型默认说明购物车详细表IDIDint(4)主键购物车IDCartint(4)商品IDMerchandiseint(4)数量Numberint(4)商品单价PriceDecimal(8)合计MoneyDecshagngouimal(8)表4-4购物车详细备份表(cartselectedmer_copy)中文字段名称英文字段名称类型默认说明购物车IDIDint(4)主键购买车的IDCartint(4)商品IDMerchandiseint(4)数量Numberint(4)商品单价PriceDecimal(8)合计MoneyDecimal(8)表4-5商品目录表(category)中文字段名称英文字段名称类型默认说明目录IDIDint(4)主键目录名称CateNameVachar(40)NULL简介CateDesctextNULL表4-6留言表(leaveword)中文字段名称英文字段名称类型默认说明留言IDIDint(4)主键留言者IDMemberint(4)管理员IDAdminint(4)NULL主题TitleVachar(60)NULL内容ContenttextNULL留言时间LeaveDatedatetimeNULL回复内容AnswerContenttextNULL回复时间AnswerDatedatetimeNULL表4-7 会员表(member)中文字段名称英文字段名称类型默认说明会员IDIDint(4)主键会员等级Memberlevelint(4)会员密码LoginPwdVachar(12)NULL会员名字LoginNameVachar(12)NULL真实姓名MemberNameVachar(20)NULL留言时间PhoneVachar(15)NULL地址AddresstextNULL注册时间RegDatedatetimeNULL最后一次登陆时间LastDatedatetimeNULL登录时间LoginTimesint(4)NULL邮箱EMailVarchar(100)NULL表4-8会员等级表(memberlevel)中文字段名称英文字段名称类型默认说明会员等级IDIDint(4)主键等级名称LevelNameVachar(20)NULL折扣Favourableint(4)NULL表4-9商品表(merchandise)中文字段名称英文字段名称类型默认说明商品IDIDint(4)主键目录IDCategoryInt(4)商品名称MerNameVachar(12)NULL价格PriceDecimal(8)NULL优惠价SPriceDecimal(8)NULL商品型号MerModelVarchar(40)NULL图片地址PictureVarchar(100)NULL描述MerDesctextNULL厂家ManufacturerVarchar(60)NULL生产日期LeaveFactoryDatedatetimeNULL是否推荐SpecialInt(4)NULL表4-10订单表(orders)中文字段名称英文字段名称类型默认说明订单IDIDint(4)主键会员IDMemberInt(4)购物车IDCartInt(4)价格OrderNOVarchar(20)NULL下单日期OrderDateDatetimeNULL订单状态OrderStatusInt(4)NULL第 5 章 详细设计5.1 注册模块设计5.1.1模块及流程简述注册模块让用户注册为本系统会员。用户进入购买前必须要进行注册,用户在注册窗口输入个人信息,需提交的信息有:真实姓名、用户名、密码、确认密码、联系电话、联系地址、邮政编码、电子邮箱。点击确认后,系统会核对用户提交的信息会不会与数据库的资料冲突。如果与数据库的资料冲突,则提醒用户修改资料。5.1.2模块主要代码文件l 会员注册:reg.jspl 系统核对信息并提供反馈: register.js5.1.3模块界面设计5.1.4 核心功能代码public ActionForward reg(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) MemberForm memberForm = (MemberForm) form;MemService service = new MemServiceImpl();ActionMessages msgs = new ActionMessages();tryMember mem = new Member();mem.setMemberlevel(service.loadMemberLevel(memberForm.getMemberlevel();mem.setMemberName(memberForm.getMemberName().trim();mem.setLoginName(memberForm.getLoginName().trim();mem.setLoginPwd(memberForm.getLoginPwd().trim();mem.setLoginTimes(new Integer(0);mem.setRegDate(new Date();mem.setLastDate(new Date();mem.setAddress(memberForm.getAddress().trim();mem.setPhone(memberForm.getPhone().trim();mem.setZip(memberForm.getZip().trim();if (memberForm.getEmail()!=null)mem.setEmail(memberForm.getEmail().trim();boolean status = service.addMember(mem);if (status)msgs.add(addMemStatus,new ActionMessage(Constants.MEMBER_REG_SUC_KEY);elsemsgs.add(addMemStatus,new ActionMessage(Constants.MEMBER_REG_FAIL_KEY);saveErrors(request, msgs);catch(Exception ex)(在执行MemAction类中的reg方法时出错:n);ex.printStackTrace();return mapping.getInputForward();5.2 登录模块5.2.1模块及流程简述用户在成功注册为本系统会员后,经登录进入系统。用户在登录时需输入注册邮箱、密码,并填写随机生成的验证码。点击提交按钮系统会核对用户的登录信息,核对无误后方可进入系统。如果用户没有到注册邮箱验证,系统给予提示。用户如看不清验证码,可点击“看不清,换一张”,系统会生成一组验证码。5.2. 2模块主要代码文件l 会员注册:login.jspl 验证码生成:login.jsl 核对登录信息:login.js5.2.3模块界面设计5.2.4 核心功能代码public Member memLogin(String loginName, String loginPwd) throws Exception Session session = MySessionFactory.getSession();Transaction tx = null;Member mem = null;tryString hql = select a from Member as a where a.loginName=:loginName and a.loginPwd=:l

温馨提示

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

评论

0/150

提交评论