大学毕业论文--网上书店网站jspjava_第1页
大学毕业论文--网上书店网站jspjava_第2页
大学毕业论文--网上书店网站jspjava_第3页
大学毕业论文--网上书店网站jspjava_第4页
大学毕业论文--网上书店网站jspjava_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

需要本论文完整程序源代码,答辩PPT或者更多毕业论文,联系文库上传者QQ即可摘要20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本文研究了一种基于数据关联规则网上书店系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。网上书店在我国刚起步,但发展很快。随着我国互联网的更加普及和网上书店的更趋成熟,会有越来越大的消费群体,市场潜力会得到充分发挥。本文中所做的主要工作如下:(1)介绍了个性化页面的背景及Win2000server+JSP系统的一般原理;(2)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。(3)设计实现用户管理、图书目录管理、图书信息录入管理、书店定单管理、图书的浏览和查找、书店购物结帐功能等JSP页面。(4)分析并解决实现中的若干技术问题。(5)建立完整的网上书店,进行测试并分析结果。关键词:网上书店1;Jsp2;连接3;数据库4AbstractTheendofthe20thcentury,alongwiththedevelopmentofcomputerscience.Internetdatabasetechnologyinthewidelyused,forthemajorityofnetworkuserswithamorethoughtfulandhumaneservices.PersonalizedhasgraduallybecomethetrendofWebapplications.Inthispaper,basedonadataassociationrulesonlinebookstoresystemwiththecurrentprogramhasbeenusedinonlineprograms,theuserissimpler,moreintuitiveinterfaceadvantages.OnlineBookstoreinChinahasjuststarted,itdevelopedveryrapidly.WiththeInternetbecomemorepopularandonlinebookstoreshavebecomemoremature,therewillbegrowingconsumergroup,marketpotentialwillbefullyrealized.Inthispaper,themajorworkdoneasfollows:(1)IntroducedapersonalizedpagesofbackgroundandWin2000server+JSPsystem,thegeneralphilosophy;(2)Whichdescribestheentirepersonalizedpagesgenerationsystemstructureandworkingprinciple;AnalysisofthesystemtoachievetheparticularityDifficultiesandfocus.(3)DesignandImplementationofusermanagement,thelibrarycatalogmanagement,librarymanagementinformationintobookstores,ordermanagement,Bookstobrowseandsearch,bookstoresbillingfunctionstoJSPpages.(4)Analyzeandresolvetoachieveanumberoftechnicalproblems.(5)Establishacompleteonlinebookstore,andtestresults.Keywords:OnlineBookstore1;JSP2;Link3;Database4目录TOC\t"标题_谢辞及参考文献,1,标题_附录,1,第2级标题,2,第3级标题,3,第1级标题,1"1引言 11.1本课题的研究意义及背景 11.1.1本课题的研究意义 11.1.2本课题的研究背景 11.2本论文的目的 21.3设计要求及作者的主要贡献 21.3.1设计要求 21.3.2作者的主要贡献 22研究现状及设计目标 32.1相近研究课题的特点及优缺点分析 32.1.1华储网页面的主要框架 32.1.2华储网上书店的优缺点分析 52.2本课题要达到的设计目标 52.3经济效益分析 63关键问题及分析 73.1研究设计中要解决的问题 73.2具体实现中采用的关键技术及复杂性分析 73.2.1工具及环境的选择 73.2.2具体实现中采用的相关技术 83.3运用理论及方法介绍 133.4JSP的运作模式 144系统设计 164.1编程模型及数据结构 164.2数据模型分析 164.2.1用户信息注册表tb_Member 164.2.2图书信息表tb_bookinfo 174.2.3登陆表tb_manager 174.2.4公告表tb_BBS 184.2.5定单表tb_Order 184.3系统功能分析 194.3.1系统Usecase图 194.3.2系统的总体的结构 194.3.3系统的E-R图 204.3.4用户注册登录流程图 215系统实现 225.1分模块详述系统各部分的实现方法 225.2界面设计 235.3软件测试的目的和原则 255.4测试的方法 255.5测试实例(测试集)的研究与选择 255.5.1测试环境 265.6实例测试(表格与曲线) 266结论与展望 27参考文献 28致谢 29附录程序清单 30引言近年来,随着信息的全球化和国际互联网的普及化,电子商务成为互联网应用的最大热点,越来越多的企业通过使用电子商务技术来进行商业上的交易以减少成本,企业通过Internet为消费者提供一个新兴的购物环境,即网上超市,消费者通过网络进行网上购物和网上支付等活动,这样即方便了消费者,又减少了企业成本,因此本项目专业购书超市随着这个目的而来。我倡导“用户是伙伴”的新型客户服务理念。这种新型客户服务,具有与众不同的优势和特点,将成为我和用户沟通、联系、发展的一条有效渠道。本课题的研究意义及背景本课题的研究意义进入20世纪90年代以后以因特网为代表的计算机网络得到了飞速的发展,以从最初的教育科研网络逐步发展成为商业网络。当前世界经济正在向知识经济转变。人们希望能够从书中得到知识,就需要有一个快捷高效的购书环境,建立一个网上综合性的售书网站,可以满足这方面的需求,它还提供给用户网上浏览、查询及订购服务。同时,银行开办的网上支付业务也为消费者和经营者提供了一个便利的交易平台。 本课题的研究背景新世纪的到来,Internet和计算机网络技术的蓬勃发展,网络化和全球化已成为不可抗拒的世界潮流。个人要生存,企业要发展,就必须采取新的生存方式、竞争手段去适应它。面对Internet本身所具有的开放性、全球性、低成本、高效率等特点,传统商业暴露的问题也越来越明显,原有的商业格局、商务运作模式在Internet面前也显得无能为力,客观形势给传统商务工作带来了压力和动力。机遇和挑战、条件和可能,挑战是现实的,机遇是潜在的,所以迫使我们必须重组原有的商业格局,变革原有的商业模式来契合Internet的发展以取得最大的效益。连通全世界的电子信息通道已经形成,应用Internet网开展电子商务(ElectronicCommerce)业务的时机已经成熟。任何新事物都代表着一种趋势,那些符合人类进步的趋势必然会得到大家的认同。电子商务就是这样一种事物,它对人类社会进行着全方位的改造,在企业竞争、政府部门、公共研究机构、教育以及娱乐等方面改变着人类相互交往的方式,为人们展示了一个全新、璀璨的世界。由于电子商务的出现,传统的经营模式和经营理念将发生巨大的变化。电子商务主要以飞速发展的遍及全球的Internet网络为架构,以交易双方为主体,以银行支付和结算为手段,以客户数据库为依托的全新商业模式。电子商务将会创造巨大的效益和机会,会将市场的空间形态、时间形态和虚拟形态结合起来,将物流、资金流、信息流汇集成开放的、良性循环的环路,使经营者以市场为纽带,在市场上发挥最佳的作用,得到最大的效益。电子商务的发展,不仅将有利地推动Internet的发展,对社会的进步和经济的变革产生深远的影响,更重要的,它本身的发展成熟为我们提供了许许多多的机会。本论文的目的网上书店系统的最终目的是客户可以通过网上书店找到自己所需要的书籍,网上书店主要向客户提供各种书籍材料。设计要求及作者的主要贡献设计要求基本要求: 1.设计实现客户在网上查书、选书、购书、查看公告和产生订单。 2.设计实现后台图书管理功能,包括图书种类的管理、图书的管理和会员的管理。作者的主要贡献通过开发该系统可以方便用户随意查询、浏览、定购图书。节省了用户大量的时间与空间,带动网络经济。研究现状及设计目标相近研究课题的特点及优缺点分析例如华储网上书店在电子商务时代的今天也是一个很有名气的网站。网站的功能很强大也很细致,几乎执行每一步都会给用户的具体提示,使用户不会对此操作感到迷茫以及操作错误。初登华储网上书店,用户能看到网站的标识、所有20类商品、我的帐户、图书查询、购物车和帮助中心这几个主要的购物图标,而初等者只能执行图书查询、商品种类的选择和帮助中心这几个模块。而购物车和我的帐户是不能用的。而会员用户可以应用所有的功能。华储网页面的主要框架1前台页面京西主页面(frontServlet?action=index)京西商城主页面图商品列表页面(frontServlet?action=list)京西商城商品列表页用户需要某种图书时只要在商品搜索中添加图书的种类,在选择所要查询的是书名或作者或出版社或全文。就能进入到所需要的页面,在这里客户可以看到一些最热门的图书以及图书简介。此网站主要采用的是图片与文字相结合的排列方式用来展示图书。用户可以选择自己所需要的图书点击收藏或购买之后便会将图书添加到购物车中。在购物车中可以删除所购图书。商品详情页加入购物车页面华储网会员登陆页华储网会员注册图华储网站在新用户注册方面比较简单。只有客户邮箱地址和密码以及昵称。这样在为该用户送货的时比较麻烦。配送页2后台页面:商品查询页面后台商品添加/修改页华储网会员登陆页华储网会员登陆页华储网会员登陆页华储网上书店的优缺点分析华储网是一个功能强大的网上在线选购图书系统。该网站的最大特点是,模块具有合理的层次化,各模块之间连接紧密,每个模块划分的都非常精细,内容也是极其丰富的,各模块之间连接的非常人性化,合理化。在客户购买图书之后,客户的主要付款方式有三种:⑴为确保客户刷卡消费的安全性,移动POS机专人专用;华储网配送员会向您出示他的身份证原件以及加盖华储网公章的介绍信,介绍信上附有该配送员身份证复印件并注明由指定配送员携带移动POS机办理刷卡收款业务;⑵对于普通的储蓄卡,配送员事先与客户确认储蓄卡后签名是否与签收单签名一致,如果一致再执行刷卡操作。⑶如果银行卡标有“信用卡”字样,表明此张卡为信用卡,需要请客户出示身份证,检查信用卡名称与身份证一致后才可以进行刷卡操作。华储网上书店的收款方式很完善,但是陪货员要拿着POS机当场和客户收款很不方便。 总之,一个网上书店的基本框架和功能基本上与华储网的相同。但是会在华储网的基础上进一步完善华储所不足的地方。例如在用户注册信息中添加家庭住址、电话。这样会比较方便配送员送货。随着网络的不断发展,如果能在网上建立一个完善的银行汇款系统。这样客户可以足不出户在家通过网上银行输入自己的帐号、密码就可以把钱汇到书店的银行中。在客户收到图书时,配送员好出示票据给与确认。网上书店应该要向客户展示本店所售图书的销量,让客户可以清晰地知道这个网站的经营状况和那些图书最受欢迎。本课题要达到的设计目标现在流行的网上购书系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站,以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况。经济效益分析本系统是一个网上购书的网站,它是一个交互的基于WEB的应用程序。在本系统中,页面的内容是基于用户的请求或系统的状态,而不是预先定义好的文字。这种动态网站易于管理,易于更新,与静态的网站相比,它的实用性更强。能为公司减少网站的维护人员。而且在Internet上建立站点提供商业服务,有利于企业树立形象,增强竞争实力,从而在未来的战略中占优势:在全球互联网上做生意可以获得更多新的用户,加深与用户之间的联系、扩展市场,从而实现收入的增长。本系统基于用户方便,提供了许多关于图书方面的技术知识,还有简易购物车,用户可以通过网络订购图书,不必亲自去书店购买,节省了用户的许多时间,而且对书籍的选择也特别方便,对特定的图书可以进行图书分类搜索。对公司来讲,因为网络的无地域性,公司可以在全国各地少设立分公司,而建立一个分公司少说也得上万元,再加上公司的员工开支,一共大约要几十万元。假如少设五个分公司大概就会节省七八十万。而开发一个网站大约也就是十几万,这样就能净省五十万左右。关键问题及分析研究设计中要解决的问题JSP连接SQLServer2000数据库JSP界面的设计JSP页面之间的相互跳转在JSP页面中实现商品添加、删除、修改等数据库操做用户订单的处理、数据库的应用、管理员对图书的管理功能具体实现中采用的关键技术及复杂性分析工具及环境的选择 开发工具JSP+SOLServer开发环境Web环境为Tomcat、开发软件为Dreamweave。关键技术JavaBeans和JDBCJSP运行环境所需软件的安装配置:首先安装JDK到C:\j2sdk1.4.2。然后安装Tomcat到C:\ProgramFiles\Tomcat5.0在启动Tomcat服务器之前,还需配置几个环境变量。对于windowsxp,用鼠标右键单击“我的电脑”,在弹出的“系统特性”对话框,再单击高级选项,然后单击环境变量,添加以下的系统环境变量。变量名:JAVA_HOME,变量值:C:\j2sdk1.4.2。变量名:TOMCAT_HOME,变量值:C:\ProgramFiles\Tomcat5.0。变量名:CLASSPATH,变量值:C:\j2sdk1.4.2\jre\lib\rt.jar;.;。变量名:PATH,变量值:C:\j2sdk1.4.2\jre\bin。具体实现中采用的相关技术SQLServer2000是Microsoft的关系数据库管理系统(RDBMS)。它是在十多年来成功开发的SQLServer的基础上建立起来的。它是由一些组件和产品结合成一个整体的客户/服务器系统。它能满足任何实体或组织的数据存储,检索以及分析数据的需要。 SQLServer2000体系结构SQLServer数据库引擎把数据存储在表中。每个表包含着你所在组织感兴趣的信息及有价值的数据。数据由某一类信息集合组成,从整体来理解,它代表数据库中一条唯一的完整的记录。表的集合,也许其中有上千个表,被存放在称为SQLServer数据库的容器对象中。每个数据库也存储附属于数据库和表的对象,包括存储过程触发器等。为了与SQLServer进行对话,即要求它保存数据,改变,返回,处理数据——你需要熟悉SQL。SQL是支持国际标准的关系数据库计算机语言,它由ANSI和ISO提出。所有的关系数据库产品都支持某种风格的SQL,它一般提供了某些针对产品的支持以及扩展。JavaBeans技术什么是JavaBeans?JavaBeans就是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,我们将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。 JDBCJDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这用就使得开发独立于DBMS的Java应用程序成为可能。一般的Java开发工具都带有JDBC-ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。本系统作为Java课件(网络版)的一个组成部分,要求实现网络考试系统的各项基本功能。从安全性和易维护性考虑,选择了Web实现技术。简单的说就是将系统做成一种B/S模式,可以让用户通过浏览器直接访问位于服务器上的试题以及对系统进行远程维护。服务器端程序的实现技术也很多,本人选用了当前比较流行的网络编程技术——JSP作为主要实现手段(配合JavaServlet、JavaBean、HTML等)。

JSP作为一种Web实现技术,它的效率是很高的。这一点正好符合了考试系统所要求的实时性。JSP自身的安全性,再加上实现模式的特点,完全能够达到考试的保密性要求,保证了考试的公平性原则。除此之外,作为Java平台的一部分,JSP拥有Java语言“一次编写,各处运行”的特点。又随着越来越多的服务器供应商将JSP支持添加到他们的产品中,这样一来用JSP做成的这套系统可以轻松移植到其它平台来运行。种种优点使得这套系统为目前网上图书选购的实现都打下了良好的基础。所以JSP是实现本系统的最佳技术,它是完全可行的分页技术分页显示是Web数据库应用中经常遇到的问题,当用户的数据库查询结果远远超过了计算机屏幕的显示能力的时候,该如何合理地将数据在页面显示就成为一个很重要的问题了,而分页显示正好解决了这个问题。下面是分页显示的具体代码:packagecom.util;//用于保存分页的信息publicclassPageBean{ //当前页 privateintpageNo; //页大小 privateintpageSize=20; //记录总数 privateinttotalCount; //总页数 privateintpageCount; //默认构造方法 publicPageBean(){ } //非默认的构造方法 publicPageBean(intpageNo,intpageSize,inttotalCount){ //this.pageNo=pageNo; this.totalCount=totalCount; this.pageSize=pageSize; this.pageCount=getPageCount(); setPageNo(pageNo); publicintgetPageNo(){ returnpageNo; } publicvoidsetPageNo(intpageNo){ //如果当前页>实际的总页数 if(pageNo>this.pageCount){ pageNo=this.pageCount; } if(this.pageCount==0){ pageNo=1; } this.pageNo=pageNo; } publicintgetPageSize(){ returnpageSize; } publicvoidsetPageSize(intpageSize){ this.pageSize=pageSize; } publicintgetTotalCount(){ returntotalCount; } publicvoidsetTotalCount(inttotalCount){ this.totalCount=totalCount; } //计算记录页数 publicintgetPageCount(){ if(totalCount%pageSize==0){ pageCount=totalCount/pageSize; }else{ pageCount=totalCount/pageSize+1; } returnpageCount; } publicvoidsetPageCount(intpageCount){ this.pageCount=pageCount; }}MD5加密技术分页显示是Web数据库应用中经常遇到的问题,当用户的数据库查询结果远远超过了计算机屏幕的显示能力的时候,该如何合理地将数据在页面显示就成为一个很重要的问题了,而分页显示正好解决了这个问题。下面是分页显示的具体代码:packagecom.util;importjava.io.UnsupportedEncodingException;importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;//用于计算某一字符串的MD5密文的publicclassMD5{ /** *@paramargs */ publicstaticvoidmain(String[]args){ System.out.println("liuge的MD5密文是:"+md5("123456")); } /** *UsedbuildingoutputasHex */ privatestaticfinalchar[]DIGITS={'0','1','2','3','4','5','6', '7','8','9','a','b','c','d','e','f'}; /** *对字符串进行MD5加密 * *@paramtext明文 * *@return密文 */ publicstaticStringmd5(Stringtext){ MessageDigestmsgDigest=null; try{ //使用何种消息摘要算法(SHA、MD5) msgDigest=MessageDigest.getInstance("MD5"); }catch(NoSuchAlgorithmExceptione){ thrownewIllegalStateException( "Systemdoesn'tsupportMD5algorithm."); } try{ msgDigest.update(text.getBytes("utf-8")); }catch(UnsupportedEncodingExceptione){ thrownewIllegalStateException( "Systemdoesn'tsupportyourEncodingException."); } byte[]bytes=msgDigest.digest(); Stringmd5Str=newString(encodeHex(bytes)); returnmd5Str; } publicstaticchar[]encodeHex(byte[]data){ intl=data.length; char[]out=newchar[l<<1]; //twocharactersformthehexvalue. for(inti=0,j=0;i<l;i++){ out[j++]=DIGITS[(0xF0&data[i])>>>4]; out[j++]=DIGITS[0x0F&data[i]]; } returnout; }}生成验证码技术packagecom.util;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.image.BufferedImage;importjava.io.IOException;importjava.util.Random;importjavax.servlet.ServletException;importjavax.servlet.ServletOutputStream;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importcom.sun.image.codec.jpeg.JPEGCodec;importcom.sun.image.codec.jpeg.JPEGImageEncoder;/***生成验证码的Servelt*验证码其实就是一张图片,所用到的核心技术就是AWT绘图.AWT属于JavaSE的核心内容***/publicclassCheckcodeServletextendsHttpServlet{ privatestaticfinallongserialVersionUID=-8112015860301637701L; privateFontmFont=newFont("TimesNewRoman",Font.PLAIN,18);//设置字体 //staticStringAuthCode="";//处理post publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{//取得一个1000-9999的随机数 HttpSessionsession=request.getSession();//request.getSession(false)当参数为false时,有可能不创建session//session.setAttribute("getImg",s); //设置Servlet返回的是图形的内容 response.setContentType("image/gif"); //防止缓存 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); //要生成的验证码图形的宽度和高度(默认) intwidth=60; intheight=20; if(request.getParameter("width")!=null&&!request.getParameter("width").equals("")) width=Integer.parseInt(request.getParameter("width")); if(request.getParameter("height")!=null&&!request.getParameter("height").equals("")) height=Integer.parseInt(request.getParameter("height")); //产生Servlet的输出流 ServletOutputStreamout=response.getOutputStream(); BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//设置图片大小的 Graphicsgra=image.getGraphics(); Randomrandom=newRandom();gra.setColor(getRandColor(200,250));//设置背景色 gra.fillRect(0,0,width,height);gra.setColor(Color.black);//设置字体色 gra.setFont(mFont);//随机产生155条干扰线,使图象中的认证码不易被其它程序探测到 gra.setColor(getRandColor(160,200)); for(inti=0;i<155;i++) { intx=random.nextInt(width); inty=random.nextInt(height); intxl=random.nextInt(12); intyl=random.nextInt(12);gra.drawLine(x,y,x+xl,y+yl); } //取随机产生的认证码(4位数字) StringsRand=""; for(inti=0;i<4;i++){ Stringrand=String.valueOf(random.nextInt(10)); sRand+=rand; //将认证码显示到图象中 gra.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); //调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成 gra.drawString(rand,13*i+6,16); } //System.out.println("showimage="+sRand); //session.setAttribute("getImg",sRand); //将验证码放入session session.setAttribute("checkcode",sRand); //AuthCode=sRand; //session.putValue("AuthCode",sRand); JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out); encoder.encode(image);//out.flush(); } staticColorgetRandColor(intfc,intbc){//给定范围获得随机颜色 Randomrandom=newRandom(); if(fc>255)fc=255; if(bc>255)bc=255; intr=fc+random.nextInt(bc-fc); intg=fc+random.nextInt(bc-fc); intb=fc+random.nextInt(bc-fc); returnnewColor(r,g,b); } staticpublicStringgetAuthCode(HttpSessionsession){//返回验证 return(String)session.getAttribute("checkcode"); } publicvoidinit()throwsServletException{ //Putyourcodehere }}运用理论及方法介绍前台运用JSP技术与JavaBean的结合,来实现页面的设计以及与后台数据库的连接,后台运用数据库技术来对通过JSP页面传入数据库中的数据进行增加,删除,修改等操作。JSP是由Sun微软系统公司(SunMicrosystemsInc)倡导、许多公司参与一起建立的一种动态网页技术标准,其在动态网页的建设中有其强大而特别的功能。目前,国外的众多网站特别是涉及电子商务的网站中,已经大量使用了JSP技术。JSP(JavaServerPages,服务器端动态网页)既然名为“服务器端”动态网页,可想而知,JSP必定是在“服务器”建立的动态网页。更明确地说,JSP是能在WebServer(尤其是JSWDK)端整合Java语言至HTML网页的环境中,利用HTML网页内含的Java程序代码取代原有的CGI、ISAPI或者IDC的程序,以便执行原有CGI/WinCGI、ISAPI的功能。在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书操作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。基于浏览器客户端的应用程序与传统的基于客户机/服务器的应用程序相比,有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的基于Web的应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择,而新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。JSP的特点:(1)一次编写到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何修改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行JSP/Servlet,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、消息处理,一台服务器到多台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点和ASP很像。Java已经有许多非常优秀的开发工具,而且许多都是免费得到,并且其中有许多已经可以顺利地运行于多种平台之下。JSP技术的基础是JavaServlet,JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有优点。这也是我们采用JSP技术的原因。JSP的运作模式JSP作为J2EE的一部分,既可以用于开发小型的Web站点、也可以用于开发大型的、企业级的应用程序,直接使用JSP对于最小型的Web站点,可以直接使用JSP来构建动态网页,这种站点最为简单,所需要的仅仅是简单的留言板、动态日期等基本的功能。对于这种开发模式,一般可以将所有的动态处理部分都放置在JSP的Scriptlet中,就像一般使用PHP或ASP开发动态网页一样。JSP+JavaBeans中型站点面对的是数据库查询、用户管理和小量的商业业务逻辑。对于这种站点,不能将所有的东西全部交给JSP页面来处理。在单纯的JSP中加入JavaBeans技术将有助于这种中型网站的开发。利用JavaBeans,将很容易完成如数据库连接、用户登录与注销、商业业务逻辑封装的任务。如:将常用的数据库连接写为一个JavaBeans,既方便了使用,又可以使JSP文件简单而清晰,通过封装,还可以防止一般的开发人员直接获得数据库的控制权。JSP+JavaBeans+Servlet:Servlet在不再担负动态页面生成的任务以后,开始担负起决定整个网站逻辑流程的任务。在逻辑关系异常复杂的网站中,借助于Servlet和JSP良好的交互关系和JavaBeans的协助,完全可以将网站的整个逻辑结构放在Servlet中,而将动态页面的输出放在JSP页面中来完成。在这种开发方式中,一个网站可以有一个或几个核心的Servlet来处理网站的逻辑,通过调用JSP页面来完成客户端(通常是Web浏览器)的请求。后面我们将可以看到,在J2EE模型中,Servlet的这项功能可以被EJB取代。运行可行性分析:随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情,这也是网络办公兴起的原因。经济可行性分析:网络办公给人们带来了方便,给企业带来了全新的商务模式。因此,投入一定的资金,构建一个网络办公平台在经济上是完全可行的。系统设计编程模型及数据结构根据系统的处理需求,对应数据表的设计及功能如下:客户信息表:存放客户相关的基本信息。图书基本信息表:存放网上书店所有销售图书的书名、作者和价格等基本信息。图书类型信息表:存放书店所有销售图书分类的信息。订单信息表:存放与客户相关订单的基本信息。订单条目详细信息表:存放订单中详细条目的基本信息。数据模型分析4.2.1用户信息注册表user用户信息注册表图userid字段为用户ID,主键,自增长;username字段为用户名;password字段为密码;realname字段为用户真实姓名;amount字段为用户累积消费金额;question字段为找回密码所需的问题;answer字段为问题所对应的答案;tel为联系电话;email为电子邮件。商品信息表product图书信息表图productid字段为商品ID;productname字段为商品信息;categoryid字段为商品类别ID;storecount字段为商品库存;marketprice字段为商品的市场价;saleprice字段为商品的销售价;hit字段为商品的点击量;picture字段为商品的图片;addtime字段为商品的添加时间;isdel字段为商品是否下架;content字段为商品的信息介绍。4.2.3商品连接表attrvalue(用于连接商品详情表,商品属性介绍表,商品属性表)id字段为商品连接表id;attributeid字段为商品介绍表的id;valueid字段为商品属性表的id;productid字段为商品详情表的id。2.商品属性介绍表attributeattributeid字段为商品属性介绍的id;name字段为商品属性介绍的命名;3.商品属性表valuevalueid字段为商品属性id;valuestr为商品属性名称;4.商品类别表categorycategoryid字段为商品类别id;categoryname字段为商品类别名称;parentid字段为父类id;level字段为所属几级分类5.商品图片表pic(用于存放商品的图片,一对多)picid字段为商品图片id;picurl字段为图片路径;productid字段为商品的id。订单表明细表orderdetail(用于说明用户有多少个订单)orderdetailid字段为每个订单的id;productid为商品信息的id;buycount字段为购买的商品数量;orderno字段为订单号。定单表orders定单表图OrderID字段为定单号,bnumber为数量,username字段为用户名,Truename字段为真实姓名,address字段为地址,postcode字段为邮政编码,tel字段为联系电话,email字段为电子邮件,pay字段为支付方式,carry字段为送货方式,rebate折扣率,OrderDate为定货日期,bz为备注信息,enforce字段为发货标记。支付表payway(存放支付方式)物流方式表sendway接收详情表receive5.发票表invovie系统功能分析系统Usecase图网上书店Usecase图系统的总体的结构网上书店总体结构图网上书店系统主要分为新用户注册模块、用户登录模块。用户登录模块里分为普通用户模块、管理员模块。普通用户模块里有,图书查询模块、订购图书模块、订购修改模块、订购查询模块、用户退出模块。管理员模块里分,添加图书模块、修改图书模块、删除图书模块。系统的E-R图网上书店总体结构图用户注册登录流程图用户注册登录流程图用户注册登录流程,首先用户进入登录界面,如果用户是会员下一步系统流程进入输入用户名和密码流程然后进入合法性检查流程如果用户名和密码合法那么用户将登录到用户界面,最后结束该流程,其次,如果用户不是会员,那么系统将进入会员注册流程让用户填写用户表单,然后进入是否合法流程,如果用户填写的表单合法将进入注册后返回到登录界面流程,如果用户填写不合法那么将进入重新注册。系统实现分模块详述系统各部分的实现方法图书查询:当客户进入网上书店时,应该在主页中分类显示最新的图书信息,以供客户了解本书店的最新图书信息(包括图书的名称、作者、定价和会员价),同时也可以通过书名或作者信息快速查询所需书目信息的功能,也可以查看某一本特定书的详细介绍,以便客户了解更多的内容。购物车管理:当客户选择购买某种图书产品时,应该能够将所选图书信息,如图书编号、图书价格、购买数量记录到对应购物车中,并允许客户返回书目查询页面,选择其他图书并添加到购物车中,当对应购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。订单管理:对应客户购买图书商品信息的需求,在确定了所购图书商品名称、图书价格、图书数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单进行后续的出货、送货的处理。会员管理:为了能够实现图书商品的购买,需要客户的联系方式、送货地址等相关的信息,这就需要会员管理这个模块包括会员的注册(标记客户注册时必须填写的内容,因为产生订单时需要这些信息)和会员的登陆。图书管理:这是一个后台的管理模块,书店管理员可以通过用户名和密码的身份验证后进入书店管理页面,可以进行对图书种类的管理(包括图书种类的增加、删除等)和对图书的管理(包括图书信息的发布、修改等)。界面设计首页面首页面图用户注册信息填写页用户注册信息填写页图首先用户在register.jsp页面输入必须填写的个人信息,并单击<保存>按钮来提交个人信息。提交后,在register_deal.jsp页面中进行验证,如果输入的用户已经被其他用户注册使用过,那么系统会提示用户相应的信息,如果输入的用户名没有被其他用户注册使用并且系统要或必须填写的信息都合理,那么该用户就会成功注册。由于用户注册系统是独立的,因此完全可以把这个用户注册系统作以独立的子系统进行使用。见图5.2.图书管理页面图书管理页面图图书管理页面显示的是所有图书的信息列表,在图书管理页面中可以通过管理员对图书进行增加,删除,修改等操作。软件测试的目的和原则在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里面更具有它的重要性测试的方法在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多

温馨提示

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

评论

0/150

提交评论