版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书(论文) 毕业设计(论文)原创性声明和使用授权说明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教均已在文中作了明确的说明并表示了谢意。使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。指导教师评阅书1、学生在论文(设计)过程中的治学态度、工作精神2、学生掌握专业知识、技能的扎实程度3、学生综合运用所学知识和专业技能分析和解决问题的能力4、研究方法的科学性;技术线路的可行性;设计方案的合理性5、完成毕业论文(设计)期间的出勤情况二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?2、是否完成指定的论文(设计)任务(包括装订及附件)?三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格指导教师:(签名)单位:(盖章)评阅教师评阅书评阅教师评价:1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良口中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义2、论文的观念是否有新意?设计是否有创意?3、论文(设计说明书)所体现的整体水平评阅教师:(签名)单位:(盖章)教研室(或答辩小组)及教学系意见一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?2、是否完成指定的论文(设计)任务(包括装订及附件)?三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义2、论文的观念是否有新意?设计是否有创意?3、论文(设计说明书)所体现的整体水平教研室主任(或答辩小组组长):(签名)系主任:(签名)伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻本系统便是尝试用J2EE架构在网络上架构一个动态的电子商务网站,它是在WindowsXP下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用J2EE框架开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理等功能的电子商务网站。关键字:J2EE;MYSQL;Tomcat;网上购物系统Alongwiththevigorousdeashoppingcenterisaformofitshighlyefficieemergingasabusinessmodelandphilosophynetworkmoreconvenient.Internetshoppingisbeingadaptedtothefastpaceoffdevelopmentinplatform,Tomcatapplicationservices,useJ2EEarchithebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,ashoppingcartmanagement,ordermanagemenmanagement;Backgroundinpartbymanagers,includingcommoditymanagement,Aftertheestablishmentofthewebsiteisadynamic,icommodities,systemsmanagement,voicemail,andotherfunctionsofthee-commercewebsiteusers. 2 2 1.3研究现状 3 3 2.1J2EE基本概念 52.1.1J2EE概念 52.1.2J2EE的优势 62.2J2EE关键技术 2.2.2Struts框架 3.1需求分析 3.1.1系统用户 3.1.2网站功能 3.2系统功能模块设计 3.2.2用户访问系统的流程 4.2数据库结构设计 4.3Hibernate访问数据库 4.3.3用Hibernate访问数据库 4.3.4用Hibernate访问数据库 5.1前台部分 5.1.1前台总体框架 5.1.2用户管理模块 275.1.3用户登录 5.1.4购物车模块 5.1.5修改用户资料 5.1.6商品查询 5.2后台部分 5.2.1后台总体框架 5.2.2管理员登录 5.2.3商品管理 5.2.4订单管理 5.2.5用户管理 致谢 参考文献 附录A 附录B 南京工程学院毕业设计说明书(论文)第2页第一章绪论21世纪是网络飞速发展的时代,上网、创建网站已经成为热门话题。Internet技术得到持续、猛烈的发展,已经成为计算机产业的一个技术热点,管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司1.2选题背景与意义构来进行设计和开发的。随着Internet的飞速发展,传统的两层体系结构面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等。J2EE是构建电子商务系统的新兴技术,采用J2EE技术,可以方便地将于Web的显示页面;业务层处理客户购物过程;数据层则提供数据存储。采用这种层次结构可以提高系统的扩展性和服务器的效率,方便开发。本文针对目前网上商店所面临的问题,采用J2EE技术,设计开发了一个网上商店系统。系统具有高可靠性、可扩展性和可重用性的特点。导航;采用复合视图来向用户提供Web显示,减少了视图中代码的重复;采用DAO模式访问数据库,从而实现了业务层和数据访问层的分离,降低了层南京工程学院毕业设计说明书(论文)第3页系统以MySql作为后台数据库,在Tomcat5.0应用服务器上部署成功。1.3研究现状在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据CNNIC的统计结果,截止2004年1月中国有互联网用户7950万人,而又有1.4论文主要研究内容本论文涉及了软件开发基础知识、J2EE、MVC模式等方面的内容,主要包括了以下几个方面:软件开发流程包括以下步骤,即业务需求分析,可行性研究,方案设计,确定开发计划,需求分析,建模,详细设计,编写代码,软件测试,软件维护。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。第4页利用J2EE框架和MVC模式来开发一个web应用项目。1.5主要章节安排首先就课题研究的背景和意义做出说明。第一章总体的介绍了下设计的内容。第二章简要介绍了J2EE的基础知识。第三章介绍了系统需求分析及总体设计,包括需求分析,系统功能模块设计,对具体功能及用例说明。第四章是数据库设计,包括数据库结构设计,Hibernate访问数据库。第五章给出了系统户注册,购物车管理,订单管理,个人资料管理等功能;后台部分由管理员使用,主要包括会员信息管理,主要包括商品管理,用户信息管理,处理订单等功能。最后给出结论并对课题未来的发展做出了展望。南京工程学院毕业设计说明书(论文)第5页第二章J2EE简介J2EE(Java2EnterpriseEdition)是建立在Java2平台上的企业级应用的解决方案。J2EE技术的基础便是Java2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和的产品,如BEAWebLogic,IBMWebSphere以及开源的JBoss等等。J2EE,是sun公司提出的一个标准,符合这个标准的产品叫"实现";其中你下载的sun公司的j2ee开发包中就有一个这样的"实现",而jboss,weblogic,websphere都是j2ee标准的一个"实现"。由于jboss,weblogic,websphere自身带有j2ee的api,所以可以不使用sun的j2ee实现。平台有3个版本,它们是适用于小型设备和智能卡的Java22平台标准版(Java2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)。J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(J终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可第6页降低了开发多层应用的费用和复杂性,同时提供对现有应用持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程南京工程学院毕业设计说明书(论文)第7页的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图2-1所南京工程学院毕业设计说明书(论文)第8页封装应用程序状态响应状态查询应用程序功能通知视图改变视图选择解释模型用户请求发送用户输入给控制器允许控制器选择视图控制器定义应用程序行为用户动作映射成模型更新选择响应的视图模型更新请求状态查询状态改变下面我们通过假设一个企业应用的J2EE实现,来了解各种组件和服务的应用。假设应用对象是计算机产品的生产商/零售商的销售系统,这个销售系统能够通过自己的网站发布产品信息,同时也能将产品目录传送给计算机产品交易市场。销售系统能够在线接受订单,并随后转入内部企业管理系统进行相关的后续处理。参见图2-2,这个企业应用可以这种方式架构。该企业应用的核心是产品目录管理和产品定购管理这两个业务逻辑,使用EJB加以实现,并部署在EJB产品日景警理商业邃解图2-2J2EE应用示例南京工程学院毕业设计说明书(论文)第9页2.2.1JSP的技术原理在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。后将执行结果以HTML格式返回给用户。客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网JSP技术对动态Web页面的开发的影响(1)将内容的生成和显示进行分离(内容是根据请求来变化的,会根据不同的请求作相应的处理得到不同的内通过访问JavaBeans组件,使用JDBC技术访问数据库,或者包含文件),并(2)强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans)南京工程学院毕业设计说明书(论文)第10页用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发(3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。(4)JSP能提供所有Servlets功能改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,杂的基于Web的应用。(5)健壮的存储管理和安全性由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括(6)一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。Servlet在一个典型的Web应用中担任的重要角色就是Servlet非常适合做南京工程学院毕业设计说明书(论文)第11页块,它并不十分适合做用户的界面表示,而当Web用户发出请求的时候Servlet组件可以通过Servlet容器来捕获这个请求消息,这样它可以调用模型组件来出来这个消息。当客户程序(如:浏览器)首先向Servlet容器发出Web请求,服务器接受到请求以后会调用相应的Servlet组件来执行相应的程序来完成这个请求,然后Servlet组件吧处理结果交给Servlet容器,再由Servlet容器把请求回复给客户程序.这也是一个典型的web应用的执行过程.Java的Servlet技术提供了一组用户的编程接口为开发人员定义了相关的类。ServletAPI中以下几个比较重点的类决定了Servlet的处理流程:HttpServlet:该类提供了用户扩展的能力,用户通过继承该类编写Servlet组件.主要填写Http方法(如:doPostdoGet)完成服务。HttpServletRequest:该类提供了接受用户请求数据的能力,该类通常是由用户的请求数据。容器在服务中创建的。HttpSession:该了同类处理客户的会话跟踪。持该应用模块的状态.这组状态是该模块中所有Web组件可以访问到的共享信Struts框架结合MVC框架随着软件开发日渐成熟,软件工程师们也变得逐渐成熟起来,我们开始首先设计软件框架结构,这样在开发阶段我们才会井然有序的进行.而对于现代软件开发对软件的开发周期要求越来越迅速,所以如果要自己开发一套框架已经不太现实了.所以我们必须要选择已经成熟的软件框架了.就是JSPModel2模型的实现.南京工程学院毕业设计说明书(论文)第12页视图是通过一组JSP程序实现的.这些JSP程序中不能包含业务逻辑,也不能包括模型的信息.模型的信息是通过控制器传递的.在Struts中ActionForm也被看成是视图的一部分.它其他更新视图,以及视图查询模型状态的桥梁.一次回话中的状态,以及持久状态.而操作这些状态的流程也同样包括在模型中.这些模型也就是业务的总体运作流程和数据.控制器部分由ActionServlet和Action来实现.ActionServlet也就是Struts框架用来和Web容器交互的接口.该类是Struts框架的核心组件.ActionServlet继承了HttpServlet类.它在MVC模型中扮演中央控制器的角色.当Web容器一接收到客户请求就会交割ActionServle信息选择合适Action来处理请求.并传递请求过程中的数据,这些数据是通过ActionForm传递的.Action本身也并不包含业务逻辑的处理代码.它只是负责调用业务的处理代码的.调用这些代码的方法在execute()方法中.该方法在调用业务处理以后会放回一个ActionForward对象来选择对应的视图.一般而言我们的Action必须直接或间接的继承该类.然后重写excecute()方法以完成我们自己的处理消息.4.Struts的配置文件struts-config.xml该文件实质是一个控制器和视图的黏合剂,控制器之所以能够选择对应的视图,以及视图能够通过对应的控制器查询到模型中的数据都是依赖该文件.该文件是一个XML文件.在该配置文件中每Action都对应一个<Action>标签用来映射Action类的信息.1.web容器启动,根据web.xml内容中的标签<servlet></servlet>new一个器停止.action实例配置根据<servlet></servlet>南京工程学院毕业设计说明书(论文)第13页的表单对象actionForm传进去4.action控制器类根据需要调用相应的bo类来处理业务逻辑.5.bo类根据需要调用相应的dao类来实现与底层数据库连接6.dao返回结果给bo,bo返回给action调用ActionMapping对象转到相应的页面.客户请求过滤不属于收请求异常处理对象控制器将请求(NoAttionFom)(执行失败)(执行失败)实例(验证成功)表单参数将以保存起来产生错误信息(验证失败)产生视图ActionServlet是Struts的核心控制器,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行南京工程学院毕业设计说明书(论文)第14页配置,接收JSP输入字段形成Actionform,然后调用一个Action控制器。ActionForm是可以自动将表单中ActionForm也是要遵守Struts规范的,也就是要继承于ActionForm,其中包含有validate方法,并对struts-config.xml配置文件进行配置。根据提交然后将request的参数对应到ActionForm中,进行form验证。如果验证通过则调用Action的execute()方法来执行Action,最终返回ActionFoward。ActionFoward是对mapping中一个foward的包装,对应于一个url。ActionErrors是对错误信息的包装,一旦在执行action或者form.validate中出现异常,即可产生一个ActionError并最终加入到ActionErrors。在Form验证的过程中,如果有Error发生,则会将页面重新ServletController(ActionServlet和自定义的Action),配置Ctrler需要配置struts-config.xm1,通过客户端form的action来查找调用相应的Struts提供了多种Action供选择使用。普通的Action只能通过调用execute执行一项任务,而DispatchAction可以根据配置参数执行,而不是仅进入execute()函数,这样可以执行多种任务。如insert,update等。第15页第三章系统需求分析及总体设计3.1需求分析现在Internet上随处可见网上商城、网上书店等电子商务网站,让消费者(在本章中有时也称为客户)足不出户就可购买到想到的商品,不仅方便了消费者,也让拥有电子商务网站的企业能及时向广大客户推销产品、构建企业形象、赢得利润。电子商务系统与传统的面对面的营销方式相比,具有不可比拟的优势,如销售成本与物流大大降低、信息传输及时等。使用网上书店系统的用户主要有两种:一种是消费者,可以浏览网上书店商品信息进行管理、处理客户的订单。3.1.2网站功能此基于JSP的购物网站分前台功能和后台功能:资料管理。用户信息管理,连接信息管理。鉴于网上商店系统的两种用户角色的说明,可将系统分为前台和后台,这成与客户的交互性处理;后台供给网站的管理者使用,用于管理网站的内容。有的系统为保障安全,将后台处理部分独立出来,采用C/S方式,用专门的编南京工程学院毕业设计说明书(论文)第16页程语言(如VisualBasic、VisualC++)来实现,因为这种方式需要网站的管理者安装客户端程序;本章中实现的网上书店其后台用B/S方式。网上书店前台实现的功能有:(1)用户管理。实现用户资料的自助修改,维护个人信息。(2)购物车管理。提供购物车商品条目的数量修改,增加、删除等操作。(3)用户登录。供已注册的用户登录,登录后才能在网上购物。(4)网上购物。已登录的用户可以将需要购买的物品放入购物车,可将网上书店后台管理实现的功能有:(1)用户信息管理。提供对用户资料的查询、删除操作。(2)商品管理管理。供网站管理员增加、修改、删除网上书店中书藉的基本资料信息,主要是文本信息。(3)订单管理。供网站管理员管理客户提交的订单,客户“已确认”的订单可修改状态为“已发货”。用用处商管个商购用前台功能后台功能人资料管理网上购物系统户管理理订单品管理品查询图3-1系统的功能结构图南京工程学院毕业设计说明书(论文)第17页3.2.2用户访问系统的流程当用户在浏览器直接输入相应的工程名时,通过解析web.xml配置文件(里面设置了初始的页面),会跳传到相应的JSP页面,根据JSP中的.do的定向,struts-config.xml配置文件,进入相应的自定义的Action类,调用相应的JavaBean类的方法通过Hibernate实现对数据库的入库和出库操作.浏览器Web服务器控制器)JSP(视图)(模型)问数据库南京工程学院毕业设计说明书(论文)第18页第四章数据库设计与实现数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQLServer,Oracle等。我采用了MYSQL数据库管理系统,建立的数据库名为njit。用户:用户id、用户名称、登录密码、联系地址、邮编、邮箱地址、住宅电话、联系电话、单位电话。商品:商品id、名称、价格、商品描述。订单:订单id、订单状态、订单用户id。订单条目:条目id、商品数量、条目价格、订单id、商品id。4.2数据库结构设计主要用于保存用户(包括管理员)信息,该表的结构如表4-1所示。表4-1用户信息表(cart_user)列名类型第19页4.2.2商品信息表(cart_product)主要用于保存商品信息,该表的结构如表4-2所示。表4-2商品信息表(cart_product)列名类型4.2.3订单表(cart_order)主要用于保存订单信息,该表的结构如表4-3所示。表4-3订单表(cart_order)列名类型4.2.4订单条目表(cart_order_item)主要用于保存订单条目信息,该表的结构如表4-4示。第20页表4-4订单条目表(cart_order_item)列名类型在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦浪费时间的。Hibernate是一个面向Java环境的对象/关系数据库映射工的对象映射到基于SQL的关系模型数据结构中去。Hibernate不仅仅管理Java类到数据库表的映射(包括Java数据类型到发时人工使用SQL和JDBC处理数据的时间。其中的95%。对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案;对于那些在基于用,Hibernate是最有用的。不管怎样,Hibernate一定可以帮助你消除或者包装那系列的对象去。Hibernate是一个可以自动的根据xml完成对象关系映射,并持久化到数据库的开源组件。其底层也是由JDBC实现的。hibernate是通过xml文件的配置,对数据库的底层的方言,以及数据库连接所需的信息,以及连接数据库的驱动。4.3.2Hibernate的工作方式南京工程学院毕业设计说明书(论文)第21页Hibernate比传统的数据库访问方式(最典型的JDBC)更能体现面向对象的常所说的POJO类,它们就是普通的JavaBean,它们不需要实现任以对象的形式获取数据、更改数据,或者把对象保存为数据。运行时,Hibernate读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转换。在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与简单;只需以常规方式创建它们,然后告诉Hibernate有关它们的信息,这样就能在数据库中保存它们。4.3.3用Hibernate访问数据库使用Hibernate访问数据库首先要配置一个名为hibernate.cfg.xml的配置容如下:<!DOCTYPEhibernate-config"http://hibernate.sourceforge.<propertyname="show_sname="dialect">org.hibernate.dialect.MySQLD南京工程学院毕业设计说明书(论文)name="connection.driver_class">com.mysql.jdbc.Dri<propertyname="connection.username">root</property><propertyname="connection.password">zj1523</property>name="connection.url">jdbc:mysql://localhost:3306<propertyname="hibernate.hbm2ddl.auto">none</property>name="file">mysq₁_conne<mappingresource="com/tarena/shop/entity/Product.hbm.xml"/><mappingresource="com/tarena/shop/entity/Order.hbm.xml"/>然后是所对应的实体的映射配置文件User.hbm.xml、Product.hbm.xml、Order.hbm.xml、Item.hbm.xml,并配置实体间的映射关系,实体的映射关系图如图4-1:SremoveitemByProductid(produ南京工程学院毕业设计说明书(论文)第23页图4-1实体间映射关系图4.3.4用Hibernate访问数据库1.配置环境,加载hibernate的jar文件,以及连接数据库连接使用的jar2.写hibernate所需的配置文件,hibernate.cfg.xml,XXX.hbm.xml4.调用hibernateAPI。1)使用Configuration对象的buildSessionFactory()方法创建SessionFactory对象2)使用SessionFactory对象openSession()方法创建Session对象。3)使用Session的相应方法来操作数据库,将对象信息持久化到数据库。下面是调用hibernateAPI的基本步骤:1.创建Configuration对象。(解析配置文件)Configurationcon2.通过Configuration创建SessionFactory(线程安全的重量级组件)。方法会在CLASSPATH下寻找SessionFactorysessionFactory=config.buildSessionFactory();3.通过SessionFactory创建Session会话对象。Sessionsession=sessionFactory.openSession();//创建Session对象4.通过Session取得事务对象。Transactiontrans=session.beginTransaction();//开始事务5.通过session与数据库进行会话。session.get(Classclazz,Serializableid);//根据Id查找对象语言查找对象返回一个南京工程学院毕业设计说明书(论文)第24页第25页第五章系统详细设计5.1前台部分前台部分由用户使用,包括用户注册,购物车管理,个人资料管理、商品查询等几个部分。(1)模块功能介绍用户管理:为了便于网站的管理,必须有一套完整的用户管理体系。该网站用户管理模块由用户注册,用户登陆2部分组成。购物车:所选商品须通过购物车进行保存,然后生成订单。修改个人资料:为了保护用户信息不受非法侵害,用户登陆后即可对个人的注册信息进行修改。商品查询:通过输入商品的完整名称搜索网站内所有匹配的商品。(2)前台首页流程1、商品列表流程:jsp:forward图5-1商品列表流程2、添加商品条目到购物车流程:图5-2添加商品条目到购物车流程南京工程学院毕业设计说明书(论文)第26页3、转到购物车信息页面流程:viewCart.do<forwviewCart.do<forw图5-3转到购物车信息页面流程4、转到登录页面流程:loginjsp图5-4转到登录页面流程W我的购物车商品列表产品名年通年西红红共分2页图5-5前台首页第27页5.1.2用户管理模块用户管理模块主要包括用户注册,登录及找回密码3个部分.(1)用户注册运行结果如图5-6所示.图5-6用户注册页面该注册页面使用了javascript在客户端进行验证关键代码:alert("请输入用户名!");}if(form.firstpwd.value.length=alert("密码不能为空!");if(form.firstpwd.value!=form.lastpwd.value){alert("密码不一致!");南京工程学院毕业设计说明书(论文)第28页}}5.1.3用户登录用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码。用户登录流程如图5-7所示cartjsp图5-7用户登录流程用户登录窗口的运行结果如图5-8所示会员名:图5-8用户登录窗口在用户登录窗口中单击登录按纽后,系统将对用户名和密码进行验证,判断用户是否是已注册用户,如果已注册,则更新用户在网站中的状态,如果没有注5.1.4购物车模块在超市购物,可以根据自己的需要将很多的物品挑选到购物车(篮)中。而在网上虚拟的购物商城中,通常都会采用一种被称做“购物车”的技术来模拟南京工程学院毕业设计说明书(论文)第29页现实生活。这种技术用起来十分方便,不但可以随时添加,查看,修改,清空购物车中的内容,还可以随时去收银台结帐。(1)添加购物车添加购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的“添加到购物车”按钮时,系统会将该商品的添加到购物车中,流程如图5-9:图5-9添加商品到购物车流程如流程图所示,用户进行添加商品到购物车操作后,页面还将回到主页面,即商品列表页面,用户可以继续购物。为了方便用户随时查看购物情况,在网站的首页加入了查看购物车链接,通过它可以将所选物品信息放入购物车中显示出来。查看购物车页面运行结果如图5-10:洒洒举量课验甲ematt9还里咽利顾件网卡的四性-t00.江口口暗村装特二震注石4珠业王志强州带的和减书与空好口口哈和装将与命签翼-7卫图5-10购物车页面在购物车页面,用户可对购物车里商品的信息进行修改,如修改商品数量、南京工程学院毕业设计说明书(论文)第30页删除商品条目、清空购物车、结帐,当然,用户也可以选择继续购物。以上分支操作的流程图如下:1、修改购物车商品数量流程:图5-11修改购物车商品数量流程2、删除选定定单条目流程:图5-12删除选定定单条目流程3、清空购物车流程:cartjsp图5-13清空购物车流程(3)生成订单商品价格信息,生成唯一的一个订单号,同时也把用户注册的基本信息读取出南京工程学院毕业设计说明书(论文)第31页来,形成一个完整的订单写入数据库中。结帐填写订单的页面如图5-14。商品单你开起量元日1深a10四3哈利流特与何蓝卡翅的四洗-12增利放片二法石-13口在诛仙洋6玉市堡外价日3口哈料拌用欧出圣笑可肥的购物车中所有两帛总童事元):ae姓名,地址,联系地话,i生或单画5.1.5修改用户资料对于已经注册,且已经登录的用户,网站提供修改用户资料的服务,用户通过修改该页面上的表单条目,从而修改个人信息,从提交修改成功开始,后台将把数据更新到数据库,所以用户必须使用新的用户名和密码。修改个人信息的页面运行结果如图5-15:第32页用户名用户名密码确认密码地址邮编邮箱家庭电话单位电话**图5-15修改用户信息页面5.1.6商品查询为了方面用户在多页商品列表中快速找到自己想要的商品,本网站提供了精确查找商品的功能,用户只需在主页上的搜索文本框中键入自己想搜索的商品的完整名称,就可以获得与之匹配的商品条目,用户就可以查看商品信息,也可以购买该商品。搜索商品的操作如图5-16所示:哈利波特与魔法石-1|搜索我的购产品名称产品价格简介添加到购物车1诛仙简介2诛仙2简介3王志强外传简介购买4简介5哈利波特与致命圣灵-7简介6哈利波特与魔法石-1简介7哈利波特与密室-2简介8哈利波特与阿兹卡班的囚徒-3简介第33页搜索商品的结果页面如图5-17所示:冒我的产品名称产品价格简介添加到购物车6哈利波特与魔法石-1简介简介5.2后台部分5.2.1后台总体框架后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。主要包括管理员身份验证,订单信息管理模块,添加商品模块,查询用户信息管理模块组成。后台功能介绍(1)功能模块介绍管理员身份验证:为合法用户提供一个后台入口。订单管理模块:网站管理者对用户订单的已发货状态和未发货状态。商品管理模块:向商品表插入、删除、修改前台首页展示的商品信息。用户管理模块:查询注册所有用户,对一些非法或失信用户进行删除操作。网站后台首页运行结果,如图5-18所示。网上商城系统管理网上商城系统管理商品需理订单露理图5-18网站后台首页南京工程学院毕业设计说明书(论文)第34页管理员身份验证,本系统要求管理员的用户名必须为admin,用户输入用户名则转到后台首页,反之则提示错误。管理员登录页面的运行结果如图5-19所评也数据依据。目录添加页面的运行结果如图5-20所示。商品名称:|Jmva面向对源编程商品简介:孙卫琴编著图5-20添加商品页面第35页同样,管理员也可以对过期的商品进行删除操作,因为原理一样,所以在此不再赘述。5.2.4订单管理用户在前台购物所产生的订单不能立即执行需要系统管理员在后台处理处理页面,该页面是会显示近期所没有被处理的订单,其运行结果如图5-21天燕定举起定单伏志定单商品辈吞艺装1己处理发且2已处理发度未处理发货管理员可以查看每条订单中的所有商品信息,同时也可以处理每条订单 (发货),处理过的订单的订单状态将改为已处理,同时在已处理订单的页面显示,结果如图5-22:本系统所有定单列表如下东定单总斯宽单优五文员五成脉定单已处理否2己处理西已处理否5.2.5用户管理很长的时间内没有订单生成,管理员就可以将该用户删除。同时该管理界面也户信息页面,选择查看用户,其运行结果如图5-23:第36页本系统所有用户列表如下四址高庭电话单位史话公空电这Tmm610.cm点击删除用户的超链接,运行结果如图5-24:本系统所有用户列表如下用户备致演醛衣医电话单位电活办公室电话到到宝2意南京工程学院毕业设计说明书(论文)第37页第六章总结与展望需要,优化了系统的性能。目前基于该模型多问题与不足,如安全性能还不完善,JSP页立完成一个相对较大的系统,这个收获无论是对我的理论知识还是对以后的工都需要进行严格的检测,以保证购物系统的服务质量。随着网上购物系统技术的日趋成熟、网上购物的的人参与到网上购物的浪潮中来,人类最终将迎接电子商务时代的来临。南京工程学院毕业设计说明书(论文)第38页本论文的工作是在我的导师精心指导和悉心关怀下完成的,在我的学业和论文的工作中无不倾注着导师辛勤的汗水和心血。导师的严谨治学态度、渊博的知识、无私的奉献精神使我深受的启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。在我的论文撰写过程中,董亮、陆益等提出了宝贵意见和建议,在此向他们表示深深的感谢。在多年的学习生活中,还得到了许多学院领导、系领导和老师的热情关心和帮助。在日常学习和生活中,室友等都给予了我很大帮助。我也要感谢我的父母和亲人,他们在我的学业中给了我莫大的鼓励、关爱和支持。最后,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!衷心地感谢在百忙之中评阅我的论文和参加答辩的各位老师!南京工程学院毕业设计说明书(论文)第39页8、孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发.北京:电子12、孙卫琴.JAVA面向对象编程.北京:电子工业出版社,2南京工程学院毕业设计说明书(论文)第40页附录A服务器配置:第一步:从官方网站下载该软件。第二步:双击.exe文件,安装在C:\ProgramFilesVJava\jdk1.5.0_06。变量”,在系统变量中加入变量JAVA_HO生成所有调试信息不生成住何调试信息只生成某些调试信惠不生成任何警告覆盖安装的扩展其录萌位置覆盖粪名的标准路径的侠算指定源文件使用的字符编码提供与指定版本的源兼客性置接将<标志>传递给运行时系统-nource<版本>径><输出标准选项的提要-d<目录>J<标志><路径><目录>直接运行下载的apache-tomcat-5.5.17.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。安装过程安装完成以后,添加一个Tomcat的环境变量,添加方法和JDK的环境变中输入http;//localhost:8080/,如果出现欢迎界面,则说明Tomcat安装成功。第41页欢迎界面如图2所示。tt…南京工程学院毕业设计说明书(论文)第42页附录B功能:配置请求的映射关系,处理请求的跳转<?xmlversion="1.0"encod<!DOCTYPEstruts-configPUBLICtype="com.tarena.shop.action.List<forwardname="listProduct"path="/jsp/list.jsp"<actionpath="/jsp/addItemToCart"<forwardname="listProduct"path="/jsp/list.jsp"type="com.tarena.shop.action.IntroductionAction<forwardname="introduction"path="/jsp/introdtype="com.tarena.shop.action.Pparameter="sosoProd<forwardname="ssProduct"ptype="org.apache.struts.actions.Fparameter="/jsp/login第43页type="org.apache.struts.actions.Fparameter="/jsp/cartype="com.tarena.shop.action.LoginAction"<forwardname="order"path=<forwardname="success"path="/jsp/su<forwardname="fail"path="/jsp/login.jsp"></forward>type="com.tarena.shop.action.ad<forwardname="success"path="/jsp/adm<forwardname="fail"path="/jsp/adminLogin.jsp"></forward>type="com.tarena.shop.action.CartAction<forwardname="viewCart"path="/jsp/cart.jsp"<forwardname="fail"path="/jsp/cart.<actionpath="/jsp/dtype="com.tarena.shop.action.CartActionvalidate="false"parameter="de<forwardname="viewCart"path="/jsp/cart.jsp"type="com.tarena.shop.action.CartActionvalidate="false"paramete<forwardname="viewCart"path="/jsp/cart.jsptype="com.tarena.shop.action.CartActionvalidate="false"parameter="<forwardname="order"path=<forwardname="login"path="/jsp/log<forwardname="index"path="/jsp/cart.jsp"/>第44页type="com.tarena.shop.action.Gener<forwardname="message"path="/jsp/message.jsp"<forwardname="login"path="/jsp/login.jsp"/><forwardname="servererror"path="/jsp/servererror.jsp"/>type="com.tarena.shop.action.LogoutAction"<forwardname="logout"path="/jsp/indextwo.jsp"/>type="com.tarena.shop.action.RegisterAction<forwardname="register"path="type="com.tarena.shop.action.Executpath="/jsp/registerSuccess<forwardname="register"path="/jsp/register.jsp"/>type="com.tarena.shop.action.ModifyAction"<forwardname="modify"path="/jsp/list.jsp"/><forwardname="index"pathtype="com.tarena.shop.action.ProductAction"validate="false"parameter=path="/jsp/addProductSuccess<forwardname="addfail"path="/jsp/addProduct.jsp"/>type="com.tarena.shop.action.ShowProductAction"<forwardname="showProduct"path="/jsp/adminProductList南京工程学院毕业设计说明书(论文)第45页type="com.tarena.shop.action.ShowPr<forwardname="showProduct"path="/jsp/modifyProductList.jsp"redirectype="com.tarena.shop.action.ProductAction"validate="false"parameter="mo<forwardname="modifyProduct"path="/jsp/modifyProduct.jsp"redirect="false"/><actionpath="/jsp/moditype="com.tarena.shop.action.ProductAction"validate="false"par<forwardname="modifySuccess"path="/jsp/modifySuccetype="com.tarena.shop.action.ProductAction"<forwardname="showProduct"path="/jsp/shotype="com.tarena.shop.action.UserAction"validate="false"parameter<forwardname="showUserList"path="/jsp/userList.jsp"/>type="com.tarena.shop.action.UserAction"validate="false"parame<forwardname="showUserListplusDel"type="com.tarena.shop.action.UserAction"<forwardname="showUserListplusDel"path="/jsp/delete.do"/><actionpath="/jsptype="com.tarena.shop.action.UserAction"南京工程学院毕业设计说明书(论文)第46页path="/jsp/userListPlusDeltype="com.tarena.shop.action.OrderAction"validate="false"parameter<forwardname="showOrderList"path="/jsp/showOrderList.jsp"type="com.tarena.shop.action.OrderAction"<forwardname="showOrpath="/jsp/showOrderListplusDeltype="com.tarena.shop.action.OrderAction"validate="false"parameter=<forwardname="showOrderList"path="/jsp/showOrder.do"/><actionpath="/jsp/stype="com.tarena.shop.action.OrderAction"validate="false"parameterpath="/j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爱婴医院知识培训课件
- 2024年09月山东光大银行济南分行社会招考(922)笔试历年参考题库附带答案详解
- 2024年09月全国2024年中国农业发展银行秋季校园招考笔试历年参考题库附带答案详解
- 2024年09月上海2024届中国民生银行上海自贸区分行秋季校园招考笔试历年参考题库附带答案详解
- 2024年09月2024中国建设银行上海大数据智慧中心校园招聘15人笔试历年参考题库附带答案详解
- 2024年08月泉州银行厦门分行招考笔试历年参考题库附带答案详解
- 2024年08月中国光大银行重庆分行综合柜员岗招聘笔试历年参考题库附带答案详解
- 2024年08月福建中信银行厦门分行社会招考(814)笔试历年参考题库附带答案详解
- 2025至2031年中国节油产品行业投资前景及策略咨询研究报告
- 河南交通职业技术学院《俄语阅读一》2023-2024学年第一学期期末试卷
- 中标结果质疑函
- 新能源发电技术 课件 第1章 绪论
- 黔东南南苗族侗族自治州黄平县2024年数学三年级第一学期期末考试试题含解析
- 重症医学质量控制中心督查评价标准及评分细则(2020版)
- 中建医疗工程交付指南
- 2024年甘肃省职业院校技能大赛养老照护(中职学生组)赛项样题1
- 圆圈正义读书分享课件
- 人教版数学二年级下册全册核心素养目标教学设计
- 人教版PEP小学英语三年级下册单词表(带音标)
- 康美药业财务分析案例
- 《无人机驾驶航空试验基地(试验区)基础设施使用、管理规范(征求意见稿)》
评论
0/150
提交评论