购物商城毕业论文

购物商城毕业论文

ID:46218403

大小:1.10 MB

页数:54页

时间:2019-11-21

上传者:U-7604
购物商城毕业论文_第1页
购物商城毕业论文_第2页
购物商城毕业论文_第3页
购物商城毕业论文_第4页
购物商城毕业论文_第5页
资源描述:

《购物商城毕业论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

太原电力高等专科学校毕业设计(论文)题目购便宜购物商城系另ll计算机工程系专业计算机科学与技术班级计本0915班姓名李斌指导教师王玲下达日期年月日 设计时间口年月曰至年月日(宋体3号)基于Java的网上商城系统的设计与实现摘要伴随着internet的蓬勃发展,电子商务也取得了突飞猛进的发展。电子谢务是在互联网开放环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户Z间的网上交易和在线电子支付的一种新型的商业运作模式。不同领域的电子商务网站的建立,给人们的生活带来了巨大的影响。木论文就此网上购物系统进行了详细全面的论述。网上购物商城系统是一个B/S结构的信息管理系统,开发主要包括前台页面显示层,后台数据库持久层,和基于JavaBean装的业务逻辑层。网上商城系统共分两个部分:前台用户部分和后台管理部份。在前台用户部分屮,包括用户在线注册、用户在线登录、浏览商品、查询商品信息、购物车管理、订单查看、订购商品等操作;后台管理部分包括:客户的管理、商品种类的管理、商品信息的管理、用户订单的管理。作为一个购物系统,系统的安全性和实现购物的方便性是很重要的,在安全性方面,系统主要考虑了数据存储的安全性,以及用了用户注册和密码等措施,如用户注册时,对用户密码试用md5技术进行加密处理。另外,系统用到的主要技术有JSP+servlet,AJAX和JavaBean,系统采用MySQL来设计数据库,使用MyEclipse开发平台。本文主要介绍了JavaBean+JSP+servlet系统的一般原理;阐述了整个页面生成的结构及工作原理;分析了系统实现中的难点和重点;设计实现了用户注册/登录、查询、购买;实现了管理员对后台的系统管理;分析并解决了实现中的若干技术问题。关键词:购物系统;JSP+servlet;mysql;javaBean;web项目 DesignandimpIementationofonIinemaIIbasedonJavaAbstractAccompanyingwiththedevelopmentofInternet,E-commercealsohasobtainedthedevelopmentwhichprogressesbyleapsandbounds.ElectroniccommerceistheInternetopenenvironment,Basedonthebrowser/serverapplicationmode,Realizeconsumeronlineshopping,Onlinetransactionsbetweenmerchantsandonlineelectronicpaymentofanewtypeofcommercialoperationmode.Theestablishmentofthedifferentareasofe-commercesites,broughthugeinfluencetopeople'slife.Thispaperontheonlineshoppingsystemhascarriedonthecomprehensivediscussionindetail.OnlineshoppingmallsystemisaB/Sstructureofinformationmanagementsystem,mainlyincludingfrontdeskpagedisplaylayer,backgrounddatabasepersistencelayer,andbasedontheJavaBeanencapsulatesthebusinesslogiclayer・Onlinemallsystemisdividedintotwoparts:thefrontdeskuserpartandthebackgroundmanagement.Inpartatthefrontdeskusers,includingusersonlineregistration,userlogin,browseonlinecommodities,queryinformation,shoppingcartmanagement,orderreview,orderinggoods,etc;Backgroundmanagementpartincludes:thecustomermanagement,producttypesofordermanagement,commodityinformationmanagement,usermanagement.Asashoppingsystem,systemsecurityandrealizetheconvenienceshoppingisveryimportant,intermsofsafety,systemmainlyconsideringthesecurityofdatastorage,andusetheuserregistrationandpasswordetcmeasures,suchasuserregistration,thetechnologyofuserpasswordtotrythemd5encryptionprocessing.Inaddition,thesystemUSESthemaintechnologyhastheJSP+servlet,AJAXandaJavaBean,todesignthedatabasesystemUSESMySQL,usingtheMyEclipsedevelopmentplatforms.ThisarticlemainlyintroducedtheJSP+JavaBean+servletgeneralprinciple;Expoundsthestructureandworkingprincipleoftheentirepagegeneration,Analysestheemphasisanddifficultyinsystemimplementation;Designrealizestheuserregistration/login,query,purchase;Realizetheadministratorofthebackgroundsystemmanagement;Analyzeandsolvesometechnicalproblemsinimplementation.Keywords:onlineshoppingmall;JSP+Servlet;MySQL;javaBean;Webapplications 目录ABSTRACTIll第一章引言11.1选题意义11.2.1选择网上商城的原因11.2.2国内网上商城的现状11.2.3现今网上交易存在的一些的问题1第二章项目构架分析与设计22.1物理构架22.2逻辑构架22.2.1JSP+JavaBean+Servlet框架介绍.22.2.2JSP简介.22.2.3JavaBean简介32.3开发工具32.3.1Myeclipse简介32.3.2TOMCAT6.0简介32.3.3mysq]简介32.3.4AJAX技术简介4第三章需求分析5 2.1网站功能需求分析5 3.1.1用户需求确定.53.2数据需求分析63.2.1数据库需求分析6第四章总体设计63.3技术解决方案需求分析2.1数据库MYSHOPPING设计74.1.1商品种类信息表(category)的设计74.1.2管理员信息表(adminer)的设计74.1.3订单明细表(salesitem)的设计74.1.4订单信息主表(salesorder)的设计.84.1.5会员信息表(user)的设计84.1.6商品信息表(product)的设计84.2前台设计9421前台功能介绍.9422前台购物的流程图94.3后台设计94.3.1购便宜网上购物商城后台功能介绍10432购便宜商城后台的操作流程图10第五章界面设计105.1用户注册105.1.1界面.10 5.1.2流程图11 5.2用户登录11521界面.12522流程图125.3用户登录125.3.1界面.12532流程图155.4查看商品信息155.4.1界面.155.4.2流程图165.5商品搜索165.5.1界面.165.5.2流程图仃5.6购物车175.6.1界面.17562流程图185.7生成订单185.7.1界面.1857.2流程图195.8后台管理195.8.1界面.195.8.2流程图25 第六章开发环境配置说明26 6.1开发环境配置26第七章开发与测试287.1开发流程287.2测试29第八章所用技巧及难点分析298.1所用技巧29&2难点分析308.2.1分页309.1总结379.2展望38致谢38参考文献39 第一章引言随着全球信息网络的发展,Internet在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式,彻底改变了人类工作,学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。Internet止成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。更重耍的是,大部分信息都是免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。因此,木设计是通过JSP语言來实现,一个基于B/S模式三层结构的JSP网上购物网站网站。1-1选题意义网上商城的出现和发展给人们的购物带来了全新的改变,它不但使整个购物的性质和方式发生了翻天覆地的变化,而且也使人们整个购物流程变得高效而便捷。网上商城交易的个性化、自由化可为企业创造无限商机,降低成木,同时可以更好地建立同客户、经销商及合作伙伴的关系,为此,许多公司积极拓展电子谢务,为客户服务,进行价值链集成。1.2当今网上购物的发展现状1.2.1选择网上商城的原因网上商城也是电子商务的一•种典型应用。jsp是构建电子商务系统的新兴技术,采用JSP技术,可以方便地将系统分离为三层:表示层、业务层及数据腭层。表示层向客户的浏览器提供基TWeb的显示页面;业务层处理客户购物过程;数据层则提供数据存储。采川这种层次结构可以提高系统的扩展性和服务器的效率,方便开发。本设计只在满足网上购物的基本功能,主要采用JSP技术,设计和开发开发了一个网上购物系统,具有可靠性好、可扩展性和口J重用性的特点。系统中采用多种设计模式來提高系统性能:采用前台控制器来方便地实现导航;采用复合视图来向用户提供Web显示,减少了视图中代码的重复;采用业务代表降低各层之间的耦合;并在业务层屮采川值对象来向表示层提供数据。系统以mysql数据库管理系统作为后台数据库,应用于基于B/S模式的网上商城系统的设计与实现。1.2.2国内网上商城的现状在国内的网上商城:(1)起步晚、数量却非常多。虽然我国的网上商城起步的很晚,但是发展却很迅速,根据某调查网站上的数据可知,到目前具有网上商城的性质的网站达上万Z多,但是能够真止满足消费者购物要求的却不多。(2)支付和安全认证上的客观技术原因,导致用户完成电子商务交易变得和当复杂,使大部分用户还没等交易完成就已经退避三舍了,所以开发一个安全又操作简单的网上商城难度很大。(3)由于很多网上商城商家一开始都想把白己的网站做到成亚马逊那种境界,这导致很多网站只对商城货物的品种和数量上加以扩张,却不对数据査询技术加以改进,这使很多网站在川户浏览的时候速度很慢或者交易的过程中时间太长。(4)很多网上商城跟用户的交流很少,开发出來的网站,却不适合大部分用户的要求。1.2.3现今网上交易存在的一些的问题根据CNNIC最新公布的第十二次互联网调查结杲显示,用户认为目前网上交易存在的最大问题是商品质量、售后服务及厂商信用得不到保障和安全性得不到保障,分别达到40%和25%,两者之和达到65%。据中国消费者协会投诉部有关人士介绍,近年來,网上购物过程中出现的各种“陷阱”也已成为投诉的热点。主要表现在三个方面:一是夸大其辞、虚假宣传;二是违法提供有奖 销售服务,利用巨额奖金或奖品诱惑消费者浏览其网站;三是不履行售后服务约眾,对网上售出的商品不承担“三包”责任。诚信是网上购物最值得关注的问题,营造宽松繁荣的电子商务环境,必须通过立法解决诸如交易手段和诚信等问题。要建立网上交易诚信机制,不是单靠评个诚信网站就能解决的,而是要在开展电子商务的机制上和社会配套上给予解决。第二章项目构架分析与设计2.1物理构架(1)网络服务器操作系统:Windows7;(2)Web服务器:Tomcat6.0;(3)后台数据库系统:MySQL;(4)JSP运行环境:J2SDK1.6o2.2逻辑构架2.2.1JSP+JavaBean+ServIet框架介绍Scrvlet+JSP+JavaBea.n(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负贵处理用户请求,jsp负贵•数据显示,javabean负贵封装数据。Scrvlet+JSP>JavaBcan模式程序各个模块Z间层次清晰,web开发推荐采用此种模式。JSP+JavaBean+Servlet三层结构的实质是比jsp+javaBean两层结构多了一个Controller:Servlet来分发客户端浏览器的请求。如果把起控制器作用的Servlet的作用理解为对客户端的请求进行预处理对理解Servlet将有很大的帮助。通过web.xml配置文件可以找到用户请求和特定的Servlet的对应关系,每个Servlet都有一个特定的Servlet对象与之对应,所以说处理用户请求的就是一个继承自HttpServlet的Servlet对象。当然也可以把这些处理操作完全写在jsp程序屮,不过这样的jsp页面可能就有成百上千行,光看代码就是一个头疼的事情,更不用说修改了,这对以后的代码维护増加很大的难度,而冃可能同样的代码会在一个页面当屮岀现多次,这不但降低了代码的可读性也降低了代码的重用性。由此可见,通过JavaBean可以很好地实现逻辑的封装、程序的易于维护等等。如果使用Jsp开发程序,一个很好的习惯就是多使用JavaBeano其工作原理如图2-1所示。图2-1三层架构的工作原理2.2.2JSP简介 JSP(JavaServerPages)技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其屮的程序段,然后将执行结果连同JSP文件屮的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需耍的功能。JSP技术还有如下儿个优点:(1)一次编写,到处运行;(2)系统的多平台支持;(3)强大的可伸缩性;(4)多样化和功能强大的开发T具支持。2.2.3JavaBean简介JavaBean是sun微系统的一个面向对象的编程接口,它可以让开发展建可重用应用程序或能在网络中任何主流操作系统平台上配置的程序块,称作组件。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的jsp页血、servlet、其他JavaBeanapplet程序或者应用來使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。2.3开发工具2.3.1Myeclipse简介MyEclipsc企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipsc)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大地提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts.JSF、CSS、Javascript.SQL、Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。2.3.2T0MCAT6.0简介Tomcat6.0服务器是Apache组织开发的一种JSP引擎,本身具有WEB服务器的功能,可以作为独立的WEB服务器来使用。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还是一个免费开源的系统,任何一个感兴趣的程序员都可以更改它或在其屮加入新的功能。在屮小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。但是,在作为WEB服务器方面,Tomcat出来静态HTML页面时不如Apache迅速,也没有Apache健壮,所以一般将Tomcat与Apache配合使用,止Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑具体的操作系统平台。2.3.3mysqI简介MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。 目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle.DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都和对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。H前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Pcrl/Python)和LNMP(Linux+Nginx+MySQL+php/perl/Python),即使用Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花-•分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。2.3.4AJAX技术简介Ajax的全称是:AsynchronousJavaScriptXML,运用异步JavaScript+XML,浏览器就不必等用户请求操作,也不必更新整个窗口就可以显示新获取的数据。只要来冋传送采用XML格式的数据,在浏览器里面运行的JavaScript代码就可以与服务器进行联系。JavaScript代码还可以把样式表加到检索到的数据上,然后在现有网页的某个部分加以显示。Ajax是使用客户端脚木与Web服务器交换数据的Web应用开发技术。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌而应用的直接、高可用、更丰富、更动态的Web用户界而。 第三章需求分析2.1网站功能需求分析3.1.1用户需求确定1.普通用可以通过系统浏览商品(按类别)。2•普通用户可以通过系统搜索商品(按大类别、商品名称)。2.普通用户可以通过注册成为系统的会员(免费注册)o3.会员可以通过系统浏览和搜索商品。5•会员可以通过系统下订单。4.会员可以浏览自己以前的订单。5.会员可以通过系统管理自己的信息垂设密码6.管理员可以通过后台进行会员管理①会员浏览;②会员历史订单浏览。7.管理员通过后台进行商品分类的管理①浏览、添加、删除、修改商品种类。12.管理员通过后台进行商品管理①新增商品;②商品删除;③商品信息修改;④I苔j品检索。13.管理员通过后台进行订单的管理①订单查询;②修改订单状态。3.1.2系统业务逻辑需求分析1.会员类①包装会员信息;②与订单类是一对多的关系。2.管理员类①封装系统管理员。3•商品类①包装商品的信息;②与订单类是多对多的关系。4.商品类别类①包装商品的类别; ①与商品是一对多的关系。2.订单类①与商品是多对多的关系;②与会员是多对一的关系。3.订单明细类①包装订单中商品的信息;②与订单是多对一的关系。3.2数据需求分析3.2.1数据库需求分析数据库的设计通常是以一个己经存在的数据库管理系统为基础的,常用的数据库管理系统有Access、SQLServer、Oracle等。根据用户的需求和系统分析,本系统采用mysql数据库管理系统。在mysql数据库管理系统中建立名称为myshopping的数据库。这个数据库需要提供各种信息的保存、更新和查询,这就要求数据库结构充分满足各种信息的输出和输入。搜集基本数据、数据结构和数据处理的流程,组成一个详尽的数据字典,为后面的具体设计打下基础。在myshopping的数据库中,根据项目的需求建立相应的数据表,如卜:1、user(会员信息表),包括数据项:用户ID,邮箱,密码,联系方式等;2、product(商品信息表),包括数据项:商品编号,商品名称,商品描述,商品价格,商品上架13期,商品所属种类,商品数量,商品图片所在地址等;3、category(商品类别类),包括数据项:类别ID(自动编号),类别名称,类别等级,上级种类ID;4、adminer(管理员类),类别ID、用户名、密码;5、salesitem(订单信息明细表),包括数据项:编号,商品编号,单价,数量,订单编号等。6、salesorder(订单信息主表),包括数据项:订单编号,用户编号,订单标识符(是否已发货),商品总价等;1.3技术解决方案需求分析(1)Webserver-Tomcat6.0;(2)DataBase-mysql;(3)开发环境-MyEclipse8.5。 第四章总体设计1.1数据库myshopping设计木设计的数据库名字为myshopping,此数据库屮总共有六张表分别为:category(商品种类信息表)、adminer(管理员信息表)、salesitem(订单明细表)、salesorder(订单信息主表)、user(会员信息表)、product(商品信息表)。4.1.1商品种类信息表(category)的设计表4Tcategory表列名数据类型长度是否空描述IDint11否类别ID(自动编号),主键namevarchar255否种类名gradeint11否种类级别doservarchar255是种类描述pidint11否上一级种类id4.1.2管理员信息表(adminer)的设计表4-2adminer表列名数据类型长度是否空描述IDint11否类别ID(自动编号),主键usernamevarchart40否用户名passwordvarchar32否密码4.1.3订单明细表(salesitem)的设计表4-3salesitem表列名数据类型长度是否空描述1Dint11否1D号,主键orderTDint11否与salesorder表的orderTD字段关联productidint11否商品II)priceint11否价格 pcountfloat0否数量2.1.4订单信息主表(salesorder)的设计表4-4salesorder川户表列名数据类型长度是否空描述orderlDint11否订单编号,主键useridint11否用户idtotalpricefloat0否商品总价odatedatetime0否订单添加时间finishedint11否订单发货标识符4.1.5会员信息表(user)的设计表4一5user表列名数据类型长度是否空描述IDint11否会员ID号,丄键usernamevarchar40否用户名passwordvarchar32否密码cityvarchar32否所在城市streetvarchar64否所住地街道phonevarchar40否手机电话emai1varchar20否E-mail地址homephonevarchar20否家庭电话provincevarchar32否所在省4.1.6商品信息表(product)的设计表4-6product表列名数据类型长度是否空描述TDint11否商品ID,主键categoryiclint11否类别IDnamevarchar255否商品名称descrvarchar255否商品简介norma]priceint11否原价memberpriceint11否会员价 photoVarchar255否图片文件pdatedatetime0否录入时间numint11否数量4.2前台设计4.2.1前台功能介绍当用户进入到木系统的主页后,用户可以自由的浏览商品信息和搜索商品。当用户需耍购买商品时,用户需要先进行注册,注册后再登录,然后再把选中的商品添加到购物车当中,最后交易生成订单。当用户进入首页时,需登录才能查看购物车以及订单详情。否则,将进入登陆界而。4.2.2前台购物的流程图用户在网上商城购物的整个购物流程如下图4-1所示。没注册图4-1网站购物与交易处理流程 4.3.1购便宜网上购物商城后台功能介绍在后台,管理员通过用户名和口令进行登录,在后台管理员可以对商品的类别加以管ffl:浏览类别、添加类别、删除类别以及修改类别信息;可以对商品的管理:浏览商品、添加商品及修改商品信息;对用户的管理:查看注册的用户;对订单的管理:査看订单、以及对订单处理等功能。4.3.2购便宜商城后台的操作流程图管理员在后台进行管理的整个操作流程如下图4-2所示。用八管理用户浏览商品管理商品增加订单管理订单详情浏览订单发货图4-2网站购物M交易处理流程第五章界面设计 当进入注册界面,需填写注册所需的用户名、密码、确认密码、联系电话、送货地址等信息,如果邮箱已被注册,提示该邮箱已被注册;如果点击注册时,有空的地方没有填写,将弹出相应的提示信息。都输入完成Z后可以单击“提交”按钮进行注册,具体效果如图5-1-1所示。-・尺久快:;用从hntnG购便宜BetterPrice欢迎注为我的会员eec<09■■*■■■-j____wH-也Jj■MUtMkuwcUpteftfA4•■八C*MWrpgHnUttbr011(Mi«1trmHKWl^R&Etrniv叩就洙®PSw4^XOQlffMTV0公耐■lKBC:KW»eEXOH^iSil^mE«■HQIWp.w^M>«be*n【:•-:;■“^4/^|0Mtnr»*«loginresult邮箱或密码错误,请車新输入C«m*Al**01nl!中n«gw*會R9QcfinmA修改完数量后,点击更新购物车,可以对购物车进行更新。如果数量为空,将弹出提示信息,如下图: JyMrJSP・2»My<.5p"F■•UM•CRj・厶亦司*F±»B^RU«b«M*MJA-nrafJTi■-JTS■亦b令口•LRH60•JHCWrUBMIntorgUgAxt«&R・t3ftwraMKT.PF柚I.屜与.Ma*€G购便宜Bet-terPrice我的购韌丰三二C3"丿L恥占故1xmwsavrrifliRH英伦•ft户外丄nUT^WK?..船f份XtM£人HMT20134H4iHX凤衣1Ft2U1BMKWVH24-2CT匚恥3T2『W*更新购物车|蹩埃购买;和拘车SIS血格1625TL0元工一丙UJ【2〕兹右贡vmltwMX山l«B«rvt<0UYiFlUMT<|OZRMIIV)QICSOXBriQ:tftIM*;*"农気廿釧”心图5-3-35.3.2流程图图5-3-65.4查看商品信息1.4.1界面进入首页后,用户可以根据菜单栏选择自己想耍选择的商品,首页中间为商品所有种■H塔i・L面:们・■“类,再下面是最新上架的商品,可以选择它进行够买,首页具体效果如图5-4-1所示:i£HKM3kKi^ottG购便宜BvttvrPx-iao 女ur«ahm内次户外9•■tt7/M-KM-SSWVP-Mfl・>R-fX-儿Jl刚坪 男tt运动IR怖xra«»£»<»・iina9cm内衣imKB$■■£AtACWm儿■■【•8h^羽电并丘丘禅2»•£交dF1I8•・t3丹・bftESRAWIt衣杯卫衣AC字宁Ml苗均t*圍黑BW«KT*ItaffAliRin*突氏內・«kxilhcnt-耳访B參粹±M「■段X•£«卿-J)^ZRWMJ•・••RR«rUC从tnce^(xp^erC嘩5.4.2ifi^S・|K^ntlXmH1芟M方《£•*/>•pi«■HAdd5MNHW®XWMIW»ttR"EO•■片RMcflKMS■灯f”5乂■«H・aBMMI丹元2*■后・E"SMtMeni^u^anwfflNrtnnQiLMWI订・HM£hV兴丐盘■40OMOMMWPBMIMJ400650皿9m>/X用上文uwoftVISHUMaa二图5-4-1流程图登录成功商品浏览~查看商品详情图5.5商品搜索5.5.1界面5-4-2用户可以在主页进行商品搜索(关键字搜索),当主页的商品不能满足用户的要求时,搜索结果如图5-5-1所示: 乞:::?-亠•皿“•2cRi・zwA•希八.俗海“祥±11ftxm0CA&IW"'I□PWWttUI-■-吃伕"MInternetUp*ore<出*1^"可4•皈•材・・他・4一•图5-6-1 了解了商品详情之后,如果确定要买此商品可以单击“添加到购物车”把商品添加到自己的购物车,在购物车页面用户也可以修改您要购买物品的数量,具体效果如图5-6-2所 示:■Mm乙幼”・thowMyC"j9tterUgpRU-AttlTA.hW»A»JTWL・ItTl^SWxtJJTOTI»S»-«...从K・eE商■删.迪九0WWWU”*■(fit)总(5■贡■«罚RU!7«專RMWIXiAG购便宜JIBe€t,®rPx*ico我的购窃车Co”ia29DT•XN>vZcmUl山妙・Ut«rv«<^XCnglOimT^^l*^R^>n010lCEOa»TH):■"可H上RJJLM(Vfltoo•血T3MW—图5-6-25.6.2流程图5-6-35.7生成订单5.7.1界面(1)当完成所有的货物选择之后,就可以在购物车页面单击“确认订单”按钮进入订单信息确认界面以及对所买商品进行结算,具体效果如图5-7-1所示:7nhVz十HI"■■••HY>・0・«3loc^lboUc_y*_—erj-e••八号加"•■上JI・6畑:;WSMU&WOM.WUKSmxt3MSRWCKJWMK«FE—kx"疋评•■卄c.(Ml尹8・灵■斗角如1・ES番户■科给G购便宜Be-tXeirPx*ioerrWNtr^rmKnvr真3"・uf—•#机^^f»33»33»r■*工电诂而而111“•总子・4eeetq^coo、雷E_;15;toa16516551尸刃帀祢佃灵潮无范*if折疫酋?川cm筒1:衫怦冬右412oi^rff«棹病芳冃复古砰花討衫怪煤羽冋花tITY5QR/厶戈201川栽■甲门1|盘“團■印■楫伸JMXAIn茅装冬人邸2W弟裳话和I衣修红认任了•:,.“仁层回修改我的购物车C”・J.W4W&UIW-LA口•“总dlocjlhou)0®■•MB•I■■■H>9SH•aBfR•U-Bum>D轴-WBtM_41QRU・)IM—®5T"$_R«__~Wg|MW»-fi7iB3■s0*■1■・■“9B・F1・B-fiJHClMKTt-40•>1a2•-10•i•io4n (3)首先是用户管理模块,在用户管理中可以对所有注册的用户用户进行浏览,具体效果如图5-8-3所示:qqcomdJS•尼B、、、今222222222220I0H1HH15•WWfQQwnAB111»〉〉〉、〉〉”〉10111HH1•etltoacomr«t»S111fff■»■■*01011111111KrqqcomtadfdMtmmrnioto.11111111twvzfoacomai010HH1H19wrwvfQqcomLA1111H111I1OVO-IHHHI10pwvfOQcom-3,5叩初血归22222222222oioiiitmi■图5-8-3(3)在类别管理模块中,管理员可以对商品的类别进行浏览(分别可以表格展示和树状形式的展示)、添加类别、删除删除类别、修改类别信息,具体效果如下图所示:沁点击新增按钮可以添加商品种类。 <•dlQC4lhottK5!咲"从tnuenrt1005点击确泄按钮将直接保存。如果填写的内容中有空的,将弹出相应的提示信息。如果填写内容都不为空,将直接保存。点击编辑按钮可以对商品种类进行修改,点击确定按钮将直接修改。如果填写的内容屮有空的,将弹出相应的提示信息。如果填写内容都不为空,将直接修改。 Yhx4lbo%tCMOO月加卄上・BC畑:EM3凹_ 点击删除按钮可以对该种类下商品种类及商品全部删除。如果点击一级菜单后删除,如果该一级菜单下面还有二级菜单及商品,删除将提醒是否删除。如下图:创科~i~【1“加125~x[+I松~'|HKMI4**GBlosIhKtM忙如时心・E>CRJ・39*P♦A•一厶汾网匚・・上・B^RUdvnm-ASIA-3»女人录|・卫■-二«Tft321txt(J«R«C»•■・CR5t>A»一MImernctExplore*C«如果点击确认按钮,将把该种类及下面的二级种类及下面的所有商品删除,商品也将从服务器上直接删除。(5)在商品管理模块屮,管理员可以对商品信息进行浏览、修改信息、删除商品,具体效果如下图所示:点击左侧产詁管理可以查看所有产品信息。也可以通过点击查询按钮,对产品进行级联查询(根据产詁名称和种类一起查询,名称查询为模糊查询)。^aviv0仙n*wI・so••io•1-10「们皿亠另*事•豪上■严品各你.併■侔矣,一Jiz样・■ZB上amKKWS1n2om•工》:・曲・0vns20BX>5-OtWH89IjBMMWM“・V3H¥21120”gHi:»100BlO2OK«ffitCIIBrt-AtB¥m/0IBO4IIMH100vui”0?01«M.11W5too5c■TH¥862on-04.ii100*工VU'¥W30110411RNt|1007iD¥F*±li*XWi-用致/Jimt-Uftda・X金』P用MX1•■-啟先A从tnsngxbanr.v."名偸上纭彙瓠[一川时・略一习户品价恪.[玄员价♦!■L产品散产品描谗.另外,需要注意的是:商品新增时,价格及商品数量只能输入数字,中文及拼咅将被屏蔽,商品图片也只能上传相应的图片格式,内容都填写完整后(如果有空的地方没填写,点击确定时将弹出相应的提示信息),点击确定按钮将保存成功,弹出保存成功,并刷新当前页面,点击取消,弹出框将关闭。如下图:点击编辑按钮可以对商品进行修改,修改时,上级菜单我设置为不能修改,另外,需要注意的是:商品修改时,价格及商品数量只能输入数字,中文及拼音将被屏蔽,商品图片也只能上传相应的图片格式,内容都填写完整后(如果有空的地方没填写,点击确定吋将弹出相应的提示信息),点击确定按钮将修改成功,弹出修改成功,并刷新当前页面,点击取消,弹出框将关闭。可以对商品的图片也进行修改,修改之后原来的图片将在服务器上被删除,被新的替换掉。 .AlQC4lhottWcgiE・^Utt3RtX<□WSRWCSJ•WM曲【©ofF&各除:20门・農■盂女迥■"疑■心14亀ia・・H;±axa.产品价Ills会員价《hk产品ftl.[S、•…产Ann.Kfi*j7冷»•卞•H华穿■方曲开fn1CH氐诞:HHW(55fSODMR:KU糾fi:立紬葆如出糸:Hft说也节:Xa±22?3tt)•丝“色分矣:益色出末色II点击删除按钮可以对商品进行删除,可以选择删除,也可以全选删除,删除商品是如果商品已经在订单中使用过,将提醒你该商品不能删除。<•dlocalhoct【】》艇】25心/“亠旧鈕"△>t±>・"tmwnra-MZA^jntutixt■TPWfll-•・・RSt>MMA&ae100t?wio・(6)管理员也可以进入订单管理的模块,在订单管理中,管理员可查看所有的订单,以及订单的明细,再根据现在日前的库存情况对订单进行处理,订单管理屮有未发货和已发货两种查看方式,在未发货屮选择相应的行(如果不选择,将弹岀提示信息),然后点击发货,将弹出发货成功,该订单将可以在己发货订单信息屮查看,点击订单中的详细,将可以对订单中的订单详情进行查看,具体效果如图5-8-7所示: A**irw«/A4Hw|ndrM%pJb98”2790¥5550•・■■ir#wr■20U-0422阪・4才e«e>Qqcom¥S200?0110472Kite$1¥M2020H-04.17Biifi和comyuaoW1J^4*1rBae10・CR]"必2耳久MM从tmtzIpoE(Skx^lhott.•加“r*±Ji»(132cBd.exeosoftWindowsXP[职:卒5.1.26001版权所有1985-2001MicrosoftCorp.:DocunentsandSettingshuan$醸豔沁落文件〉■PC—201205052021・001>jauacg:noneg:nowarnverbosedeprecationclasspath<路径〉cp<路径〉sourcepatb<路径〉bootclasspath<路径〉extdirs<目录〉endorseddirs<目录〉d<目录〉encoding图6-2接着可以启动tomcat,在IE屮访问http://localhost:8080,如果看到tomcat的欢迎页而的话说明安装成功了。第三步:安装mysql在安装mysql的过程后,耍安装NavicatPremium这个软件,它相当丁•数据库的一个图形界面工具,可以查看数据库屮的所有数据库及表的信息。第三步:安装MyEclips&5双击MyEclips8.5可以进行安装,选择适当路径进行安装。等待安装完成Z后,启动MyEclipseZ后必须设置的两项是设置Java的JDK路径和服务器(Tomcat6.0)路径。当启动完成之后,新建一个Web项日,命名为myshoppingo第七章开发与测试7.1开发流程本人在设计的过程中,采用循序渐进的方式进行开发,为使开发的过程是一个循序渐进的过程,为此本人按如下步骤进行开发:(1)完成数据库myshopping的设计。 (2)完成用户注册模块。(3)完成用户登录模块以及自服务功能(用户信息修改),从而验证用户注册模块。(4)转入后台设计。首先完成对用户管理模块(增删改查等功能),再完成对类别的管理模块。(5)完成对商品信息的管理模块,可以对上一步骤的验证。⑹再转入前台设计。在前台主页展现后台所添加的类别和商品,以供用户浏览。(7)完成商品购物模块。包括购物车、订单产生等模块。(8)查看用下过的订单模块。(9)再转入后台设计。完成后台管理的对订单管理的模块。(10)完成后台对商品销售情况的分析模块。(11)整个系统在功能模块基本完成了Z后,最后的任务就是给系统界面的美化,使所有的页面变的美观,以及对代码的完善和最后综合测试。7.2测试由于开发的方式是采用的螺旋递增的方式进行开发的,所以在测试的过程也同样采用螺旋递增的方式进行测试即:一开发一测试一开发一测试。也就是在开发的过程Z中伴随着测试,测试的同时也是为下一个模块的开发做铺垫,这样不但可以提高开发的效率,同时也可以在开发的过程屮及时发现错误,避免了那种瀑布型开发模式的不足,在整个系统开发完毕再去测试,给最后的测试带来了很大的困难。在整个设计的过程中,本人感触最深的就是测试的重要性还有前期准备工作的重要性。不重视测试,若是老想着把所有T作做完后再去测试,结果总是很不理想。因为如果不及时进行测试,当把所有的代码都写完的时候才去测试,结果发现很多错误出现的具体位置在哪,这增加了测试的难度。第八章所用技巧及难点分析8.1所用技巧(1).弹出框lhgdialogo木项目很多地方都用到了弹出框,如前台首页的重设密码,后台的新増,修改商品种类,新增,修改商品时使用到了弹出框。Ihgdialog介绍:lhgDialog是一个功能强人且兼容面广的对话框纽件,它拥有精致的界面与友好的接口。基于网络访问并且兼容IE6.0+,Firefox3.0+,Opera9.6+,Chrome1.0+,Safari3.22+。相对于网上其它弹出窗口插件主要功能是提示信息来说,本插件主要是用来制作窗口中内容较多,页面比较复杂的窗口。本插件的窗口内容面主要是以恢入iframc框架为主,内容页为一个单独的页面。这样就可以更方便的管理内容页,页面的样式也不受其它页面的影响,而且内容页可以是静态或动态的任何一种文件。由于木插件主要是用来制作大型的窗口,页面和窗口间的交互肯定会非常频繁,所以木插件提供了丰富的交互控制接口,可以非常方便的进行页面间的数据的传输。由于本插件所需的Ihgcore.min.js库文件就相当于一个精简的jQuery库,所以本插件的代码的书写方式和jQ的一样精简。如果您想把它做的jQ的插件,只要在页面引入jQuery的库(此时不再需要引入Ihgcore.min.js库文件),代码作一下非常简单的修改即可。无论你把窗口插件放在哪里,你都不需要担心会被外层的frameset或iframe所遮扌肖进而影响客户体验,lhgdialog窗口插件是可以跨无限级 框架显示的,lhgdialog采用九宫格的XHTML结构,CSS类钩子比较丰富,可以定制类似桌面软件般精致的皮肤。.(2).jGrid表格插件使用jqGrid是一个用來显示网格数据的jQuery插件,本项目中后台的所有表格都是采用jGrid表格,jGrid好用的原因时它封装了好多的js方法,这样你不用再自C写js了,所有开发速度也快了。jqGrid介绍:JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信。jqGrid安装很简单,只需把相应的css、js文件加入到页面中即可。需要说明的是,jqucry-ui的字体大小与jqgrid字体大小不一•致,故需要在页面上在加上一段style来指定页面上文字大小。jqGrid原理:JqGrid是典型的B/S架构,服务器端只是提供数据管理,客户端只提供数据显示。换句话说,JqGrid可以以一种更加简单的方式来展现你数据库的信息,而且也可以把客户端数据传回给服务器端。对于jqGrid我们所关心的就是:必须有一段代码把一些页面信息保存到数据库屮,而月.也能够把响应信息返回给客户端。jqGrid是用ajax来实现对请求与响应的处理。(3)•放大器插件前台的商品详细页面,鼠标移上去后,图片将被放人,此处就是用到了放人器插件。Jqzoom插件使用:放大器插件使用起來相当简单,只需要把相应的js插件放到你要放到的位置,然后在页面上引入该js插件,然后在要放大的图片上改改相应的CSS,则可使用。8.2难点分析&2.1分页木项日好多地方都用到了分页技巧,虽效果差不多,但是其实,所使用的方法都有所不同,卜面我将分别说说我所使用的几个分页技巧。(1).后台的表格都有分页。因为后台表格使用的jGrid表格插件,而该插件已经将分页代码全都封装,所以分页代码不用写,只需自己设置一下,每页显示几条数据,然后将页数传递到服务器端,服务器端将根据相应的页数,显示当前页的所有信息。(2).前台的显示所有的商品列表及通过杳询找出的商品列表都是用到了分页,这个分页是自己写的代码,jsp页面这端自己封装了个js方法,然后通过ajax与服务器端连接,通过每页显示条数,及需耍显示的哪一页,服务器端通过口己写的代码,将把所有的查出的商品查出,然后显示在jsp页血上。由于是自己写的代码,所以分页的,上一页,下一页图片都可以使用自己的图片。(3)•前台的购物车及订单查看,分页采用的技术是:使用jsp页面分页技术。原理是:服务黠返回全部的信息,jsp页面上再根据提供的每页显示条数,及当前页数显示分贝信息。 使用:使用时只需要引入两个包。Pager-src.jar,pager-taglib.jar与上面第二个分页不同的地方就在于它是页面分页,而第二个是服务器分页,服务器端分页需要每次都把数据传到服务器端,然后服务器端把需要的内容从数据库屮查出来,然后在显示在jsp页面上;而jsp分页只需一次得到全部内容,在页面上分页即可,不需要每次都从服务器端取数据,所以相对來说,jsp页面分页比较方便,也比较快,使用起來也比较简单。8.2.2.图片的上传技术由于该项El采用jsp+servlet的技术,而不是struts(如果是strut的话,在服务器端直接就能得到上传文件的名字,大小,等等),采用servlet后,则需耍自己手动写代码,写上传文件代码,我此次上传技术,采用的是:通过流传递,把上传的图片,一个字节一个字节的传到服务器端,需要引入的两个包有:commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar,服务器端代码具体如F:Stringvalue=item・getNamc();intstart=value・1astlndexOf("\");StringfileName=value.substring(start+1);Randomrandom=newRondom();fileName=UploadFile-createRandomFileName(fileName,path,random);photo=fileName;item.write(newFile(path,fileName));OutputStreamos=newFi1eOutputStream(newFile(path,fileName));InputStreamis=item,get!nputStreamO;byte[]buffer=nowbyte[400];intlength=0;while((length=is.read(buffer))!=T)os.write(buffer,0,length);is.close(); 但是需要注意的是:在删除图片时,必须把图片也删除,不仅仅是把数据库里面的图片地址删除。&2.3•购物车模块本项目购物车模块,我才用的是session技术。Session技术原理:在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session'!',当用户使用浏览器访问其它程序时,其它程序可以从用户的session'!'取出该用户的数据,为用户服务。Session是用于保持状态的基于Web服务器的方法。Session允许通过将对彖存储在Web服务器的内存中在整个用户会话过程中保持任何对象oSession通常用于执行以下操作:存储需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览Web应用程序时需耍的具它信息。存储只需耍在页重新加载过程中或按功能分组的一组页之间保持其状态的对象oSession的作用就是它在Web服务黠上保持用户的状态信息供在任何时间从任何页访问。因为浏览器不需要存储任何这种信息,所以可以使用任何浏览器,即使是像PDA或手机这样的浏览器设备。说到session就会想到cookies,Session和Cookie的主耍区别在于:Cookie是把用户的数据写给用户的浏览器。Session技术把用户的数据写到用户独占的scssion中。Session对象出服务器创建,开发人员可以调用request对彖的gctScssion方法得到session对象。session失效的方法:session,invalidate();session的有效时间:30分钟,在web.xml中配置scssion的有效时间:在web-app标签屮设置如下:60单位是分钟默认设置是在tomcat中:web.xml另外,需要知道的是scssion的生命周期:从创建出来scssion开始默认情况下如果浏览器窗口关了,session失效浏览器窗口没有关,但是seesion的有效期到了浏览器的窗口关了,但是session的唯一标识用cookie保存下来了,只要session的有效期没有到,则session都是有效的应用程序停止,session失效作用范围:只要在浏览器窗口没有关,通过这个窗口发送的请求就都可以得到整个应用程序中都有效,但是是浏览器独享的。request.getSession()得到/创建sessionrequest.getSession(true)相当于request.gctScssion()request.getSession(false)没有session就返冋null浏览器的版木:ie8屮同一个浏览器打开两个窗口是共享session的。但是ie7屮就不是同一个浏览器打开两个窗口是不共享session的 使用session注意点:TE禁用Cookie后的session处理:URL重写response・cncodoRoditcctURL(java・lang・Stringurl)用于对scndRcdircct方法后的url地址进行重写。response.encodeURL(java・lang.Stringurl)用于对表单action和超链接的url地址进行重写。本项目中的购物车模块就是把购物车放到session域里面,这样不管到了那个页面,都可以通过session的属性得到该购物车,并可以通过口己写方法,实现购物车增加商品,删除商品。购物车代码主要如下:publicclassMyCart{HashMaphm=newHashMap();〃添加//添加方法1publicvoidaddProduct(Stringid,Productproduct){if(hm.containsKey(id)){//如果已经购买product二hm・get(id);intshoppingum=product・getShoppingNum();product.setShoppingNum(shoppingNum+1);}else}hm.put(id,product);I]//添加方法2publicvoidaddProduct2(Stringid){if(hm.containsKey(id)){//如果已经购买Productp=hm・get(id);intshoppingNum二p・getShoppingNum();p.setShoppingNum(shoppingNum+1);}else{hm.put(id,ProductDA0・getProduct(Integer・parseInt(id))); //删除publicvoiddelProduct(Stringid){hm.remove(id);I//更新(更新购买的dongxi数量)publicvoidupdateProduct(Stringid,Stringnums)(//取出id对应的bookProductp二hm.get(id);p.setShoppingNum(Integer.parse1nt(nuins));}〃清空publicvoidclearProduct(){hm.clear();〃显示该购物车中的所有商品信息publicArrayListShowMyCartO{ArrayListarr=newArrayList();//遍历hashmapIteratorit=hm.keySet().iteratorO;whi1e(it.hasNext()){//取tilkeyStringid=(String)it.next();Productp二hm・get(id);arr.add(p);}returnarr;}//计算总价publicfloatgetTotalPrice(){floattotalPrice=0.Of; Iteratorit=hm・keySet()・iteratorO;while(it.hasNext()){StringproductId=(String)it.next();Productp二hm・get(productId);totalPrice+=p.getNormalPrice()*p・getShoppingNumO;IreturntotalPrice;8.2.4.验证码技术主要利用Session实现一次性验证码。一次性验证码的主要目的就是为了限制人们利用工具软件來暴力猜测密码。服务器程序接收到表单数据后,首先判断用户是否填写了正确的验证码,只有该验证码与服务器端保存的验证码匹配时,服务器程序才开始正常的表单处理流程。密码猜测工具要逐一尝试每个密码的前题条件是先输入正确的验证码,而验证码是一次性有效的,这样基本上就阻断了密码猜测工具的自动地处理过程。本项目中注册是使用到了验证码技术。代码主要如下:publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,lOException{response.setContentType(〃img/jpeg〃);//图片的内存映像Bufferedlmageimage=newBufferedImage(60,20,BufferedImage.TYPE_INT_RGB);//获得画笔对象Graphicsg=image・getGrsphics();Randomr=newRandom();g.setColor(newColor(r.nextlnt(255),r.nextlnt(255),r.nextlnt(255)));g.fillRect(0,0,60,20);g.setColor(newColor(0,0,0));Stringnumber=r.nextlnt(99999)+"";g.drawString(number,5,15);g.setColor(newColor(r.nextlnt(255),r.nextlnt(255),r.nextlnt(255)));g.drawLine(r.nextInt(60),r.nextint(20),r.nextlnt(),r.nextint()); //压缩成jpeg格式 OutputStreamos=response.getOutputStream();JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(os);//把BufferedImage对象中的图像信息编码后向创建盖度uixiang(encoder)时指定的输出encoder,encode(image);request.getSession().setAttribute("check_code",number);8.2.5.md5加密技术MD5即Message-DigestAlgorithm5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(乂译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在UNIXH有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:MD5(tanajiya.tar.gz)=0cal75b9c0f726a831d895e269332461这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文木信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。原理是:原理对MD5算法简要的叙述可以为:MD5以512位分组來处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输岀出四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。在MD5算法屮,首先需要对信息进行填充,使其位长对512求余的结果等于448。因此,信息的位长(BitsLength)将被扩展至N*512+448,N为一个非负整数,N可以是零。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息的位长二N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理屮对信息长度的要求。MD5屮有四个32位被称作链接变量(ChainingVariable)的整数参数,他们分别为:A二0x67452301,B=0xefcdab89,C=0x98badcfe,"0x10325476。当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d屮的其屮三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向左环移一个不定的数,并加上a、b、c或d屮之一。最后用该结果取代a、b>c或d屮之一。木项H中加密技术再用户注册时使用,密码经过加密后保存到数据库中,md5加密使用起来相当简单,只需引入一个已经写好的方法,调用它即可。调用该方法,默认返回一个32位的字符串,然后将该字符串保存到数据库即可。代码主要如下:publicstaticStringgetMD5Encoding(Strings){byte[]input=s.getBytes();Stringoutput二null;//声明16进制字母char[]hexChar={,O','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};try{ //获得一个MD5摘要算法的对象MessageDigestmd=MessageDigest.getlnstance("MD5");//使用指定的字节更新摘要。md.update(input);/*MD5算法的结果是128位一个整数,在这里javaAPT已经把结果转换成字节数组了*/byte[]tmp=md.digest();//获得MD5的摘要结果chart]str=newchar[32];byteb二0;for(inti=0;i<16;i++){b=tmp[i];str[2*i]=hexChar[b»>4&Oxf];//(取b的高四位)换成16进制字母str[2*i+l]=hcxChar[b&Oxf];//(取b的低四位)换成16进制字母}output=newString(str);}catch(NoSuchAlgorithmExceptione){e.printStackTraceO;}returnoutput;}第九章总结与展望9.1总结这次设计是对自己综合能力的一次考验,所以说任务艰巨,工作量非常之人。从选题、收集资料、学习相关业务技术到实际编程,我都做了长期的准备和比较星系的的规划,把其当成再度俄期间做的最后一次“人作业”。当然在此次设计过程也遇到了很多问题,当遇到问题的才知道,态度决定一切,细节决定成败。同时也发现口己只是上面还有很多不足之处,更加紧学习。比如在开发过程遇到的一个非常简单的中文乱码问题,这个问题在平时看来就是一个很普通的问题,但是解决起来却没有想象Z中的那么简单了,以至为解决这个问题花费了大量的时间,这也是我想明白了在以后的学习当小一定要知其然知其所以然。通过这次毕业设计以及撰写本毕业论文,我对JSP有了更深一步的了解,而且对。网站的建设和维护有了更具体形象的理解。这次设计虽然花费了很大的精力,但是也进一步熟悉了一些工具如:Dreamwaver>photoshop等软件的操作。但是同时又发现了自己的很多不足之处,以后要加紧学习。 9.2展望本系统实现了网上商城在线购物的一些基本功能,但是由于时间和能力有限,还有很多功能未能实现,例如:在线支付、弹出式广告等功能。而且由于自C在美术和审美能力等方面的不足,所以整个网站的界面还不尽如人意。当然这需要在以后的工作和学习中加强学习,以完备口己的各方面能力。同时我还知道了和学习了一项技术Ajax技术,它的主要作用和功能是在不刷新页面的情况卞与服务器通信的效果,从而减少了用户等待的时间。但是我对Ajax的了解仅限于此,希望以后能了解到更多的动态网页开发知识。致谢经过几个月的忙碌和工作,本次毕业设计业已完成了,作为一个本科生的毕业设计,由于经验的匮乏和知识面的不完善,难免有许多考虑不周全和不完善的地方,但是在指导老师和同学们的帮助下很多困难都得以解决,所以在此本人要特别感谢他们对我的帮助。首先我要感谢我的指导老王玲老师,感谢他在整个毕业设计过程中的指导,始终督促我们坚持完成自己的毕业设计。定期为我们检杳指导,而且在遇到问题的时候,总是鼓励我们多去想办法解决;其次我觉得此次毕业设计能够顺利完成的主要原因还有:我平时对java知识的一些相关口学,以及在外面的四个月工作经验,我觉得要不是平时口己不断的积累,从而学到了不少的技术,此次毕业设计在这么短时间Z内是肯定不能完成的。然后还要特别感谢大学四年来所有的任课老师老师,是他们认真细心的为我们打下计算机专业知识的基础。以前总是以为学学就可以了,没有认识到学习的重要性。到现在自己做设计才知道,其实计算机所有的环节都是环环相扣的,少了哪一环都不是很好。所以学习知识要稳扎稳打,脚踏实地。在此感谢系里面的所有任课老师们辛勤的教导换来了我们今天的成长与进步。最后深深地感谢我们成长的摇篮,为我们提供了好的学习环境还有舒适的生活环境,感谢您——山西大学工程学院! 参考文献[1]明日科技等编著.实战突击:javaweb项目整合开发[M].北京:电子工业出版社,2011.[2]施红芹,谢军,彭海刖编著.动态网页程序设计[M]・北京:清华人学出版社,2006.[3]陈凌云编著.粘通EclipseWeb开发[1].北京:人民邮电出版社,2006.10[4]林宏基编著•Web开发技术教程(第二版)[M]•北京:北京大学出版社,2007.[5]武延军,黄飞跃.精通JSP编程技术[M].北京:人民邮电出版社,2001.8[6][美jKevinDuffey,VikramGoyal,TedHusted,等.JSP站点设计编程指南[M].王军等译.北京:电子工业出版社,2002.[7][美JVivekChopra,JonEaves,RupertJones,等.JSP高级程序设计[M].北京:人民邮电出版社,2006.[8]陈海山著•深入JavaServlet网络编程[M]・北京:清华大学出版社,2002.[9]马斌,徐越倩.论专业市场与电子商务的互动发展[J].商业经济与管理,2005(3).[10]清宏计算机工作室・JSP编程技巧[M]・北京:机械丄业出版社,2000.1L11]张健.XML技术在网上购物系统中的应用与安全分析[J].科技创新导报.2008(14):2-3.L12]李贤华•棊于JSP技术的大型网上购物系统的设计与实现[J].计算机与现代化.2008(8):82-84,89.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭