毕业论文-基于ssh的婴幼儿产品销售系统设计_第1页
毕业论文-基于ssh的婴幼儿产品销售系统设计_第2页
毕业论文-基于ssh的婴幼儿产品销售系统设计_第3页
毕业论文-基于ssh的婴幼儿产品销售系统设计_第4页
毕业论文-基于ssh的婴幼儿产品销售系统设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

基于SSH的婴幼儿产品销售系统摘要随着现代都市生活节奏的不断加快、网络覆盖面的日益扩大,越来越多的人们加入了网上购物的行列。如今,网购已经成为人们生活的一部分。本系统主要是使用JAVA作为开发语言开发出的一个基于SSH的婴幼儿产品销售系统。前台页面使用JSP,系统框架使用STRUTS20SPRING20HIBERNATE32,后台使用ORACLE作为数据库管理系统,服务器采用TOMCAT60,运行环境为MYECLIPSE85。系统的设计主要针对婴幼儿产品的销售,为网站使用定位的目标人群。通过婴幼儿产品销售系统这个平台,可以使购物者足不出户就能了解丰富多彩的婴幼儿产品信息。买家注册登录后进行商品挑选,加入购物车,结算下订单;管理员进入后台管理程序,可完成对注册会员信息进行管理,对商品信息进行管理,处理订单,修改个人密码等功能。此系统参照当前流行的几大婴幼儿产品销售网站进行设计,实现了购物网站的基本功能;在此基础上也添加了一些自己的想法和设计。关键词婴幼儿产品;网上购物;JAVA;SSH;ORACLETHEINFANTPRODUCTSALESSYSTEMBASEDONSSHFRAMEWORKABSTRACTWITHTHEINCREASINGSURFACECOVERAGESPACEOFMODERNURBANLIFE,MOREANDMOREPEOPLEJOINEDTHERANKSOFONLINESHOPPINGTODAY,ONLINESHOPPINGHASBECOMEPARTOFPEOPLESLIVESTHESYSTEMISDEVELOPEDUSINGJAVALANGUAGEDEVELOPEDASASSHBASEDINFANTPRODUCTSALESSYSTEMFRONTPAGEJSP,SYSTEMFRAMEWORKUSINGSTRUTS20SPRING20HIBERNATE32,BACKGROUNDUSINGORACLEASTHEDATABASEMANAGEMENTSYSTEM,SERVERUSINGTOMCAT60,THEOPERATINGENVIRONMENTFORMYECLIPSE85SYSTEMDESIGNSELLSPRODUCTSFORINFANTSANDYOUNGCHILDREN,USEFORTHESITETOLOCATETHETARGETPOPULATIONINFANTPRODUCTSALESSYSTEMTHROUGHTHISPLATFORMALLOWSSHOPPERSTOSTAYATHOMEWILLBEABLETOUNDERSTANDTHEVARIETYOFINFANTPRODUCTINFORMATIONBUYERSOFGOODSAFTERREGISTRATIONSELECTION,ADDTOCART,UNDERTHESETTLEMENTORDERADMINISTRATORMANAGEMENTPROGRAMINTOTHEBACKGROUND,TOBECOMPLETEDBYREGISTEREDMEMBERSINFORMATIONMANAGEMENT,PRODUCTINFORMATIONMANAGEMENT,PROCESSINGORDERS,MODIFYPERSONALPASSWORDSANDOTHERFUNCTIONSREFERRINGTOTHECURRENTSYSTEMOFSEVERALPOPULARINFANTPRODUCTSALESWEBSITEDESIGN,TOACHIEVETHEBASICFUNCTIONSSHOPPINGSITEONTHISBASIS,ALSOADDEDSOMEOFMYOWNIDEASANDDESIGNSKEYWORDSBABYPRODUCTSSHOPPINGONLINEB/SSSHJSP目录摘要IABSTRACTII1绪论111课题背景112目的和意义113开发工具及技术1131开发工具1132JSP2133JAVASCRIPT3134SSH314软硬件需求52可行性分析621技术可行性622经济可行性623操作可行性624法律可行性63需求分析731设计的基本思想732功能模块需求分析733系统用户用例图9331普通用户用例图9332管理员用例图934性能需求10341系统的安全性10342数据库的安全性1035界面需求104系统分析与设计1241数据库的分析与设计12411数据库的概念结构设计12412数据库的逻辑结构设计14413数据库的连接原理155系统功能实现1851普通用户模块18511系统主页面实现18512商品类别查询19513用户注册19514用户信息修改20515购物车21516用户订单确认22517页面销售排行榜与最新商品2252管理员登陆页面2453管理员管理模块25531商品类别管理26532商品信息管理29533会员信息管理31534修改密码32535退出系统336系统测试3461系统测试目的与意义3462功能测试34621主页面的登录模块测试34622主页面的商品模块测试35623用户购物车模块测试35624商品管理模块测试3563性能测试3664测试结论37结论38参考文献39致谢40外文原文41中文翻译531绪论11课题背景互联网的兴起从本质上改变了整个社会的商品交易方式,国内各大企业从上个世纪90年代互联网兴起之时,就产生了通过网络进行销售经营商品的想法。但是由于在互联网上企业的信誉难以认证、网络的法规政策不健全、物流不发达等一系列的原因,限制了网上交易发展的步伐。进入21世纪以后,随着整个社会的发展、进步,制约网上交易的各个瓶颈问题逐一被击破,各企业也纷纷的加入到电子商务的洪潮之中。中国互联网协会网络营销工作委员会调查显示,随着国内产业环境和消费市场的成熟,网络购物将在今年实现更大发展。根据会员企业艾瑞咨询集团的预测,2014年我国网络购物交易将同比增长125,交易总量将达1263亿,形成了中国网络购物的快速增长浪潮,网络购物这一消费方式给人们生活带来的变化,除了购物场所的改变以外,更重要的是大大改变了传统的消费行为习惯,无论是否在网上购物,上网查看产品的相关信息,已经成为购物决策环节的重要组成部分,这一环节对购物行为的实际发生起到了至关重要的指导作用。12目的和意义与传统方式销售相比在线销售有很多的优点如1检索便捷在线销售提供了多种检索途径,可以从分类、新品、特价等途径进行检索,快捷准确。2信息量大与传统销售方式相比,在线销售能够提供海量产品信息。3成本低,风险小,无地域限制网络销售最突出的优点是不再限制消费者的购买时段,扩大和巩固了客户群,从而增加了企业的核心竞争力,节省实际开店时需要投入的成本和租用费用。13开发工具及技术131开发工具此次设计主要采用MYECLIPSE加TOMCAT后台服务器进行,数据存储使用ORACLE数据库进行管理,下面对MYECLIPSE、TOMCAT及ORACLE数据库进行简要介绍。(1)MYECLIPSEMYECLIPSE,是一个十分优秀的用于开发JAVA,J2EE的ECLIPSE插件集合,MYECLIPSE的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是对ECLIPSEIDE的扩展,利用它我们可以在数据库和JAVAEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JAVAEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,SPRING,HIBERNATE,JSP,CSS,JAVASCRIPT,SQL。2TOMCATTOMCAT是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。可以这样认为,当在一台机器上配置好APAHCE服务器,可利用它响应对HTML页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。3ORACLEORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器CLIENT/SERVER或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。能在所有主流平台上运行(包括WINDOWS)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。132JSPJSP技术使用JAVA编程语言编写类XML的TAGS和SCRIPTLETS,来封装产生动态网页的处理逻辑。网页还能通过TAGS和SCRIPTLETS访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于WEB的应用程序的开发变得迅速和容易。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与SERVLET一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。SERVLET是JSP的技术基础,而且大型的WEB应用程序的开发需要JAVASERVLET和JSP配合才能完成。JSP具备了JAVA技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/NET的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的JAR文件就可以运行SERVLET/JSP,到由多台服务器进行集群和负载均衡,到多台APPLICATION进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下(5)支持服务器端组件。WEB应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供WEB页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。内部对象说明REQUEST客户端请求,此请求会包含来自GET/POST请求的参数;RESPONSE网页传回客户端的响应;PAGECONTEXT网页的属性是在这里管理;SESSION与请求有关的会话;APPLICATIONSERVLET正在执行的内容;OUT用来传送响应的输出流;CONFIG代码片段配置对象;PAGEJSP网页本身;EXCEPTION针对错误网页,未捕捉的例外。133JAVASCRIPTJAVASCRIPT是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JAVASCRIPT的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JAVASCRIPT可以开发交互式WEB网页。JAVASCRIPT的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了JAVASCRIPT技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。134SSHSSH在J2EE项目中表示了3种框架,即SPRINGSTRUTSHIBERNATE。STRUTS对MODEL,VIEW和CONTROLLER都提供了对应的组件。SPRING是一个轻量级的控制反转IOC和面向切面AOP的容器框架,它由RODJOHNSON创建。它是为了解决企业应用开发的复杂性而创建的。SPRING使用基本的JAVABEAN来完成以前只可能由EJB完成的事情。HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在SERVLET/JSP的WEB应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。它的优点有(1)SSH把底层进行了很好的封装,开发人员可以更专注于业务处理,开发效率高,层次清晰,易于维护及扩展。(2)SSH把数据库,实体,配置都进行了整合,封装了层次的结构,在框架的融合,代码的耦合有很好的优势,便于编程的持续化,扩展化,维护化。(3)实现MVC模式。结构清晰,使开发者只关注业务逻辑的实现。可以使用丰富的TAG、STRUTS的标记库TAGLIB,能大大提高开发效率。另外提供EXCEPTION处理机制;数据库链接池管理等。下面简单介绍一下SSH中各框架的含义。(1)STRUTSSTRUTS框架结构如图11所示。图11STRUTS框架结构图STRUTS对MODEL,VIEW和CONTROLLER都提供了对应的组件。在上图中,ACTIONSERVLET,这个类是STRUTS的核心控制器,负责拦截来自用户的请求。ACTION,这个类通常由用户提供,该控制器负责接收来自ACTIONSERVLET的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。MODEL部分由ACTIONFORM和JAVABEAN组成,其中ACTIONFORM用于封装用户的请求参数,封装成ACTIONFORM对象,该对象被ACTIONSERVLET转发给ACTION,ACTION根据ACTIONFORM里面的请求参数处理用户的请求。JAVABEAN则封装了底层的业务逻辑,包括数据库访问等。VIEW部分采用JSP实现。STRUTS提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与MODEL的有效交互,并增加了现实功能。对应上图的JSP部分。CONTROLLER组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ACTIONSERVLET。该控制器由STRUTS框架提供,继承HTTPSERVLET类,因此可以配置成标注的SERVLET。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用MODEL来完成处理。对应ACTION部分。(2)SPRINGSPRING的出现是为了解决企业应用开发的复杂性,它使用基本的JAVABEAN代替EJB,并提供了更多的企业应用功能,适用于任何JAVA应用。简单来说,SPRING是一个轻量级的控制反转IOC和面向切面AOP的容器框架。SPRING从大小与开销两方面而言都是轻量的。完整的SPRING框架可以在一个大小只有1MB多的JAR文件里发布。SPRING通过一种称作控制反转(IOC)的技术促进了松耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。SPRING还提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑。它们并不负责其它的系统级关注点,例如日志或事务支持。同时SPRING包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,可以配置你的每个BEAN如何被创建基于一个可配置原型,BEAN可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及,它们是如何相互关联的。SPRING可以将简单的组件配置、组合成为复杂的应用。在SPRING中,应用对象被声明式地组合,典型地是在一个XML文件里。SPRING也提供了很多基础功能(事务管理、持久化框架集成等等)。所有SPRING的这些特征保证更干净、更可管理、并且更易于测试的代码的编写。它们也为SPRING中的各种模块提供了基础支持。(3)HIBERNATEHIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。HIBERNATE的核心接口一共有5个,分别为SESSION、SESSIONFACTORY、TRANSACTION、QUERY和CONFIGURATION。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。14软硬件需求(1)硬件需求CPUPENTIUM以上计算机内存512M以上(2)软件需求操作系统版本WINDOWSXP/VISTA/WIN7开发工具MYECLIPSE85后台服务器APACHETOMCAT60开发语言JAVA浏览器IE、猎豹、GOOGLECHROME浏览器2可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。21技术可行性本系统开发工具是MYECLIPSE和ORACLE数据库,开发语言是JAVA,主要使用了J2EE的技术,JAVA是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了JAVA课程,大四期间也系统的了解了J2EE的知识,本系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。22经济可行性本系统所用的软件都是开源的,为开发软件节省了大量的金钱和时间,达到降低成本,提高开发效率的目的,本系统对计算机配置的要求不高,开发过程中使用个人笔记本电脑完全可以满足要求,在经济上具有绝对的可行性。23操作可行性本系统操作简单,输入信息页面大多数都是采用文本框形式,只需根据自己的语言习惯将内容风格保持一致即可,无其他条件;在很多页面还采取了下拉框的选择形式,某些地方信息甚至可以自动生成,无需输入;时间的输入也是用的日历控件,操作简便;文件上传也是通用易懂的操作形式,对操作人员的要求很低。对WINDOWS操作熟练的人员只需对本系统的操作稍加培训即可工作,而且本系统可视性非常好,在技术上基本无难度。24法律可行性本婴幼儿产品销售系统是自行开发的网上购物系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,系统实现上使用的网络上一些开源的代码块,在使用到的部分都会注明出处,不存在侵权等问题,即法律上是可行的。3需求分析31设计的基本思想设计思想遵循以下几点(1)采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页搜索方式的用户。(2)采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。(3)采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。(4)简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。(5)速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。(6)设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。32功能模块需求分析本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能(1)系统具有简洁大方的页面,使用简便。(2)管理员用户具有商品类别管理、商品信息管理、商品信息更新管理、订单管理、会员信息管理、系统管理功能。(3)普通用户具有浏览商品、商品查询、购买商品、修改个人信息等功能(4)具有较强的安全性,避免用户的恶意操作。系统的功能分普通用户平台,管理员平台。系统的总体功能图如图31所示。图31系统的总体功能图普通用户功能模块图说明普通用户可以在线浏览商品,查询商品,如果要购买、下订单操作,首先需要注册一个个人账号,然后登陆到系统中,如功能图32所示。图32普通用户的用户功能模块图管理员功能模块图说明管理员是功能最多的一种用户角色。(1)商品类别信息管理模块在该模块中完成对商品类别信息的管理,包括类别录入、查询、修改、增加和删除等功能操作。其中类别信息包括类别名称、类别介绍等信息。(2)商品信息管理模块在该模块中定义了商品信息的管理,其功能包括商品录入、查询、删除等操作。(3)会员管理模块该模块中包括浏览会员信息和删除会员信息2个功能。(4)系统管理模块在该模块中定义了系统日常维护的功能,包括公告信息的添加和查询,修改功能,以及系统用户管理和修改密码等功能。管理员用户功能模块图如图33所示。图33管理员用户功能模块图33系统用户用例图331普通用户用例图出于安全性的考虑,普通用户对商品的操作只有浏览商品和商品查询、商品购买等功能,其他的删除修改功能都没有设计,因为普通用户最主要关心的就是商品信息的更新和查询等功能。而对于网站会员而言,对自己信息具有修改的权利是必须的,所以添加了用户修改个人信息的功能。普通用户用例图如图34所示。下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下图34普通用户用例图332管理员用例图此次系统的实现里,没有设计商家自主添加商品的权限,而把添加商品的这些功能全部赋予了管理员,所以管理员是系统的核心用户。管理员涉及到六大功能模块,对系统的所有信息有着操作的权限,能够及时动态的更新系统的各项信息。管理员用户用例图如图35所示。下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下下图35管理员用例图34性能需求341系统的安全性本商品交易系统在管理权限上要严格进行控制,具体要求如下(1)要想管理本系统的商品信息,必须先要凭用户名和密码登陆到系统中,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。(2)在具体实现中设定不同权限,不同权限用户登录到系统后,不能越级操作,管理员可以使使用所有模块;普通用户只能在线浏览信息,比如,查询商品信息、在线购买、下订单、修改个人信息的功能。(3)使用线程的思想,登录用户超过一定时间未进行操作则自动退出。342数据库的安全性(1)数据库表结构设计定义主键,长度,字段类型,各种约束,保证数据库中数据的安全与统一。(2)使用JS校验页面录入数据,保证录入数据的安全性。35界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人机对话的界面格式等。351输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。352输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点(1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。(2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。(3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。(4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。4系统分析与设计41数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计需要经过规划,一般分为需求分析、概念设计、逻辑设计、物理设计5个步骤。411数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(ER)模型设计方法。ER模型法的组成元素有实体、属性、联系,ER模型用ER图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立ER模型图。(1)普通用户实体图,如图41所示。图41普通用户实体图(2)商品类别实体图,如图42所示。普通用户密码用户名姓名性别年龄联系方式图42商品类别信息实体图(3)商品信息实体图,如图43所示图43商品信息实体图(4)管理员信息实体图,如图44所示图44管理员信息实体图商品类别类别名称类别介绍是否删除商品信息商品名称商品介绍商品图片商品价格类别ID管理员用户ID登陆密码登陆账号(5)订单信息实体图,如图45所示图45订单信息实体图412数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,ER模型向关系数据库模型转换应遵循下列原则(1)每一个实体要转换成一个关系(2)所有的主键必须定义非空(NOTNULL)(3)对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据ER模型,普通用户公寓管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。(1)普通用户表主要是记录了普通用户基本信息。表结构如表41所示。表41普通用户表T_USER列名数据类型长度允许空是否主键说明USER_IDINT4否是用户IDUSER_NAMEVARCHAR50否否用户名USER_PWVARCHAR50否否用户密码USER_REALNAMEVARCHAR50否否姓名USER_SEXVARCHAR4否否性别USER_TELVARCHAR15否否联系方式USER_ADDRESSVARCHAR20否否住址(2)商品类别信息表主要是记录了商品类别的基本信息,表结构如表32所示。表42商品类别信息表T_CATELOG列名数据类型长度允许空是否主键说明订单信息下单时间绍订单编号送货地址付款方式图片总金额会员IDCATELOG_IDINT4否是类别IDCATELOG_NAMEVARCHAR50否否类别名称CATELOG_MIAOSHUVARCHAR50否否类别介绍(3)商品信息表主要是商品的相关信息,其中ID是主键,表结构如图33所示。表43商品信息表T_GOODS列名数据类型长度允许空是否主键说明GOODS_IDINT4否是商品IDCATELOG_IDINT4否否类别IDGOODS_NAMEVARCHAR50否否名称GOODS_MIAOSHUVARCHAR50否否介绍GOODS_PICVARCHAR50否否商品封皮SHICHANGJIADOUBLE8否否商品价格(4)管理员信息表主要记录了管理员的账号信息,包括用户名和密码,表结构如表37所示。表44管理员信息表T_ADMIN列名数据类型长度允许空是否主键说明USERIDINT4否是编号USERNAMEVARCHAR50否否用户名USERPWVARCHAR50否否密码(5)订单信息表主要记录的会员的订单的信息,包括订单编号、下单时间等,表结构如表37所示。表45订单信息表T_ORDER列名数据类型长度允许空是否主键说明ORDER_IDINT4否是编号ORDER_DATEDATE50否否下单时间ORDER_ZHUANGTAIVARCHAR50否否订单状态SONGHUODIZHIVARCHAR50否否送货地址FUKUANFANGSHIVARCHAR50否否付款方式JINEVARCHAR50否否总金额USER_IDINT4否否会员ID413数据库的连接原理采用SPRING管理的下的HIBERNATE连接数据库的方式。(1)首先在WEBXML中配置SPRING的监听。CONTEXTCONFIGLOCATION/WEBINF/APPLICATIONCONTEXTXMLORGSPRINGFRAMEWORKWEBCONTEXTCONTEXTLOADERLISTENER(2)APPLATIONCONTEXT里配置映射驱动BEAN和映射文件地址ORGHIBERNATEDIALECTORACLEDIALECTTRUEUPDATECOM/MODEL/TADMINHBMXMLCOM/MODEL/TUSERHBMXMLCOM/MODEL/TGOODSHBMXMLCOM/MODEL/TORDERITEMHBMXMLCOM/MODEL/TORDERHBMXML5系统功能实现在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上。在管理信息系统的生命周期中,经过需求分析、系统设计等阶段,开始系统实施阶段。系统实施阶段继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。51普通用户模块511系统主页面实现(1)描述页面的上方显示的是该网站的LOGO,下方主要部分是信息显示区域,左侧部分是方便菜单栏左上方是登陆模块,用户必须输入正确的用户名、密码和验证码后才能进入系统,接下来是一个商品类别信息,最下面是一个万年历模块。中间部分的上方是一张图片,下面有销售排行榜显示和最新商品显示。下面最下方是一些版权所有的声明。(2)程序运行效果图如图51所示。图51系统主页面设计512商品类别查询(1)描述普通用户点击导航栏的“类别查询”。调用后台的JAVA类GOODSACTION的GOODSSEARCH方法查询所有的类别信息,并绑定这些信息到REQUEST对象中,在显示层JSP展示出来,然后用户点击类别名称,即可显示该类别的信息。(2)程序效果图如图52所示。图52类别查询界面设计(3)关键代码PUBLICSTRINGGOODSSEARCHMAPREQUESTMAPSERVLETACTIONCONTEXTGETCONTEXTGET“REQUEST“/拼接SQL语句STRINGSQL“FROMTGOODSWHEREGOODSDELNOANDGOODSNAMELIKE“GOODSNAMETRIM“/HIBIERNATE执行查询语句LISTGOODSLISTGOODSDAOGETHIBERNATETEMPLATEFINDSQLREQUESTPUT“GOODSLIST“,GOODSLISTRETURNACTIONSUPPORTSUCCESS513用户注册1描述对于游客,至于浏览的功能,如果想进一步使用本系统,比如说购买商品、在线下订单等,首先需要注册一个合法的账号,然后登陆后,方能使用,点击导航栏菜单“免费注册”,调用JS的OPEN方法,弹出注册页面,输入相关正确信息后点击注册按钮即可完成注册,如果是没有输入完整的信息,或都会给出相应的错误提示,不能录入成功。输入数据都通过FORM表单中定义的方法ONSUBMIT“RETURNCHECKFORM“来检查,CHECKFORM函数中是各种的校验输入数据的方式。2程序效果图如图53所示图53用户注册界面设计514用户信息修改1描述登录用户可以在“我的信息”里查看到自己的信息,并且可以对个人信息修改。2程序效果图如图54所示图54用户信息界面3用户信息修改关键代码PUBLICSTRINGUSEREDITTUSERUSERUSERDAOFINDBYIDUSERIDUSERSETUSERNAMEUSERNAMEUSERSETUSERPWUSERPWUSERSETUSERADDRESSUSERADDRESSUSERSETUSERTELUSERTELUSERSETUSERREALNAMEUSERREALNAMEUSERSETUSEREMAILUSEREMAILUSERSETUSERSEXUSERSEXUSERSETUSERQQUSERQQUSERSETUSERDEL“NO“USERDAOATTACHDIRTYUSER/保存修改用户信息到数据库MAPSESSIONSERVLETACTIONCONTEXTGETCONTEXTGETSESSIONSESSIONPUT“USER“,USERRETURN“SUCCESSADD“515购物车1描述登录用户可以将选中物品添加至购物车,可以在购物车页面看到选中商品信息。用户添加商品至购物车的流程图如图55所示。图55用户添加商品到购物车流程图2程序效果图如图56所示。图56用户购物车界面516用户订单确认1描述登录用户选中商品后点击下一步,或者登陆用户在购物车页面点击下一步。即可跳转到下订单页面。2程序效果图如图57所示。图57用户订单确认界面517页面销售排行榜与最新商品1描述进入系统的用户均可在网站首页看到系统销售排行与最新的商品信息。销售排行榜2程序效果图如图58所示。图58销售排行榜与最新商品界面3销售排行榜与最新商品关键代码PUBLICSTRINGINDEXMAPREQUESTMAPSERVLETACTIONCONTEXTGETCONTEXTGET“REQUEST“/最新商品STRINGSQL“FROMTGOODSWHEREGOODSDELNOANDGOODSISNOTTEJIANOORDERBYGOODSIDDESC“/因为商品表主键在数据库中自增方式为INCREMENT,按照ID降序获得最新LISTGOODSNOTEJIALISTGOODSDAOGETHIBERNATETEMPLATEFINDSQLIFGOODSNOTEJIALISTSIZE4/页面展示4个GOODSNOTEJIALISTGOODSNOTEJIALISTSUBLIST0,4REQUESTPUT“GOODSNOTEJIALIST“,GOODSNOTEJIALIST/销售排行榜LISTGOODSLISTNEWARRAYLISTSQL“SELECTSUMGOODSQUANTITY,GOODSIDFROMTORDERITEMGROUPBYGOODSIDORDERBYSUMGOODSQUANTITYDESC“LISTLISTORDERITEMDAOGETHIBERNATETEMPLATEFINDSQLFORINTI0I4GOODSLISTGOODSLISTSUBLIST0,4REQUESTPUT“GOODSLIST“,GOODSLISTRETURNACTIONSUPPORTSUCCESS52管理员登陆页面1描述为了保证系统的安全性,要使用本系统必须先登陆到系统中。2程序运行效果图如图59所示。图59管理员登陆页面设计3在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的SERVICE中,在该SERVICE中会对用户名,密码进行判断,如果正确提示“通过验证”,进入到管理界面,如果错误则提示“用户名和密码不正确”,页面调转到登陆页。LOGINSERVICE关键代码PUBLICSTRINGLOGINSTRINGUSERNAME,STRINGUSERPW,INTUSERTYPESTRINGRESULT“NO“IFUSERTYPE0/系统管理员登陆STRINGSQL“FROMTADMINWHEREUSERNAMEANDUSERPW“OBJECTCONUSERNAME,USERPWLISTADMINLISTADMINDAOGETHIBERNATETEMPLATEFINDSQL,CONIFADMINLISTSIZE0RESULT“NO“ELSEWEBCONTEXTCTXWEBCONTEXTFACTORYGETHTTPSESSIONSESSIONCTXGETSESSIONTADMINADMINTADMINADMINLISTGET0SESSIONSETATTRIBUTE“USERTYPE“,0SESSIONSETATTRIBUTE“ADMIN“,ADMINRESULT“YES“RETURNRESULT53管理员管理模块1描述管理员主页面左方页面展示了管理员可操作的功能,进入相关的管理页面可以链接到子菜单,每个管理模块下面都有相应的子菜单。2程序运行效果图如图510所示。图510管理员管理主页面在每个JSP页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面IFSESSIONGETATTRIBUTE“ADMIN“NULLOUTPRINT“ALERT请先登录WINDOWOPEN/INDEXJSP,_SELF“531商品类别管理(1)类别信息录入描述管理员输入类别相关正确信息后点击录入按钮,如果是没有输入完整的普通用户信息,比如没有输入类别名称,都会给出相应的错误提示,不能录入成功。输入数据都通过FORM表单中定义的方法ONSUBMIT“RETURNCHECKFORM“来检查,CHECKFORM函数中是各种的校验输入数据的方式。程序效果图如下图511所示。图511类别信息录入流程图如下图512所示。登陆系统图512商品类别信息录入流程图(2)类别信息管理描述管理员点击左侧的菜单“商品类别管理”,页面跳转到类别管理界面,调用后台的ACTION类查询所有商品类别信息。程序效果图如下图513所示。图513商品类别管理类别管理关键代码/查询出数据库中所有状态是为删除的商品PUBLICSTRINGCATELOGMANASTRINGSQL“FROMTCATELOGWHERECATELOGDELNO“LISTCATELOGLISTCATELOGDAOGETHIBERNATETEMPLATEFINDSQLMAPREQUESTMAPSERVLETACTIONCONTEXTGETCONTEXTGET“REQUEST“REQUESTPUT“CATELOGLIST“,CATELOGLISTRETURNACTIONSUPPORTSUCCESS/添加新类别PUBLICSTRINGCATELOGADDTCATELOGCATELOGNEWTCATELOGCATELOGSETCATELOGNAMECATELOGNAMECATELOGSETCATELOGMIAOSHUCATELOGMIAOSHUCATELOGSETCATELOGDEL“NO“CATELOGDAOSAVECATELOGTHISSETMESSAGE“操作成功“管理员录入商品类别信息系统验证录入类别信息录入成功结束通过未通过THISSETPATH“CATELOGMANAACTION“RETURN“SUCCEED“/删除类别PUBLICSTRINGCATELOGDELSTRINGSQL“FROMTGOODSWHEREGOODSDELNOANDGOODSCATELOGID“CATELOGIDLISTGOODSLISTGOODSDAOGETHIBERNATETEMPLATEFINDSQLIFGOODSLISTSIZE0/类别是商品表商品类别外键,需要验证THISSETMESSAGE“请先删除此类别下的商品“THISSETPATH“CATELOGMANAACTION“ELSETCATELOGCATELOGCATELOGDAOFINDBYIDCATELOGIDCATELOGSETCATELOGDEL“YES“/更改删除标记CATELOGDAOATTACHDIRTYCATELOGTHISSETMESSAGE“操作成功“THISSETPATH“CATELOGMANAACTION“RETURN“SUCCEED“(3)类别信息删除描述先是点击类别信息管理,页面跳转到类别管理界面,浏览所有的类别信息,点击要删除的类别,弹出的确定对话框,即可删除该类别信息。程序效果图如下图514所示。图514类别信息删除532商品信息管理(1)商品信息录入描述在此页面主要是输入商品信息,包括商品编号、名称、商品介绍、商品图片、商品价格等,其中商品介绍这个地方,使用的是开源的在线文本编辑器FCKEDITOR这个富文本框实现。是否为空也是通过FORM表单中的ONSUBMIT“RETURNCHECKFORM来检查。程序效果图如图515所示。图515商品信息录入在整个系统中所有涉及输入日期的地方都是采用的MYDATA97这个日历控件的方式来实现,要在工程中导入CALENDARJS文件,在JSP页面开始引入该JS文件,在文本框的属性定义中定义方法ONCLICK“NEWCALENDARSHOWTHIS“即可。上传功能使用COMUTILUPLOAD方法,上传时调用即可。文本框使用网上开源的FCKEDITOR文本框,页面直接嵌入如下代码即可使用商品管理关键代码/商品添加PUBLICSTRINGGOODSNOTEJIAADDTGOODSGOODSNEWTGOODSGOODSSETGOODSCATELOGIDGOODSCATELOGIDGOODSSETGOODSNAMEGOODSNAMEGOODSSETGOODSYANSEGOODSYANSEGOODSSETGOODSMIAOSHUGOODSMIAOSH

温馨提示

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

评论

0/150

提交评论