




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
....60/65摘要系统尝试用JSP在网络上架构一个动态的电子商务,它是在WindowsXP下,以SQLServer2000为数据库开发平台,Tomcat网络信息服务作为应用服务器,MyEclipse6.0为开发工具,采用HTML,javascript,CSS控制样式前台界面设计,采用JSP(JavaServerPages)技术开发的网上书店系统。系统分前台部分和后台部分,前台部分由用户使用,主要包括客户登录,客户注册,商品选购(可按分类方式查询商品,或通过关键字查询),购物车管理,查看用户订单,用户个人信息修改等功能。后台部分由管理员使用,主要包括商品管理(增,删,查),订单管理(查看订单清单,更新订单付款,删除订单),用户信息管理(修,删,查),发布新产品等功能。建立后的系统是一个动态、交互式、具有商品提供、系统管理功能的电子商务。关键字:网上书店;Tomcat;SQLServer;动态网页;JSP;JDBC-ODBC桥ABSTRACTTrytouseJSPsystemonthenetworkstructureofadynamice-commercesites,itisinWindowsXP,toSQLServer2000databaseforthedevelopmentplatform,Tomcatnetworkinformationservicesasapplicationservers,MyEclipse6.0fordevelopmenttools,usingHTML,javascript,CSSstyleoutlookcontrolinterfacedesign,useJSP(JavaServerPages)technologydevelopedbyonlinebookstoresystem.Theprospectsofthesystemandpartofthebackground,theoutlookinpartbyusers,includingID,customerregistration,commoditypurchase(subjecttoclassificationforgoods,orthroughkeywordquery),shoppingcartmanagement,userorders,usersEditfeaturessuchaspersonalinformation.Byadministratorstousepartofthebackground,includingmanagementofgoods(by,delete,search),ordermanagement(seethelistoforders,paymentordersupdate,deleteorders),personalinformationmanagement(repair,delete,search),thereleaseofnewproducts,etc.Function.
Aftertheestablishmentofthewebsitesystemisadynamic,interactive,withtheprovisionofgoods,systemsmanagementcapabilitiesofe-commercesites.Keywords:Bookstoreonnet;Tomcat;SQLServer;Dynamichomepage;JSPtechnology;JDBC-ODBC目录TOC\o"1-3"\f\h\z\u摘要IABSTRACTII第1章绪论11.1引言11.2课题的目的和意义1第2章系统开发技术和环境32.1开发工具-MyEclipse6.032.2服务器Tomcat6.0简介32.3数据库SQLServer2000简介32.4JSP技术工作原理42.4.1JSP技术简介42.4.2JSP技术的优点42.4.3JavaServlet概述52.4.4JavaBean简介52.5开发模式62.6本章小结7第3章系统分析83.1设计目标83.2可行性分析83.2.1经济可行性83.2.2技术可行性93.2.3社会可行性93.3的需求分析93.3.1相关的功能构架的考察93.3.2的设计103.3.3设计的特点103.3.4开发的设计思想103.3.5系统设计总的原则113.4本章小结11第4章系统的总体设计124.1购书系统功能分析124.2功能模块的设计124.3系统流程分析124.4系统数据库设计174.4.1数据库设计分析174.4.2E-R图174.4.3数据库具体设计194.5本章小结21第5章系统的详细设计和实现225.1前台设计225.2用户管理225.2.1用户注册225.2.2用户登录225.2.3用户找回密码235.2.4用户信息查看235.2.5用户信息修改235.2.5用户注销245.3书籍管理245.3.1书籍查看245.3.2书籍推荐245.3.3新书上架255.4书籍查询255.4.1书籍一般搜索255.4.2书籍高级搜索255.5购物车管理265.5.1购物车添加265.5.2购物车查看265.5.3购物车修改265.5.4购物车清空275.6订单管理275.6.1生成订单275.6.2结帐275.6.2查看订单285.7后台设计285.7.1用户管理285.7.2书籍管理285.7.3订单管理295.7.4管理员退出295.8本章小结29第6章系统测试306.1注册与登录测试306.2书籍查找测试316.3购物车测试326.4订单测试326.5付款测试336.6本章小结34结论35致36参考文献37附录1程序主要代码38附录2使用说明48附录3JSPdynamicwebtechnology52第1章绪论1.1引言目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极改变了人类从物质到精神、从形式到容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战,截至2007年12月底,地上网用户总数为9400万,比去年同期增长8.0%,其中使用宽带上网的人数达到4280万;上网计算机达到4160万台,增长了14.6%。用户在网上关注的信息也不再是单一的新闻。报告数据显示,用户在网上经常查询的信息中,教育信息占29.3%,汽车信息占13.8%,求职招聘信息占24.2%。在互联网服务业务方面:电子、搜索引擎、网上银行、在线交易、网络广告、网络新闻、网络游戏等服务业务仍然快速的发展着。在上网的时候我们接触最多的是Web页面,Web页面是如何制作出来的呢?它的制作是不是非常难以掌握呢?JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入JAVA程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。1.2课题的目的和意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业部网(Intranet),企业外部网(Extranet),通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。当今比较流行的网上书店国外有“亚马逊(.amzon.)”,国有“当当(.dangdang.)”。它们都是相当优秀的电子商务,对其他的提供了良好的典。设计中可以学习参考他们的思想,了解和熟悉整个的开发流程与完整的电子商务应有的功能和注意事项。设计和完成一个电子商务购物系统,将会牵涉到许多技术上的问题,如:动态网页制作技术的、后台数据库的设计和管理,通过实际的制作个,可以避免纸上谈兵,在实践中掌握上述技术的使用。所以说,完成这个课题的意义是重大的,其意义如下:1、理论联系实际通过自己动手,把以往纯理论的理论知识和实践结合起来。在实践中验证理论的正确性。2、学习新技术,培养自学和探索能力目前流行的技术有JSP、ASP、PHP等,结合HTML都能够快速的开发,要完成毕业设计就要在其中选择一种最合适的技术来进行开发,无论选择某一种技术,都能够学习到最新的开发技术。此外开发的时候一定会遇到疑难问题,这就需要自己寻找资料和开动脑筋。3、规模较大,可以弥补理论知识和实践的距离整个项目以开发一个完整的为目标,虽然只有基础的功能,但是规模已经不小,这就需要我们有更强的动手能力,这样通过动手操作能大大缩短理论知识和实践的距离。第2章系统开发技术和环境2.1开发工具-MyEclipse6.0MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。2.2服务器Tomcat6.0简介Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是6.0.14。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司与个人共同开发而成。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。我们的很多中小应用不需要采用E等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。2.3数据库SQLServer2000简介SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。2.4JSP技术工作原理2.4.1JSP技术简介JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。JSP有六种置对象,其中常用的有:request,response,out,session,application,config,pagecontext,page,exception.
2.4.2JSP技术的优点JSP技术在多个方面加速了动态Web页面的开发:(1)将容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态容(容是根据请求来变化的,例如请求信息或者特定的一瓶酒的价格)。生成容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。(2)强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。(3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态容生成所需要的。(4)健壮的存储管理和安全性由于JSP页面的置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。(5)一次编写,各处运行作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。2.4.3JavaServlet概述Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。JSP技术是用JAVA语言作为脚本语言的,谈与JSP技术,少不了要对JAVA技术进行一些基本的介绍。2.4.4JavaBean简介JavaBean是一种基于Java的软件组件,JavaBean和Active控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互与数据提取等。由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们关注。它的任务就是:一次编写,可以在任何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略部的结构和细节问题,只需定义其外部的特征与对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。2.5开发模式目前,JSP技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。越来越多的技术人员也逐步成为JSP技术的推崇者。JSP技术正是利用了Java的“一次开发,处处使用”的性能,成为了开发技术人员的首选技术。当然,JSP技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。JSP开发技术标准提供了两种开发模式:一种是JSP+JavaBean开发模式;一种是JSP+Servlet+JavaBean开发模式。JSP+JavaBean模型图如图2-3所示:图2-3JSP+JavaBean模型图在这种模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的显示。此模型常常会导致页面被嵌入大量的脚本语言或者Java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。JSP+Servlet+JavaBean模型图如图2-4所示:图2-4JSP+Servlet+JavaBean模型图Servlet技术是一种采用Java技术来实现CGI功能的一种技术。Servlet是运行在Web服务器上,用来生成Web页面。Servlet技术非常适于服务器端的处理和编程。在此种开发模式中,JSP技术用来显示页面,该页面中没有任何的商业处理逻辑,通过Servlet技术来完成大量的事物处理工作。Servlet用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建JSP需要的Bean和对象,根据用户的请求行为,决定将哪个JSP页面发送给用户。本设计主要使用第一种开发模式,简单实用,便于管理。2.6本章小结本章只要介绍了开发系统所需要的技术和环境。本系统开发的只要工具是MyEclips6.0。接着介绍了服务tomcal6.0,数据库本课题用的是SQLSERVER2000,它连接前台用的是JDBC-ODBC桥。最后介绍了JSP的运行模式、工作原理和技术特点。第3章系统分析系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。3.1设计目标本平台利用现在比较广泛的JSP+SQLServer2000数据库的架构实现的,进行系统分析,为将来进一步的实施打下一个坚实的技术基础。本平台将投入到实际的试运行之中,进行测试,如果测试满意的话,将进行平台的完善开发,从而实现信息化,规化,系统化,网络化的平台,具有较好的适应性和推广性。此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户信息管理等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理、订单管理等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。3.2可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的。3.2.1经济可行性进行开发成本的估算以与了解取得效益的评估,确定要开发的项目是否值得投资开发,这些即为经济可行性研究的容。对于大多数系统,一般衡量经济上是否合算,应考虑一个底线,经济可行性研究围比较广,包括成本-效益分析、公司的长期经营策略、开发所需的成本和资源、潜在的市场前景。本平台只需要一台性能好一点的计算机担当服务器,装上tomcat服务器软件,即可成为一台服务器。客户只要连上服务器就可以进行运作,经济上都是可行的,而且要求不高,所以该系统的开发是可行的。3.2.2技术可行性对要开发项目的功能、性能和限制条件进行分析,确定在现有的资源条件下,技术风险又多大,项目是否能实现,这些即为技术可行性研究的容。这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员水平和已有的工作基础。本系统需要一台服务器,配置要求与客户量成正比,可以供一个公司或企业使用。当前的主流服务器有很多选择,而他们厂家的售后服务也很好。服务器需要安装的服务器Tomcat6.0。数据库可以使用SQLSERVER2000数据库。总之,这个平台开发所需要的东西很容易集齐,技术性也不是很高,所以技术是可行的。3.2.3社会可行性研究要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织是否行得通,现有管理制度、人员素质和操作方式是否可行,这些即为社会可行性研究得容。社会可行性所涉与得围也比较广,它包括合同、责任、侵权、用户组织得管理模式与规,其他一些技术人员常常不了解得陷阱等。因为本平台是个人自主开发的,所以不存在侵权、管理制度、组织管理等问题,这个平台的社会可行性是可行的。3.3的需求分析3.3.1相关的功能构架的考察考察的主要是国有名的“当当”网上书店进入后不用急着登录,你可以随便看看,新的图书和软件介绍详细,可以看到除了图书外还有影碟、游戏等多种商品,避免了销售的单一性。当你需要购买的时候,就需要登录了,如果你没有注册过,就需要注册成为用户。除了这些功能,比较人性化的功能还有商品搜索,除此之外,还有如新品推荐、热门商品等等。最后当你结账的时候,只要点击结账就可以了。这样整个购买过程就结束了。这些就是我们能够以用户的角度从“当当”得到的信息。其中有一些功能由于没有作过详细的调查,所以不能确定,但是以上调查证明要想成为一个完整的购物,有一些功能如会员、购买等必须有,这就为本次设计提供了参考。3.3.2的设计经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台容进行充分了解,使所要开发的平台更具有实用性和适应性,通过实习调查和指导老师的耐心介绍,设计出该平台功能如下:(1)能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。(2)能够完成管理员对的书籍管理、处理订单,会员管理、操作管理的功能。(3)能过书籍的名称,书籍的分类进行搜索。(4)能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。3.3.3设计的特点我所设计和开发的网上书店是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Wed技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往买书的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规化,系统化,网络化的平台,使整个购书活动过程简单、方便、易行。3.3.4开发的设计思想网上书店主要是对后台管理和前台操作。后台管理是管理员对本的维护,通过商品管理、处理订单、、会员管理、操作管理等功能达到对的管理。前台操作是用户登录到本,可以进行用户注册,通过的新书上架、商品分类或商品搜索功能,找到自己想要买的书,装入购物车,提交定单进行购买。3.3.5系统设计总的原则无论哪个都要有它自己的设计规则。该平台也一样,它的主要设计规则有:(1)简单性在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个来说是非常重要的。(2)针对性该平台设计是网上书店与后台管理的定向开发设计,所以具有专业突出和很强的针对性。(3)实用性该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。3.4本章小结本章主要确定了本课题的设计目标,接着对系统作了可行性分析,包括经济可行性、技术可行性、社会可行性。最后对的需求作了分析,在需求分析中,先考察了和本课题相关的制作的特色,参考它们用到的技术,最后得出本系统的特点、设计思想和总的开发原则,为以后开发作了准备。第4章系统的总体设计4.1购书系统功能分析经过前期的深入调查和研究,总结出该系统需要完成的一些具体功能,分析如下:(1)用户管理能够完成用户基本信息录入的注册和用户基本信息的个人前台后台管理。(2)管理员管理能够完成管理员对的商品资料(商品添加、商品删除)、商品交易(处理订单、订单查询)、会员管理(会员管理)、操作管理(管理员添加、管理员审查、管理员退出)的功能。(3)搜索功能能过书籍的名称,书籍的分类,进行模糊查询和精确搜索。(4)查询功能能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。4.2功能模块的设计在系统功能的分析基础上,得到本系统的功能模块图如图4-1所示。网上书店主要包括四大功能模块,用户管理模块、管理员模块、搜索模块、查询模块其中用户管理模块,主要包括用户注册、用户修改、用户删除,用户的找回密码等功能;管理员管理主要包括书籍管理(书籍添加、书籍删除,书籍查看)、商品交易、会员管理、操作管理(管理员添加、管理员退出)等功能;搜索主要包括(书籍名称、书籍类别)。4.3系统流程分析(1)前台购物流程图如图4-2所示。(2)后台订单处理流程图如图4-3所示。(3)注册功能流程图如图4-4所示(4)用户登录流程图如图4-5所示。(5)商品搜索流程图如图4-6所示。浏览书籍选择书籍浏览书籍选择书籍订购书籍去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录图4-2顾客前台购物网上书店用户管理网上书店用户管理管理员管理布局搜索书籍修改书籍添加书籍删除管理员添加管理员退出会员管理管理员管理模糊搜索精确搜索书籍管理用户删除用户信息修改用户注册订单管理用户查找密码用户信息查看用户删除用户信息查看用户注销订单查看订单删除书籍发送新书上架销售排行商家推荐图4-1系统总体结构用户订单订单处理用户订单订单处理订单结帐订单发货订单删除图4-3后台订单注册入口注册入口必选项为空用户名有效?输入密码致一致?密码长度符合要求求?注册成功否否否否是否是是是图4-4用户注册登录入口登录入口取得用户名和密码将UserID存入session中用户是否存在密码是否正确登录成功是是否否图4-5用户登陆开始搜索开始搜索输入条件搜索结果查看商品购物车下订单继续搜索是否图4-6商品搜索(6)商品管理流程图如图4-7所示。商品管理商品管理查询商品修改,删除满意否返回添加商品是否图4-7商品管理购物车查看商品购物车查看商品满意吗下订单调整商品是否付款图4-8购物车流程4.4系统数据库设计4.4.1数据库设计分析在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以与如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。网上书店的主要对象是用户,所以必需建立用户表,包括用户的基本信息情况;用户的主要活动是对商品的购买,所以必需建立商品信息表;用户对商品的购买,用户提交定单,建立定单表。4.4.2E-R图真实XX真实XX详细地址用户名称回答联系用户密码用户ID用户类型问题注册时间用户图4-1用户实体属性图订单订单订单ID销售价格订单日期图书数量图书金额订单状态用户名用户名图4-2订单实体属性图销售价格销售价格库存数量图书ID内容简介作者是否推荐图书名称出版日期进货日期书籍类型进货价格图书图4-3图书实体属性图消费消费折扣数用户名消费额会员等级图4-4消费实体属性图用户1用户订购1订购购买m购买订单订单包括1n包括书籍书籍m图4-5实体联系E-R图4.4.3数据库具体设计由设计的E-R图得到下面各表的结构。表4-1系统会员消费信息表(usersend表)字段名类型说明userName文本会员名称Sendmoney数字消费的数量Zhe数字折扣等级Dengji数字会员等级表4-2系统书籍信息表(book表)字段名类型说明bookId数字图书的ID号bookName文本图书名称bookType文本图书的类型author文本本书作者chubanshe文本Price数字本站售价格Cben数字进格outdate文本出版时间addtime文本进货时间booksum数字图书剩余数量bookIntroduce文本图书介绍Iftujian数字是否推荐lirun数字每本的盈利表4-3订单明细表(dmingxi表)字段名类型说明dingdanId文本订单号userName文本会员名称bookName文本书籍名称Quantity数字购买的书籍数量Price数字单价num数字总价Addtime文本下单时间Ifok数字订单状态表4-4系统会员信息表(usr表)字段名类型说明userId数字会员的ID号userName文本会员名称trueName文本用户的真实userPrd文本密码question文本找回密码的问题answer文本答案address文本用户地址Post文本addtime文本注册时间Lasttime文本上次登录时间userType文本用户的类型Tel文本Email文本Introduce文本备注4.5本章小结本章开始了系统的总体设计,主要有系统的功能分析、模块分析和流程分析。其中,在功能分析中画出了本系统的总体E-R图,在模块分析中介绍到系统总共用到哪些模块,而在流程分析中分别画出了会员注册、购物、订单等流程图。最后写出了系统数据库的表的结构,为系统的详细设计做了准备。第5章系统的详细设计和实现5.1前台设计在主页上,顾客能迅速获得商品的资料,如新发布的产品、热门产品,商家推荐,销售排行,新书推荐。这样能让顾客在最短时间获得他们说需要的商品。而我们还可以看到,新的用户可以在这里注册、会员可以在这里直接登陆、修改自己的资料,查看订单,查看购物车等。总之,主页的设计的只要思想就是方便顾客购物。首页的设计使用的是表格嵌套的JSP语句。jsp:include加载的头部页面head.jsp,中间为总体的显示页面head.jsp,页脚是静态页面copyright.html作为说明。5.2用户管理5.2.1用户注册如果成为会员,在购物的时候可以获得优惠,基于这个想法,顾客一般都会在这里先注册成为会员的。在主页上点击“新用户注册”就可以跳到会员注册页面,在会员注册资料中,分为必填资料和选填资料。注册页面为reg1.jsp填好一切资料后点击“好了我要提交”,提交到注册处理页面reg3.jsp.并使用JAVASCRIPT脚本进行验证,将用户名与原有的user表进行比较,若用户名已存在,则提示“此用户名已存在请重新填写”,经过验证后填写的数据添加到数据库的usr表中,点击“不行我要重填”进行重新填写。5.2.2用户登录顾客经过注册后,可以用注册过的进行登陆。在登陆界面login.jsp中或首页的登录框中输入、密码、会员类型提交到user_login.jsp页面处理登录请求,将提交的数据与数据库中的原有userName,userprd,userType进行组合查询比较,验证通过后就可以登陆会员系统。如果是管理员进入管理页面manager/index.jsp,普通会员进入首页index.jsp,并且显示出用户名,将用户名存入session中后可以进行购物等所有操作。5.2.3用户找回密码顾客经过注册后,可以用注册过的进行登陆。但是如果忘记了密码,还可以通过单击找回密码转到findprd.jsp页面填写问题和答案后提交到findprd_ok.jsp,比较usr表中的userName,question,answer的容,找回自己的密码。该页面如图5-1所示。图5-1黄金屋书店找回密码页面如果问题和答案都正确则弹出对话框显示密码“你的密码是……”,后进入登录页面重新登录。相反如果填写的信息有误则弹出对话框显示“输入信息有误,请重新填写或注册”。5.2.4用户信息查看用户登录后可以查看自己的注册信息和在的消费信息,通过myinfo.jsp显示用户信息。并出现信息修改,可以修改密码和注册信息,但是用户名不可改变。5.2.5用户信息修改可以分别进行修改密码和注册信息,但是用户名不可改变。表单提交信息的约束由JavaScript完成,修改密码的处理页面是modify_password_save.jsp。用户信息修改处理页面是modify_info_save.jsp。数据库更新操作过程中,定义一个整型变量temp用于返回数据库操作的状态。这样可以不用抛出异常来显示数据库操作状态,不但可以设计成一个比较友好的错误处理页面,管理员也可以根据提示判断错。当temp>0时,数据库更新成功,并弹出对话框提示修改成功。若当temp=0则提示数据库更新失败,重新填写信息。当temp<0时,网络部错误或其它系统错误。5.2.5用户注销用户在登录时将用户名和ID存入session中,从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。所以为了安全和资源浪费的角度来看要用注销来释放session中的用户ID。单击注销时提交到loginout.jsp将session中的ID释放清空完成注销。5.3书籍管理5.3.1书籍查看用户可以查看书籍,当用户点击“商品浏览”时提交到showbook.jsp显示全部书籍,并且点击书籍名称来将书籍的ID号传递到seebookall.jsp,然后通过查询语句查出与ID号一样的书籍后显示书籍的详细信息,单击图书类型名称可通过条件组合将bookType传入seebookType.jsp页面,与表book比较后选出类型一样的书籍后显示所有此类型的图书信息,单击添加到购物车。5.3.2书籍推荐在图书表book中定义字段iftuijian,当为1时表示推荐,当单击“商家推荐”时提交到tuijianbook.jsp中,使用查询语句查询并显示书籍的所有信息出来。也可以用一图片表示推荐的程度,后再按照推荐程度来排列图书显示的顺序。5.3.3新书上架在图书表book中定义字段addtime自段用于标识书籍进站的时间,显示时用查询语句查找到书籍名称后用addtime来限定排列顺序。5.4书籍查询当顾客因为书店的书籍太多而找不到他所需要的产品的时候,他可以用书籍查询系统。书籍搜索分为一般搜索和高级搜索。一般搜索也就是叫做模糊查找,只要符合搜索字段的书籍都会被搜索出来。高级搜索可以有针对性的查找,可以通过图书的类别、图书名称、图书简介、图书容、图书简介、图书价格、是否推荐、是否特价这几种方法来查找。高级搜索搜索出来的东西比较准确。5.4.1书籍一般搜索通过输入要查找的书籍的关键字进行模糊查询,可以在文本框后加一个下拉框,来选择查找的途径,或是通过书名,货书籍类型,或作者等的关键字,点击搜索按钮提交表单到findgood.jsp页面,将传入的信息用like%keyword%进行模糊查询,后显示所有与关键字有关的书籍。运行界面如图5-2所示。图5-2黄金屋书店一般查询页面5.4.2书籍高级搜索点击精确查询进入高级搜索页面静态页面findgood.html,点击搜索后提交到findbook.jsp其中查询条件可以随便的任意组合查询。处理页面用一系列的条件分支语句来组合控制查询语句,所以无论填写那个都会正确的查找出结果。并且填写的查询条件越多,查询结果越精确。高级搜索把其他条件的商品全部过滤掉,很精确的搜索顾客想要的商品。当没有符合条件的书籍时,弹出对话框显示“您要查找的图书不存在,请重新填写“。5.5购物车管理在超市购物,可以根据自己的需求将很多的商品挑选到购物车中,然后去收银台结帐,而在网上虚拟的商城中没有办法推车,通常都会使用“购物车”技术来虚拟现实生活。这种技术十分方便,不但可以随时添加,查看,修改,清空购物车中的容,还可以随时去收银台结帐。5.5.1购物车添加添加购物车就是把用户选的商品暂放在购物车中。当用户在书籍清单中单击“添加到购物车”时,通过的组合将商品的Id传入购物车的添加处理页面cart.jsp。然后根据书籍ID查询出书籍的名称和价格,并引入实体javabeanbuylist存放读出的书籍信息和用户名等信息。创建一个集合类Vector的对象shop来保持buylist的对象mylist的信息。然后从session中读取shop对象,如果为空则说明还没进行购物或者已经清空了购物车,需要新建购物车对象;将商品ID与购物车列表中的商品ID对比,如果已经存在则将购物车中的商品的数量加1。5.5.2购物车查看为了方便用户随时查看购物情况,在首页上添加查看购物车的,并到list.jsp页面。通过它可以获取用户所有的商品信息法放入购物车中显示出来。在购物车里可以修改商品数量,删除商品,继续购书,和生成订单。5.5.3购物车修改当商品数量需要修改时只需要改变购买商品的数量文本框中的值,后单击修改按钮就修改完成了。这里需要特别注意修改数量后一定要点击修改按钮,否则将按照初始时的值提交到订单生成页面。当要删除购物车中的某项商品时只需将商品数量文本框的值设为0,在单击修改就删除了。5.5.4购物车清空清空购物车是指在放弃购物时或订单生成后若还想继续购物一定要清空购物车再进行选购,这样防止重复购物。清空购物车只需要将session中存储的shop对象清空即可。session.removeAttribute("shop"),清空后弹出对话框提示购物车清空成功。此功能由页面clear.jsp实现。5.6订单管理生成订单是网上购物商城的最终目的,前面所有的功能实现都是为生产一个用户满意的订单,在此要生成一个可供用户随时查询的订单号,还要保存订单中购买的商品信息。当用户确认对购物车不在修改时,点击付款生成订单,并进行付款。结帐的流程为:从购物车中读取商品名称,数量,价格信息,并根据时间生成唯一的订单号,同时将用户的注册基本信息读取出来,形成一个完整的订单写入数据库。5.6.1生成订单在生成订单时调出用户信息并生成唯一的订单号,把session中的userName取出,并根据这个用户名来在usr表中查找出用户基本信息。生成唯一订单号的方法有很多种,只要确保唯一性与用户便于查询自己订单的执行状态即可。本程序使用系统当前日期的月、日、时、分、秒、与毫秒叠加的方法得出的。由于Date对象返回的各级时间都是整型的,需要通过string对象的valueOf方法将其转换成String类型的后使用字符串叠加。点击生成订单,便可以把信息存入数据库。此操作由dodingdan.jsp页面完成,生成订单之前先判断书库中的书籍数量是否足够,如足够生成订单,不够则提醒用户从新填写数量。5.6.2结帐当订单生成完页面跳到处理查看订单页面,显示订单的状态并设置了撤消和付款,将订单的ID号传入下一页面checkok.jsp。在处理页面中进行了根据订单ID号查询出订单中的书籍ID,书籍数目和订单的总价。再以bookId为外码在book表中减去订单中的书籍数的数量,更新成功后提示交易成功,书籍以发出。再根据订单中的userName更新usersend表中的消费数额的字段sendmoney的值。更新成功后提示更新消费信息成功。若不成功提示“交易失败,请联系管理员”并转入首页。5.6.2查看订单查看用户订单页面,先根据session中的userName查询订单表中的全部信息并显示出来,可以根据订单的ifok属性值分成是否完成交易,并将未完成交易的ifok=0的订单信息后面加上“撤消订单”和“付款”,分别连接到订单的删除deldingdan.jsp页面和checkok.jsp交易页面。对于交易完成的订单即ifok=1的订单,用户只能查看而不能修改或删除。这部分订单只有管理员才能编辑。5.7后台设计后台功能只允许管理员权限的用户使用,他的实现是前台功能的基础。后台包括身份验证,添加商品,订单管理,用户管理等模块。5.7.1用户管理管理员对用户的管理包括查看所有用户信息和消费信息。建立表usesend用于以后扩展成按照用户等级消费的,可以给表设计一个触发器,当用户的消费数达到500时,通过属性sendmoney的更新触发触发器,更新用户的等级,而管理员设置每个等级有对应着几折,由此来修改用户享受购物时的折扣。但是现在这些只是我的想法还没有具体实现,这也将是我下一步的设计目标。用户的删除涉与到usr表,usersend表和dmingxi表的级联删除与否问题。现在只实现了单表的删除。5.7.2书籍管理书籍的管理部分实现了书籍的添加,删除,新书推荐,和销售排行。书籍的添加时先判断图书的名称,,作者,出版日期是否都一样,如果一样则,只更新原有图书的数量加上先添加的数量即可。若不全一样则添加新的数据加入数据库,并自动生成书籍的唯一ID用于标识书籍。书籍的添加页面由addbook.jsp获取数值,传入add-book.jsp页面进行验证和添加数据库。添加成功后弹出添加完成对话框。删除书籍页面为delbook.jsp页面。5.7.3订单管理订单管理只实现了所有订单的所有信息的查看,和修改,为了信用问题应在删除用户下了订单却没有付款的订单时通知用户,此订单已被删除。订单查询,使用静态HTML页面获取表单信息,后提交给seachdingdan.jsp页面接受信息。输入订单号后再dmingxi表中比较dingdanID一样的就输出返回给用户。若不存在着显示没有您查找的订单。5.7.4管理员退出管理员的退出与用户的注销一样。5.8本章小结本章开始对系统的详细设计以与实现,先给出了本系统的总的界面,接着分别介绍了会员系统、商品搜索系统、订单系统和后台管理系统四大系统。在会员系统总介绍了会员登陆和会员注册;在商品搜索中介绍了一般搜索、高级搜索和搜索无结果;而在后台管理系统中介绍了后台登陆、添加图书、删除图书、订单管理、后台会员管理。第6章系统测试测试有两种方法:黑盒测试和白盒测试。黑盒测试又称为功能测试,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。在本系统测试中,采用的是功能测试。6.1注册与登录测试运行注册界面如6-1图所示图6-1黄金屋书店注册页面注册时填写的数据中不能有特殊的字符,否则数据库操作将报错。在表单验证时不符合的项目后出现红字提示正确的方法,并将焦点放在要修改的文本框中。全部合格后提示注册成功,添加到数据库的用户表usr中。并将用户名放入session。当用户名或密码为空时提示不能为空,当提交的信息没有通过验证则弹出对话框提示用户名密码出错,让用户从新填写。在这里可定义一个标志变量i当同一用户没提交一次验证使i++,若i>=5则提示恶意解码,强制关闭。但这一功能还没有实现。可以继续设计。登录界面如图6-2所示。图6-2黄金屋书店登录页面6.2书籍查找测试当用户精确查找书籍时添加关键字,组合查询并且根据填写的文本框的个数不同搜索出精确的书籍信息,如果什么也别不填写则找到所有书籍。实现界面如图6-3所示。图6-3黄金屋书店精确搜索页面但是也许是设计思想的问题,实现这一功能用到了很多分支语句,所以只实现了少量的组合,以后可以增加条件。搜索结果如图6-4所示。图6-4黄金屋书店精确搜索结果页面6.3购物车测试当查看书籍了之后点击添加到购物车按钮,将书籍添加到购物车。修改数量的文本框后点击修改即可完成修改。但是如果输入的是非数字则会系统报错,所以在提交时使用脚本验证,若为空或非数字则提示填写数字。运行界面如图6-5所示。图6-5黄金屋书店购物车查看页面修改后数量符合要求后提交修改后重新显示新的信息。6.4订单测试购物车的信息提交到生成订单页面后先判断库存数量是否足够如不足够则,提示修改数量。如图6-6所示。图6-6黄金屋书店生成订单验证页面数量合格后提示生成订单成功,并跳到订单页面,这里列出了所有此用户提交的但是交易还没完成没有付款的订单和用户的注册信息,用户可以点击付款,完成交易。如图6-7所示。图6-7黄金屋书店生成订单并显示页面设计出现了一个问题,当购物车中不只一件商品时,程序一一验证提交的数量是否合格,如有一个合格则提示订单生成成功,但是其实不合格的商品并没有生成订单,也没有提示用户。而不合格商品下面的商品若有合格的还是会继续生成订单,这个地方需要改进。6.5付款测试当用户点击撤消取消订单,点击付款完成交易。如图6-8所示。图6-8黄金屋书店交易成功页面交易完成后要更新用户的消费记录如图6-9所示。图6-9黄金屋书店消费记录更新页面6.6本章小结由于做了大量的测试,发现只有真正测试了才能发现的很多问题,所以的优缺点已基本了解,也设计了一些解决的方法,并解决了一些问题。此主要是前台的功能比较多,而后台的设计不是很多只有简单的查看删除,添加等管理,这里就不详细介绍了。结论本系统还只是作者自己设计的初级的网上书店,由于技术还不是很成熟,所以有很多Buge和流程设计上的不完美,所以还不能投入使用。但是基本的功能都已实现。实现的功能和不足主要有以下几点:(1)用户的注册、登陆、取回密码,均以实现,但是表单的验证还不完善,当输入的字符为标点是就会出错。登录时没有设置登录次数容易出现恶意猜解密码的现象。(2)书籍的搜索虽然功能实现了而且结果很正确,可以多加几个条件。(3)购物车模块的设计很成功,功能都实现了,而且很严谨,是整个程序的亮点。(4)订单模块的设计存在一定的问题,似乎是流程上的设计问题,但是基本的订单生成和删除的处理以实现,并且实现了货物的发出书籍数据库的更新和用户消费记录的更新。订单模块仍需进一步改进。(5)会员设置上有想法,希望通过消费额来设置会员的等级,并每一等级有不同的折扣值,或者可以通过购买数量来给予不同的折扣。但是这些功能还没有实现,将是我下一步的设计目标。(6)数据库中的记录数量不足,需要多添加一些数据,测试也需要大量的数据来完成。在2个多月的毕业设计中,经过不断的学习、探索、指导教师和师兄的帮助,我已经基本完成了当初的设计构想,实现了绝大部分功能。不仅仅学习到了最新的开发技术,而且还在实际的设计中锻炼了自己的编程思想,全面的提高了自己的综合素质。这些都将成为我以后工作生涯的的财富。致写到这里,即我的学位论文将要付梓的时候,想要说的感很多,然而我却想借这一偶之地说上几句。这篇并不太长的论文,不仅使我想到半年来的的艰辛工作,四年来的寒窗苦读,更是我人生最重要的一段时间的一个句号。在这段时间里,我从一个从未离开父母庇护的懵懂少年成长为一个懂得人间寒暑的高校毕业生,其间的痛苦,悲伤,欢笑,一切的一切在我脑海中还是那么清晰、难忘……
一次次的迷失,一丝丝的曙光,老师们的鼓励和教导指引着我走过了四年的时间,感指导老师对我论文的指导,仅以致的方式远不能表达的我的感激之情。敬祝恩师们身体,合家幸福!
衷心感我的同学们的帮助,你们在生活和学习上对我的帮助是这篇论文得以顺利完成的保障。感我的父母在万里之外对我的关怀,你们的鼓励也是我完成论文的最大动力。祝二老身体健康,万事如意!
四年时间转瞬即过,回首往事感慨万千。本科阶段只是我追求的开始,在以后的日子里我会更加勤奋的工作,努力去征服一个个的困难,实现我人生的梦想。
最后,再次所有帮助过我的人们和我伟大的母校,!参考文献[1]雪萍.DreamveaverMX2004中文版完全自学手册[M].:人民邮电,2004.[2]周松建,丽.JavaScript经典例50讲[M].:科学,2004:63-84,108.[3]梁美春,付文学.软件工程导论[M].:聊安大学,2002:45-66,80.[4]徐国智.SQLServer2000数据库系统开发实例精粹[M].:电子工业,2006[5]王珊,萨师煊.数据库系统概论[M].:高等教育,2006:41-51,83-117.[6]塞奎春.JSP信息系统开发实例精选[M].:机械工业,2006:230-272.[7]邹竹彪.JSP网络编程从入门到精通[M].:清华大学
,2007:330-400.[8]武延军,黄飞跃.精通JSP编程技术[M].:人民邮电,2001:56-80,78.[9]刚.Eclipse从入门到精通[M].:清华大学,2005:416-417.[10]RusselWinderGrahamRoberts.DevelopinJAVASoftware.JohnWiley,2006:92,214-220,292[11]BruceEckel.ThinkinginJava,ThirdEdition.PrenticeHallPTR,2002.[12]RobertC,Martin.ExplainstheprofoundinsimplelanguagetheJSPtechnology.IIETransactions,2000.[13]IvorHorton.JAVA2JDK5Edition.WileyPublishing,2005[14]洪维恩,何嘉.Java2面向对象程序设计[M]..中国铁道.2005.1:50-200[15]卫琴、洪成.Tomcat与JavaWeb开发技术详解[M].:电子工业,2004附录1程序主要代码JavabeanConnectDB使用JDBC-ODBC桥数据库package.feng;importjava.sql.*;publicclassConnectDB{ StringDBDRIVER="sun.jdbc.odbc.JdbcOdbcDriver"; //定义数据库连接地址 StringDBURL="jdbc:odbc:fengyuan";//定义数据库连接对象,属于java.sql包中的接口 Connectionconn=null;//定义Statement对象,用于操作数据库 Statementstmt=null;PreparedStatementpstmt=null; //定义一字符串变量,用于保存SQL语句 Stringsql=null;//查询返回的结果集对象 ResultSetrs=null; //定义打开数据库的连接函数 privateStringerrMes; publicConnectDB(){ try { Class.forName(DBDRIVER); } catch(Exceptione) { //此处使用out.print是处于演示目的,在实际开发中所有的错误消息,绝对不能够通过out.print打印,否则会存在安全问题 System.err.println("opendb():"+e.getMessage()); }}publicResultSetexecuteQuery(Stringsql)//可以执行查询等操作 {try{ conn=DriverManager.getConnection(DBURL,"fengyan","sa"); stmt=conn.createStatement(); rs=stmt.executeQuery(sql); } catch(SQLExceptione) { System.err.println("aq.executeQuery1111:"+e.getMessage()); } returnrs; } publicintexecuteUpdate(Stringsql){//数据库的更新操作有错误××××××× intresult=0; try{ conn=DriverM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产代持合同协议书范本
- 汽车内饰配件采购合同
- 离婚后住房分配合同样本
- 二手施工设备购销合同
- 家族遗产分配合同
- 借款担保反担保合同样本
- 学校装修合同案例
- 门面房屋买卖合同
- 太阳能发电政策考核试卷
- 新材料在新能源领域的应用考核试卷
- 中央2025年中国科协所属单位招聘社会在职人员14人笔试历年参考题库附带答案详解-1
- 殡仪服务员职业技能鉴定考试题(附答案)
- 电动葫芦吊装方案计划
- 2025年山东电工电气集团招聘笔试参考题库含答案解析
- 造价咨询服务方案进度计划安排及保证措施
- 2024年认证行业法律法规及认证基础知识 CCAA年度确认 试题与答案
- 2024年潍坊工程职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- JIS C9335-1-2014 家用和类似用途电器.安全性.第1部分:通用要求
- 甲沟炎治疗的护理与预防
- 哈工大微电子工艺绪论01单晶硅
- 供养直系亲属有关文件
评论
0/150
提交评论