




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着INTERNET技术的发展,越来越多的交易活动都在网络上进行,网上购物已经成为一种时尚鉴于此我们针对图书的网上交易开发了一个网上图书订购系统本系统以页面的方式向顾客展示网上书城的书籍,并需要顾客注册为网上书城的会员,为会员提供购物和留言的功能购物时为顾客提供购物车和定单功能游客有浏缆商品和浏缆留言板的功能为网站管理员提供对各个版块的管理功能本系统使用ECLIPSE作为开发工具,基于B/S模式,采用MVC框架对整体进行设计,以跨平台语言JAVA作为低层代码实现语言MMODEL层使用HIBERNATE技术访问数据库,数据库使用的是MYSQL数据库CCONTROLLER层主要用STRUTS技术实现而使用JSP来实现VVIEW层的界面设计使用TOMCAT作为本系统SERVER端服务器关键词雪域书城、HIBERNATE、STRUTS、JSP、JAVA、MYSQL、TOMCATABSTRACTALONGWITHTHEINTERNETTECHNOLOGYSDEVELOPMENT,MOREANDMORETRANSACTIONACTIVITIESCARRIESONTHENETWORK,ONLINESHOPPINGALREADYBECAMEONEFASHIONINVIEWOFTHEFACTTHATTHISWEHAVEDEVELOPEDONLINEBOOKSORDERSYSTEMINVIEWOFTHEBOOKSONLINETRANSACTIONTHISSYSTEMBYPAGESWAYTOTHECUSTOMERDEMONSTRATEDTHATONLINEBOOKCITYTHEBOOKS,ANDNEEDTHECUSTOMERREGISTRATIONFORONLINEBOOKCITYMEMBER,PROVIDESTHESHOPPINGANDTHEMESSAGEFUNCTIONFORTHEMEMBERWHENSHOPPINGPROVIDESTHESHOPPINGCARTANDTHEORDERFORMFUNCTIONFORTHECUSTOMERTHETOURISTHASTHECLEARCABLECOMMODITYANDTHECLEARCABLEMESSAGECENTERSFUNCTIONPROVIDESFORTHEWEBSITEMANAGERTOEACHSECTORMANAGEMENTFUNCTIONTHISSYSTEMUSESECLIPSETOTAKETHEDEVELOPMENTKIT,INTHEPATTERNISBASEDONTHEB/SPATTERN,THEWHOLEUSESTHEMVCFRAME,REALIZESTHELANGUAGEBYCROSSPLATFORMLANGUAGEJAVAASTHEUNDERLYINGBEDCODETHEMMODELLEVELUSESTHEHIBERNATETECHNOLOGYTOVISITTHEDATABASE,WHATDATABASEUSEISTHEMYSQLDATABASETHECCONTROLLERLEVELMAINLYREALIZESWITHTHESTRUTSTECHNOLOGYBUTUSESJSPTOREALIZETHEVVIEWLEVELCONTACTSURFACEDESIGNUSESTOMACTTOTAKETHISSYSTEMSERVERENDSERVERKEYWORDSNOWTERRITORYBOOKCITY,HIBERNATE,STRUTS,JSP,JAVA,MYSQL目录摘要1ABSTRACT21绪论52开发环境和开发工具简介621ECLIPSE概述6ECLIPSE项目简介622JAVA语言简介6221JAVA语言特性6222丰富的类库623JSP概述7241JSP的技术原理73开发所用框架731HIBERNATE概述71持久化与关系数据库72对象/关系阻抗不匹配83阻抗不匹配的几个典型方面84对象/关系映射832STRUTS技术原理8321STRUTS整体框架8322STRUTS工作原理94系统需求分析941系统主要功能详细描述942系统角色及其功能分析1043系统功能模块设计105总体设计1141系统用例图14411用户用例图1442DB层设计15412各类ER图15图2361852DAO层设计2153SERVICE层设计2154WEB层设计226系统详细设计2361前台部分23611前台总体框架23使用HIBERNATE连接数据库24部分数据库表的结构设计25部分数据库建表语句25612用户管理模块32613修改密码33614购物车模块34616留言板模块387致谢428参考文献429附录一中英文对照文献441绪论互联网的浪潮席卷了我们生活的每一寸空间,从全球咨询,到奇闻异事;从时事要闻到衣食住行;只有我们想不到的没有在网络上找不到的由此可见互联网给我们工作、生活、学习所带来的翻天覆地的变化。随着INTERNET的迅猛发展,电子商务也以不可思义的速度融入到我们的生活中,以他便利,安全,可靠的优点冲击着传统的交易方式,网上购物已经被越来越多的人接受,并逐渐成为一种时尚INTERNET技术得到持续、猛烈的发展,已经成为计算机产业的一个技术热点,越来越多的企业开始关注网络,许多人正在或正准备学习网络知识,进行网络开发或创建自己的网站。本次毕业设计是基于B/S模式的网上购物系统,采用MVC框架使用到的技术主要包括HIBERNATE,STRUTS等基于JAVA的开源框架,使用JSP进行动态网页的设计使用MYSQL数据库对数据进行存储,应用服务器使用的是TOMCAT服务器本次网上购物系统是由我和另外两人组成的三人小组共同开发完成的,本系统主要分为用户管理,留言管理,产品管理,定单管理,购物车管理,管理员管理6个模块我负责对其中的用户管理,留言管理,购物车管理3个模块进行开发在此次毕业论文中,首先对开发中所有到的相关技术进行了简单介绍包括ELIPSE的体系结构和安装,以及开发环境的配置JAVA语言的特征和他的应用前景HIBERNATE的工作原理,配置文件和他的优点JSP的技术原理STRUTS的整体框架和工作原理然后是对需求分析和详细设计,包括数据库的结构设计使用HIBERNATE连接数据库,以及对本人所作模块的展示和部分实现代码2开发环境和开发工具简介21ECLIPSE概述ECLIPSE项目简介ECLIPSE是一个开放源码社区,专注于开发框架和示范工具的通用平台,从而使得构建和部署软件更简单且成本有效这个大型联盟包括主要软件供应商,解决方案提供商,企业,教研机构和个人,他们密切合作,一起创建一个生态系统,以便用补充的产品,能力和服务增强和形成ECLIPSEECLIPSE为三类支持者提供价值基于ECLIPSE的产品的用户将获益于提供对整个ECLIPSE生态系统中研究和知识的访问经受开放源码社区详细审查而产生的高质量软件ECLIPSE一致接口导致的重用技术的能力ECLIPSE平台是一个具有一组强大服务的框架,这些服务支持插件,比如JDT和插件开发环境PDE它由几个主要的部分构成平台运行库,工作区,工作台,团队支持和帮助22JAVA语言简介221JAVA语言特性JAVA是一个广泛使用的网络编程语言,它是一种新的计算概念。首先,作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、具有可移植性、鲁棒性、安全性、并且提供了并发的机制、具有很高的性能。其次,它最大限度地利用了网络,JAVA的小应用程序APPLET可在网络上传输而不受CPU和环境的限制。另外,JAVA还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统。JAVA语言有下面一些特点简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。222丰富的类库JAVA提供了大量的类以满足网络化、多线程、面向对象系统的需要。1语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现JAVA程序的运行平台。2实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。3输入输出包用统一的“流“模型来实现所有格式的I/O,包括文件系统、网络、输入4低级网络包用于实现SOCKET编程。5抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器。6网络包支持INTERNET的TCP/IP协议,提供了与INTERNET的接口。它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。23JSP概述241JSP的技术原理JSP语言及其特点在传统的网页HTML文件(HTM,HTML)中加入JAVA程序片段(SCRIPTLET)和JSP标记(TAG),就构成了JSP网页(JSP)。JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。程序片段可以操作数据库、重新定向网页以及发送EMAIL等,这就是建立动态网站所需要的功能。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的JAVA语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。JSP技术加速了动态WEB页面的开发3开发所用框架31HIBERNATE概述HIBERNATE是一个用于开发JAVA应用的对象/关系映射框架。它通过在数据库中为开发人员存储应用对象,在数据库和应用之间提供了一座桥梁,开发人员不必编写大量的代码来存储和检索对象,省下来的精力更多的放在问题本身上。1持久化与关系数据库持久化的常见定义使数据的存活时间超过创建该数据的进程的存活时间。数据持久化后可以重新获得它;如果外界进程没有修改它,它将与持久化之前相同。对于一般应用来说,持久化指的是将数据存储在关系数据库中。关系数据库是为管理数据而设计的,它在存储数据方面很流行,这主要归功于易于使用SQL来创建和访问。关系数据库使用的模型被称为关系模型,它使用二维表来表示数据。这种数据逻辑视图表示了用户如何看待包含的数据。表可以通过主码和外码相互关联。主码唯一的标识了表中的一行,而外码是另一个表中的主码。2对象/关系阻抗不匹配关系数据库是为管理数据设计的,它适合于管理数据。然而,在面向对象的应用中,将对象持久化为关系模型可能会遇到问题。这个问题的根源是因为关系数据库管理数据,而面向对象的应用是为业务问题建模而设计的。由于这两种目的不同,要使这两个模型协同工作可能具有挑战性。这个问题被称为对象/关系阻抗不匹配(OBJECT/RELATIONALIMPEDANCEMISMATCH)或简称为阻抗不匹配3阻抗不匹配的几个典型方面在应用中轻易实现的对象相同或相等,这样的关系在关系数据库中不存在。在面向对象语言的一项核心特性是继承,继承很重要,因为它允许创建问题的精确模型,同时可以在层次结构中自上而下的共享属性和行为。而关系数据库不支持继承的概念。对象之间可以轻易的实现一对一,一对多和多对多的关联关系,而数据库并不理解这些,它只知道外码指向主码。4对象/关系映射前页列举了一些阻抗不匹配的问题,当然开发人员是可以解决这些问题,但这一过程并不容易。对象/关系映射(OBJECT/RELATIONALMAPPING)就是为解决这些问题而开发的。ORM在对象模型和关系模型之间架起了一座桥梁,让应用能够直接持久化对象,而不要求在对象和关系之间进行转换。HIBERNATE就是ORM工具中最成功的一种。它的主要优点是简单,灵活,功能完备和高效。32STRUTS技术原理321STRUTS整体框架基于STRUTS的MVC模式即MODELVIEWCONTROLLER的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。STRUTS是MVC的一种实现,它将SERVLET和JSP标记(属于J2EE规范)用作实现的一部分。STRUTS继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。322STRUTS工作原理控制STRUTS需要用到一个XML文件STRUTSCONFIGXML,与之相关联的是CONTROLLER,在STRUTS中,承担MVC中CONTROLLER角色的是一个SERVLET,叫ACTIONSERVLET。ACTIONSERVLET是一个通用的控制组件。这个控制组件提供了处理所有发送到STRUTS的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是ACTION类的子类)。另外控制组件也负责用相应的请求参数填充ACTIONFROM(通常称之为FROMBEAN),并传给动作类(通常称之为ACTIONBEAN)。动作类实现核心商业逻辑,它可以访问JAVABEAN或调用EJB。最后动作类把控制权传给后续的JSP文件,后者生成视图。所有这些控制逻辑利用STRUTSCONFIGXML文件来配置。基于STRUTS的MVC模式的三层模式介绍如下视图VIEW主要由JSP生成页面完成视图,STRUTS提供丰富的JSP标签库HTML,BEAN,LOGIC,TEMPLATE等,这有利于分开表现逻辑和程序逻辑。模型MODULE模型以一个或多个JAVABEAN的形式存在。这些BEAN分为三类ACTIONFORM、ACTION、JAVABEANOREJB。ACTIONFORM通常称之为FORMBEAN,封装了来自于CLIENT的用户请求信息,如表单信息。ACTION通常称之为ACTIONBEAN,获取从ACTIONSEVLET传来的FORMBEAN,取出FORMBEAN中的相关信息,并做出相关的处理,一般是调用JAVABEAN或EJB等。控制CONTROLLER在STRUTS中,用户的请求一般以DO作为请求服务名,所有的DO请求均被指向ACTIONSEVLET,ACTIONSEVLET根据STRUTSCONFIGXML中的配置信息,将用户请求封装成一个指定名称的FORMBEAN,并将此FORMBEAN传至指定名称的ACTIONBEAN,由ACTIONBEAN完成相应的业务操作,如文件操作,数据库操作等。每一个DO均有对应的FORMBEAN名称和ACTIONBEAN名称,这些在STRUTSCONFIGXML中配置。4系统需求分析41系统主要功能详细描述1用户可以注册,登录。2登录用户可以查看用户资料,修改密码,添加收货人,删除收货人。3所有用户可以浏览商品列表及每个商品的详细信息。4所有用户可以进行查询本站所拥有的自己需要的物品。5所有用户可以查看用户留言列表,登录用户可以留言。6登录用户可以进行购物,并会像超市的购物车一样放入自己需要的物品以便后面的下单。7登录用户可以对自己的购物车进行相关操作。8登录用户可以在进行购物后,进行下单,网站可以对定单进行处理。9用户只能查看自己已经有的定单,并能看到每个定单的详细信息。10后台管理员可以对用户进行添加,删除,修改和查询操作。11后台管理员可以对商品进行添加,删除,修改和查询操作。12后台管理员可以查看所有的用户对应的定单。并能对每个定单进行删除操作。13后台管理员可以对用户留言进行删除操作。42系统角色及其功能分析系统主要用户有三类游客,登陆用户,管理员。游客主要可以用的功能是查看所有商品,搜索商品,查看商品详细信息,查看用户留言列表。登录用户主要可以用的功能查看修改自己的资料,查看所有商品,搜索商品,查看商品详细信息,购买商品,下定单,查看定单,查看用户留言列表,留言。管理员主要功能操作普通管理员信息,操作用户信息,操作产品信息,操作定单信息,操作用户留言信息。43系统功能模块设计功能结构图如下网上购书系统网上购书系统前台功能后台功能用户管理用户购买书用户留言个人资料管理留言板管理商品管理用户信息管理链接信息管理留言管理订单管理管理员身份验证功能模块设计图从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括用户注册,生成订单,购物车管理,查看购物车,查看留言,订购产品,订单查询和发布留言7个模块;后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,留言管理,连接信息管理6个模块。5总体设计网上书城系统是基于B/S架构。实现网上售书的电子商务网站。系统使用JAVA语言开发,利用到HIBERNATE和STRUTS等开源框架,整个系统分成多层,有效实现了系统各部分的低偶合整个系统主要有表现层业务层数据访问层。利用软件分层把系统偶合度降低。在数据访问层,使用接口和和实现分离。上层的服务只依赖于底层的接口,底层的实现方式改变不会影响到上层的服务。这样就会最大程度的降低了软件各部分之间的偶合。便于以后修改底层的实现。在分层的基础上。有将软件分模块,从而使系统横向上面分模块,纵向上面分层次。整个软件的层次是表现层业务层数据访问层DB整个软件根据系统需求分析,可得出系统两种用户的业务流程图。前台用户操作业务流程为开始浏览用户留言信息览商品列表登录浏览商品详细信息登录NN登录YY添加商品进购物车用户留言购物车生成定单退出结束在用户业务流里面,首先用户连接到主界面,主界面显示所有商品,并且提供商品的搜索服务,在主界面可以直接连接到用户留言列表界面,在主界面还可以连接到用户登录界面。用户在主界面可以浏览所有的商品,也可以查看商品的详细信息,在用户主界面和商品详细信息界面,用户可以将商品添加进购物车,此操作只有登录用户可以使用,非登录用户选自添加进购物车会被拦截到未登录界面。用户在留言主界面可以进行留言。非登录用户不能留言。用户可以点击购物车,进入购物车界面,在购物车界面,用户可以对购物车里的商品进行删除操作,也可以将购物车中的商品修改数量,还可以清空购物车。也可以在购物车界面选择继续购物,连接到主界面继续选择商品。用户还可以在购物车界面进行下单操作。将购物车里的商品生成定单。在生成定单之前需要用户添加收获人地址,一个用户可以添加多个收货人地址生成定单后,用户可以查看自己的定单。后台管理员的业务流程为开始登录管理员主界面有权限N权限出错页面Y管理员管理用户管理产品管理定单管理留言管理退出结束在后台中,管理员可以直接进入管理员入口登录管理员管理界面。在管理员管理的主界面显示的是管理员所有的操作。管理员可直接选择操作进入不同的管理界面,对管理员管理主要有超级管理员来实现,其他管理员没有此操作。用户管理界面直接显示所有用户的列表,在用户管理界面。管理员可以选择添加和删除用户,在产品管理界面,管理员可以添加和删除产品。定单管理界面。管理员可以删除定单。留言管理界面。管理员可以删除留言。41系统用例图411用户用例图412管理员用例图42DB层设计412各类ER图1USER用户USER有11个属性,分别是USERID,USERNAME,PASSWORD,CREATETIME,ADDR,TELEPHONE,E_MA,GENDER,AGE,STATE,ROLEUSER的ER如图231所示图2312USERITEM收货人USERITEM有7个属性,分别是USER_ITEM_ID,ITEM_NAME,ITEM_ADDRESS,ITEM_EMAIL,ITEM_MOBILELPHONE,ITEM_OFFICEPHONE,ITEM_POSTCODEUSERITEM的ER图232所示图2323MESSAGE用户留言MESSAGE有4个属性,分别是MESSAGEID,TITLE,CONTENT,USERNAMEMESSAGE的ER图如图233所示USERNNAMEUSERIDPASSWORDCREATETIMEROLEUSERSTATEITEM_ADDRESSITEM_MOBILEPHONEUSER_ITEM_IDITEM_OFFICEPHONEITEM_POSTCODEUSERITEMITEM_NAMEITEM_EMAIL图2234MODULE管理员权限MODULE有2个属性,分别是MODULEID,MODULENAMEMODULE的ER图如图234所示图2245ADMIN管理员ADMIN有5个属性,分别是ADMINID,ADMINNAME,PASSWORD,EMAIL,TELADMIN的ER图如图225所示图225CONTENTMESSAGEIDMESSAGETITLEUSERNAMEMODULE_IDMODULEMODULE_NAMEPASSWORDADMINIDEMAILTELADMINADMINNAME6CATALOG书籍分类CATALOG有3个属性,分别是CATALOGID,CATALOGNAME,DESCRIPTIONCATALOG的ER图如图236所示图2367PRODUCT商品PRODUCT有11个属性,分别是NAME,ISBN,PRINTER,AUTHOR,PRICE,PRODUCTID,BOOKNUM,STATE,IMAGEPATH,DESCRIPTION,CREATETIMEPRODUCT的ER图如图237所示NAMEISBNPRINTERAUTHORBOOKNUMDESCRIPTIONIMAGEPATHCREATETIMEPRICESTATEPRODUCTIDPRODUCT图237CATALOGIDCATALOGCATALOGNAMEDESCRIPTION8ORDER定单ORDER有5个属性,分别是ORDERID,TOTALPRICE,ORDERSTATE,PAYINFO,CREATETIMEORDER的ER图如图228所示图2289ORDERITEM定单条目ORDERITEM有2个属性,分别是ORDER_ITEM_ID,QUALITYORDERITEM的ER图如图239所示图23910对各个类的ER图进行,并标出他们之间的对应关系,得到整体EORDERSTATEORDERIDCREATETIMEPAYINFOORDERTOTALPRICEORDER_ITEM_IDORDER_ITEMQUALITYR图其中一个USER用户可以有多个MESSAGE留言,可以添加多个USERITEM收获人,可以创建多个ORDER定单一个USERITEM收获人可以创建多个ORDER定单一个ORDER定单可以增加多个ORDERITEM定单条目一个PRODUCT商品可以存在于多个ORDERITEM定单条目中一个CATALOG商品类型中可以有多个此类的PRODUCT商品一个ADMIN管理员可以有多个MODULE权限,一个MODULE权限可以为多个ADMIN管理员所有N11N11NN1NN1N1MNTALKUSERCREATEORDERADDORDERITEMHAVEPRODUCTCREATECATALOGMODULEHAVEADMINADDUSERITEMCREATEMESSAGE52DAO层设计在数据访问层,将全部使用接口和实现分离,这样便于以后更换数据库,降低了数据访问层与数据库之间的偶合度。在这层中,主要是对数据库的表操作。我们利用的是HIBERNATE技术。这是一种ORM技术,可以将关系数据库中存的每条记录都对应成一个实体,由于所有数据库中的表都只通过DAO来访问,所以在DAO中要有每个表的入口。因此,要为每和实体类对应一个DAO。53SERVICE层设计SERVICE主要是系统的业务逻辑,也就是系统的实际的业务逻辑活动,是系统的真正的核心,这一层主要都是一些业务。同时这一层中应该加上事务,因为,对数据库的操作可能出现异常,而SERVICE完全依赖于DAO,所以当数据库出现异常后,这里可以对未完成的事务进行回滚。54WEB层设计WEB层主要是用来接收用户请求,并通过请求的不同选择相应的服务来处理请求,再把结果表现给用户。这样在WEB中把请求,服务和表现分开。我们在JAVA的开源框架中选择STRUTS来做WEB层,我们首先利用ACTION来接收请求,在ACTION中有不同的方法来处理不同的请求,再在ACTION中调用相应的SERVICE来处理请求。对执行结果进行判断后,选择不同的JSP来进行表现。STRUTS中这种开发我们成为MVC模式,下面是MVC模式的图解,以及在本系统中的具体作用C控制层ACTIONNEWREQUESTRETURNM模型层浏览器FORWARD/REDIRECTRESPONSEV视图层JSP6系统详细设计61前台部分611前台总体框架前台部分由用户使用,包括用户注册,购物车管理,留言板管理,个人资料管理等几个部分。1模块功能介绍用户管理为了便于网站的管理,必须有一套完整的用户管理体系。该网站用户管理模块由用户注册,用户登陆,修改密码部分组成。购物车所选商品须通过购物车进行保存,然后生成订单。查看用户资料为了方便用户为自己或他人购买书籍,用户登陆后即可添加收获人信息。留言板用户登录以后可以查看和添加留言信息,对于游客可以查看留言信息雪域书店首页INDEXJSP用户注册PAGES/REGISTERJSP用户登录PAGES/LOGINJSP产品列表PAGES/LISTPRODUCTJSP留言板PAGES/LISTMESSAGEJSP修改密码BIZ/UPDATEPASSWORDJSP用户留言BIZ/ADDMESSAGEJSP加入购物车BIZ/CARTLISTJSP添加收获人地址BIZ/ADDUSERITEMJSP生成定单BIZ/ORDERLISTJSP查看用户资料BIZ/USERINFOJSP查看定单BIZ/ORDERINFOJSP退出2数据库操作使用HIBERNATE连接数据库TRUETRUEORGHIBERNATEDIALECTMYSQLDIALECTJDBCMYSQL/1270013306/ANGDUSEUNICODETRUECHARACTERENCODINGUTF8ROOTCOMMYSQLJDBCDRIVER部分数据库表的结构设计表1是对E_USER的描述列名说明类型备注USERID用户IDINT不允许空,主健USERNAME用户姓名VARCHAR不允许空PASSWORD用户密码VARCHAR不允许空表2是对E_USER_ITEM的描述列名说明类型备注USER_ITEM_ID收货人每项IDINT不允许空,主健ITEM_NAME收货人的名字VARCHAR可以为空ITEM_ADDRESS收货人的地址VARCHAR可以为空ITEM_POSTCODE收货人的邮编VARCHAR可以为空ITEM_OFFICEPHONE固定电话VARCHAR可以为空ITEM_MOBILEPHONE移动电话VARCHAR可以为空ITEM_EMAIL收货人人邮箱VARCHAR可以为空USERID用户IDINT不允许空,外健表3是对E_MESSAGE的描述列名说明类型备注MESSAGEID留言IDINT不允许空,主健TILE标题VARCHAR不允许空CONTENT留言信息VARCHAR不允许空部分数据库建表语句HOSTLOCALHOSTDATABASEANGDSERVERVERSION5015NTDROPDATABASEIFEXISTSANGDCREATEDATABASETARENA/40100DEFAULTCHARACTERSETGBK/USEANGDDROPTABLEE_MESSAGEDROPTABLEE_USER_ITEMDROPTABLEE_USERTABLESTRUCTUREFORTABLEE_USERCREATETABLEE_USERUSERIDINT11NOTNULLAUTO_INCREMENT,USERNAMEVARCHAR30NOTNULL,PASSWORDVARCHAR15DEFAULTNULL,CREATETIMEDATEDEFAULTNULL,STATEINT11DEFAULT0,ROLEINT11DEFAULT0,PRIMARYKEYUSERIDDEFAULTCHARACTERSETUTF8DUMPINGDATAFORTABLEE_USERTABLESTRUCTUREFORTABLEE_USER_ITEMCREATETABLEE_USER_ITEMUSER_ITEM_IDINT11NOTNULLAUTO_INCREMENT,ITEM_NAMEVARCHAR30DEFAULTNULL,ITEM_ADDRESSVARCHAR100DEFAULTNULL,ITEM_POSTCODEVARCHAR10DEFAULTNULL,ITEM_OFFICEPHONEVARCHAR50DEFAULTNULL,ITEM_MOBILEPHONEVARCHAR20DEFAULTNULL,ITEM_EMAILVARCHAR50DEFAULTNULL,USERIDINT12NOTNULL,PRIMARYKEYUSER_ITEM_ID,KEYUSERIDUSERIDDEFAULTCHARACTERSETUTF8CREATETABLEE_MESSAGEMESSAGEIDINTEGERAUTO_INCREMENT,TILEVARCHAR32,CONTENTVARCHAR32,PRIMARYKEYMESSAGEID3网站前台首页的运行结果如图1所示图1首页主要是向用户展示书店的书籍,并利用分页技术显示多余的书籍在头部的左上角显示用户的状态显示主页的JSP页面如下,他是通过FORM表单向ACTION传送数据,ACTION端利用REQUEST接送数据雪域书城/CSS/STYLECSS“RELSTYLESHEET/JS/TARENAJS“/IMAGES/BGGIF“ONLOAD“MM_PRELOADIMAGES/IMAGES/INDEX_ONGIF,/IMAGES/REG_ONGIF,/IMAGES/ORDER_ONGIF,/IMAGES/TOP/TOPXMAS/JP_ONGIF,/IMAGES/TOP/TOPXMAS/DOWNLOAD_ONGIF,/IMAGES/TOP/TOPXMAS/BBS_ONGIF,/IMAGES/TOP/TOPXMAS/DESIGNWZ_ONGIF“TOPMARGIN“0“LEFTMARGIN“0“RIGHTMARGIN“0“BOTTOMMARGIN“0“/PAGE/PRODUCTDO“/IMAGES/TOP_RGIF“WIDTH“搜索搜索作者名书名出版社出版日期种类程序设计文学书籍英语书籍种类/IMAGES/FORUM_NAVGIF“ALIGN“ABSMIDDLE“共有SIZE个结果/IMAGES/BG2GIF“WIDTH“序号/IMAGES/BG2GIF“WIDTH“产品名称/IMAGES/BG2GIF“WIDTH“价格/IMAGES/BG2GIF“WIDTH“操作STATUSCOUNT/PAGE/PRODUCTDOMETHODLISTDETAIL元操作/BIZ/CARTDOMETHODADDCART不成功则给出相应的错误信息其运行结果如图4所示图4其核心代码如下PUBLICACTIONFORWARDUPDATEPASSWORDACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONUSERSERVICEUSERSERVICENEWUSERSERVICESTRINGPASSWORD1REQUESTGETPARAMETER“PASSWORD1“TRIMSTRINGPASSWORD2REQUESTGETPARAMETER“PASSWORD2“TRIMSTRINGPASSWORD3REQUESTGETPARAMETER“PASSWORD3“TRIMHTTPSESSIONSESSIONREQUESTGETSESSIONUSERUSERUSERSESSIONGETATTRIBUTE“USER“IFPASSWORD1EQUALSUSERGETPASSWORDSTRINGMESSAGE“旧密码错误,请重新输入“REQUESTSETATTRIBUTE“MESSAGE“,MESSAGERETURNMAPPINGFINDFORWARD“UPDATEPASSWORD“ELSEIFPASSWORD2EQUALSPASSWORD3STRINGMESSAGE“两次密码输入不一致,请重新输入“REQUESTSETATTRIBUTE“MESSAGE“,MESSAGERETURNMAPPINGFINDFORWARD“UPDATEPASSWORD“USERSETPASSWORDPASSWORD2USERSERVICEMODIFYUSERUSERRETURNMAPPINGFINDFORWARD“UPDATEPASSWORD_SUCCESS“614购物车模块在超市购物,可以根据自己的需要将很多的物品挑选到购物车(篮)中。而在网上虚拟的购物商城中,通常都会采用一种被称做“购物车”的技术来模拟现实生活。这种技术用起来十分方便,不但可以随时添加,查看,修改,清空购物车中的内容,还可以随时去收银台结帐。游客和登录用户都可以在首页浏览本系统的商品,并查看商品详细信息。要想购买商品必须先登录。本系统为每个登录用户提供一个购物车,用户在本系统购买商品时可以像在超市中一样把要买的商品放入购物车。在购物车界面用户可以选择继续购物,删除不满意的商品,最后确认定单进入定单管理界面。其流程图如图所示首页(浏览商品)登录登录加入购物车删除一个商品继续购物确认定单提交定单1添加购物车、添加购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的“”按钮时,系统会将该商品的详细信息展示在查看物品清单页中,运行结果如图5所示图5可以修改书籍的数量,然后点保存修改就可点击“确认定单“进入定单管理模块其代码实现如下所示/IMAGES/TOP_RGIF“WIDTH“序号/IMAGES/TOP_RGIF“WIDTH“产品名称/IMAGES/TOP_RGIF“WIDTH“价格/IMAGES/TOP_RGIF“WIDTH“数量/IMAGES/TOP_RGIF“WIDTH“合计/IMAGES/TOP_RGIF“WIDTH“操作/BIZ/CARTDO“NAME“F1“STATUSCOUNTCARPRODUCTSPRODUCTNAMECARPRODUCTSPRODUCTPRICECARPRODUCTSTOTAL/BIZ/CARTDOMETHODREMOVE“总计CARTTOTAL人民币/BIZ/ORDERDOMETHODCONFIRMORDER“/PAGE/PRODUCTDOMETHODLISTALL“/BIZ/CARTDOMETHODREMOVEALL“购物车内还没有商品2清空购物车清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在进行选购商品,这样防止重复购物,清空购物车就是把当前SESSION中CART中的商品清出即可起代码实现如下PUBLICACTIONFORWARDREMOVEACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONHTTPSESSIONSESSIONREQUESTGETSESSIONINTEGERPRODUCTIDINTEGERPARSEINTREQUESTGETPARAMETER“PRODUCTID“CARTCARTCARTSESSIONGETATTRIBUTE“CART“CARTREMOVECARTPRODUCTIDSESSIONSETATTRIBUTE“CART“,CARTRETURNMAPPINGFINDFORWARD“REMOVECARTSUCCESS“616留言板模块对于未登录用户来说,可以在留言列表页面查看其他用户在留言板中的留言,但不能自己进行留言;用户必须在登录以后才能进行留言,登录用户提交留言后转到留言列表页面。起流程图如图所示首页查看留言登录登录用户留言1留言列表留言板是一个商务网站中不可少的一部分,他可以增进用户与网站之间的交流。添加留言是用户与用户,以及用户与网站之间的一种交流模式,只有把用户想要表达的内容添加到数据库中,才能在浏览留言板中显示。游客点击网战头部的“留言板“进入留言板模块,此时游客可以看到别人的留言,但不能自己留言要想留言必须先登录运行结果如图6所示其核心代码如下用户名MESSAGEUSERNAME标题MESSAGETILE内容MESSAGECONTENT/BIZ/ADDMESSAGEJSP“我要留言2留言板图6登录后的用户在留言板中单击“我要留言”超链接就可以打开添加留言页面,该页面用来提交用户输入的留言信息,留言信息写好后,可以点击提交按钮,若提交成功,则自动转入浏览留言页面,该页面显示所有用户的留言,时间最近的排在最前面。运行结果如图7所示其核心代码FORMMETHOD“POST“ACTION“/BIZ/ADDMESSAGEDO“NAME“ADDMESSAGE“用户名标题请输入标题内容请输入内容7致谢时光飞逝,弹指一挥间四年的大学生活已到尾声在即将结束的大学生活时,为了巩固我们在大学中所学的知识,学校为我们每个人安排了毕业设计在平时在学习中我们学习的都是理论知识,动手展示自己的机会不多,所以这次毕业设计对我们每个人来说都是大学中最后一门课,一门锻炼自己的动手能力,巩固已学知识的实践课本次毕业设计我做的是网上图书订购系统,在作这个系统当中遇到了很多问题,也学到了很多知识在此我要感谢我的导师陈学进老师虽然我不是在学校做的毕业设计,但是平时通过邮件和电话得到了陈老师很大的帮助,我想如果没有陈老师给我的指导和帮助,以及对我的严格要求我是不可能按时按质完成毕业设计的最后我感谢在达内作毕业设计时我的项目经理战文备老师,还有后期测试和撰写毕业设计给我帮助的项目经理们8参考文献1陈火旺,徐建波,周新莲WEB设计原理与编程技术M中南大学出版社20052柏亚军JSP编程基础及应用实例集锦M人民邮电出版社20013李江,张威实例解析XML/XSL/JAVA网络编程M北京希望电子出版社20024(美)DAMONHOUGLAND,AARONTAVISTOCK,马朝晖译JSP核心技术机械工业出版社20015熊锡仪,动态网页设计,清华大学出版社,20046孙卫琴精通HIBERNATEJAVA对象持久化技术详解电子工业出版社9附录一中英文对照文献英文资料EXPLORINGTHESTRUTSARCHITECTURE22WHYWENEEDSTRUTSTODAYSWEBAPPLICATIONSARECRITICALCOMPONENTSOFTHECORPORATEMISSIONASALWAYS,DEVELOPMENTTEAMSNEEDTOBUILDAPPLICATIONSINRECORDTIME,BUTTHEYHAVETOBUILDTHEMRIGHTANDBUILDTHEMTOLASTJAVAWEBDEVELOPERSALREADYHAVEUTILITIESFORBUILDINGPRESENTATIONPAGES,SUCHASJAVASERVERPAGESANDVELOCITYTEMPLATESWEALSOHAVEMECHANISMSFORHANDLINGDATABASESJDBCANDENTERPRISEJAVABEANSEJBS,FOREXAMPLEBUTWHATDOWEUSETOPUTTHESECOMPONENTSTOGETHERWEHAVETHEPLUMBINGANDTHEDRYWALLWHATELSEDOWENEED221ONESTEPBACK,THREESTEPSFORWARDINTHELATE1970S,WHENGRAPHICALUSERINTERFACESGUISWEREBEINGINVENTED,SOFTWAREARCHITECTSSAWAPPLICATIONSASHAVINGTHREEMAJORPARTSTHEPARTTHATWHYWENEEDSTRUTS31MANAGESDATA,THEPARTTHATCREATESSCREENSANDREPORTS,ANDTHEPARTTHATHANDLESINTERACTIONSBETWEENTHEUSERANDTHEOTHERSUBSYSTEMSOORAMINTHEEARLY1980S,THEOBJECTWORKS/SMALLTALKPROGRAMMINGENVIRONMENTINTRODUCEDTHISTRIUMVIRATEASADEVELOPMENTFRAMEWORKINSMALLTALK80PARLANCE,THEDATASYSTEMISDUBBEDTHEMODEL,THEPRESENTATIONSYSTEMISCALLEDTHEVIEW,ANDTHEINTERACTIONSYSTEMISTHECONTROLLERMANYMODERNDEVELOPMENTENVIRONMENTS,INCLUDINGJAVASSWING,USETHISMODEL/VIEW/CONTROLLERMVCARCHITECTURESEEFIGURE21ASTHEFOUNDATIONOFTHEIROWNFRAMEWORKSJAVAWEBDEVELOPERSALREADYHAVECAPABLETOOLS,SUCHASJDBCANDJSP,FORCONSULTINGTHEMODELANDCREATINGTHEVIEW,BUTWHERESTHECONTROLLERFOROURWEBAPPLICATIONS222ENTERSTRUTSTHECENTERPIECEOFSTRUTSISANMVCSTYLECONTROLLERTHESTRUTSCONTROLLERBRIDGESTHEGAPBETWEENMODELANDVIEWTHEFRAMEWORKALSOINCLUDESOTHERMISSINGPIECESDEVELOPERSNEEDTOWRITESCALABLE,LEADINGEDGEWEBAPPLICATIONSSTRUTSISACOLLECTIONOF“INVISIBLEUNDERPINNINGS”THATHELPDEVELOPERSTURNRAWMATERIALSLIKEDATABASESANDWEBPAGESINTOACOHERENTAPPLICATION223STRUTSCONTROLLERCOMPONENTSTHESTRUTSCONTROLLERISASETOFPROGRAMMABLECOMPONENTSTHATALLOWDEVELOPERSTODEFINEEXACTLYHOWTHEIRAPPLICATIONINTERACTSWITHTHEUSERTHESECOMPONENTSVIEWCONTROLLERMODELFIGURE21THEMODEL/VIEW/CONTROLLERARCHITECTURE32CHAPTER2EXPLORING
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 徐州酒店整改方案(3篇)
- 工会食堂账务管理制度
- 固废处理公司管理制度
- 国企开发公司管理制度
- 宾馆隔离日常管理制度
- 农村烟花日常管理制度
- 公司电器节能管理制度
- 学校物料发放管理制度
- DB62T 4495-2022 苹果矮化自根砧脱毒苗木繁育技术规程
- DB62T 4459-2021 小麦品种 甘春32号
- 专职安全安全员委派书(新)
- 暂时进出口协议范本样本
- 2022年公务员年度考核测评表
- 2022届高考英语考前最后一课课件(10张)
- 军事地形学地形图基本知识
- 根轨迹法(自动控制原理)PPT课件
- 工程力学作图题计算题(共63页)
- 全国节能监察机构能力建设仪器装备配置指南
- 工程实体样板实施方案
- 气温曲线和降水柱状图编辑器(可编辑L)
- 第七章 汽车国际贸易运输与保险
评论
0/150
提交评论