基于web的在线问题解答系统_第1页
基于web的在线问题解答系统_第2页
基于web的在线问题解答系统_第3页
基于web的在线问题解答系统_第4页
基于web的在线问题解答系统_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

基于WEB的在线问题解答系统摘要随着近几年来微机技术、网络技术、多媒体技术及相应软件技术的迅猛发展,学校的教学、管理、考试等工作己越来越离不开计算机了。一方面,计算机辅助教育与计算机辅助教学是计算机技术非常重要的应用领域另一方面,计算机与网络的应用更加促进了两者的飞速发展,目前它们已逐步成为现代教学的一个很重要且有效的手段。本系统在线问题解答系统,采用JAVA技术作为创建应用程序的方式,采用SQLSERVER数据库作为后台数据库。它是基于BROWSER/SERVER结构下形成的数据驱动的WEB应用程序。本系统基本遵循了软件工程方法论进行系统分析、总体设计、详细设计和软件测试。实现了用户注册、答疑版块管理、在线答疑、学生管理、教师管理、系统管理等功能。关键词在线问题解答系统JAVASQLSERVERONLINEQUESTIONANSWERINGSYSTEMBASEDONWEBABSTRACTALONGWITHTHERECENTYEARSCOMPUTERTECHNOLOGY,NETWORKTECHNOLOGY,MULTIMEDIATECHNOLOGYANDCORRESPONDINGSOFTWARETECHNOLOGYSWIFTANDVIOLENTDEVELOPMENT,SCHOOLTEACHING,MANAGEMENT,EXAMINATIONWORKHASBECOMEINCREASINGLYINSEPARABLEFROMTHECOMPUTERONONEHAND,COMPUTERAIDEDEDUCATIONANDCOMPUTERAIDEDTEACHINGISAVERYIMPORTANTAPPLICATIONFIELDSOFCOMPUTERTECHNOLOGYONTHEOTHERHAND,THECOMPUTERANDTHENETWORKAPPLICATIONMOREPROMOTEDBOTHRAPIDDEVELOPMENT,ITHASGRADUALLYBECOMEAMODERNTEACHINGISAVERYIMPORTANTANDEFFECTIVEMEANSOFTHISSYSTEMONLINEQUESTIONANSWERINGSYSTEM,USINGJAVATECHNOLOGYASTOCREATETHEAPPLICATIONWAY,USINGSQLSERVERDATABASEASABACKGROUNDDATABASEITISBASEDONBROWSER/SERVERSTRUCTUREFORMATIONDATADRIVENWEBAPPLICATIONSTHESYSTEMFOLLOWSTHEBASICSOFTWAREENGINEERINGMETHODOLOGYFORSYSTEMSANALYSIS,DESIGN,DETAILEDDESIGNANDSOFTWARETESTINGACHIEVEAUSERREGISTRATION,QIFTYPEENDSWITH“CATELOGADD“CATELOGADDREQ,RESIFTYPEENDSWITH“CATELOGDEL“CATELOGDELREQ,RESIFTYPEENDSWITH“CATELOGMANA“CATELOGMANAREQ,RESIFTYPEENDSWITH“CATELOGALL“CATELOGALLREQ,RESIFTYPEENDSWITH“CATELOGDETAIL“CATELOGDETAILREQ,RESPUBLICVOIDCATELOGADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGNAMEREQGETPARAMETER“NAME“STRINGJIESHAOREQGETPARAMETER“JIESHAO“STRINGDEL“NO“STRINGSQL“INSERTINTOT_CATELOGVALUES,“OBJECTPARAMSNAME,JIESHAO,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“CATELOGTYPECATELOGMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES52详细内容页面1为了保证系统的安全性,对问题发布、回复等功能,需要首先登录系统。如图52,53所示。图52登录界面图53登录成功提示2登录成功后,点击主题,可进入主题的详细内容,可以查看到所有用户的回复内容等信息。如图54所示。图54详细内容页面图3提出问题学生登陆后,点击发布新问题,输入问题信息后点击提交按钮,如果是没有输入完整的信息,都会给出相应的错误提示,不能提问成功。如图55所示。图55发布新问题示意图代码实现过程如下PUBLICSTRINGWENJUANADDTWENJUANWENJUANNEWTWENJUANWENJUANSETIDSTRINGVALUEOFNEWDATEGETTIMEWENJUANSETMINGCHENGMINGCHENGWENJUANSETSHIJIANNEWSIMPLEDATEFORMAT“YYYYMMDD“FORMATNEWDATEWENJUANDAOSAVEWENJUANTHISSETMESSAGE“THISSETPATH“WENJUANMANAACTION“RETURN“SUCCEED“PUBLICSTRINGWENJUANMANASTRINGSQL“FROMTWENJUAN“LISTWENJUANLISTWENJUANDAOGETHIBERNATETEMPLATEFINDSQLMAPREQUESTMAPSERVLETACTIONCONTEXTGETCONTEXTGET“REQUEST“REQUESTPUT“WENJUANLIST“,WENJUANLISTRETURNACTIONSUPPORTSUCCESSPUBLICSTRINGWENJUANDELTWENJUANWENJUANWENJUANDAOFINDBYIDIDWENJUANDAODELETEWENJUANTHISSETMESSAGE“THISSETPATH“WENJUANMANAACTION“RETURN“SUCCEED“4回复问题学生可以选择别的同学提出的问题,点击进入,输入回复信息后点击提交按钮,就可以回复其他同学们的问题。如图56所示。图56回复问题示意图5查看自己的信息点击提示我的信息,就可以查看学生自己的学号,年龄等信息,也可以修改自己的部分信息,如修改自己的登录名,密码。修改后点击修改按钮即可,不修改则按取消按钮即可。如图57所示。图57查看我的信息示意图6注册信息有些同学没有此网站的账号,那么此时可以注册账号,点击界面上方注册按钮,输入相应的信息,设置自己的用户名及密码,下次用此用户名和密码即可登录提出及回答问题。如图58所示。图58注册页面代码实现过程如下PUBLICVOIDHUIFUADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESHTTPSESSIONSESSIONREQGETSESSIONSTRINGTITLEREQGETPARAMETER“TITLE“STRINGCONTENTREQGETPARAMETER“CONTENT“STRINGSHIJIANNEWDATETOLOCALESTRINGINTZHUTI_IDINTEGERPARSEINTREQGETPARAMETER“ZHUTI_ID“INTHUIFUZHE_LEIXING0INTHUIFUZHE_ID0IFSESSIONGETATTRIBUTE“USERTYPE“TOSTRINGEQUALS“1“/学生HUIFUZHE_LEIXING1HUIFUZHE_IDTUSERSESSIONGETATTRIBUTE“USER“GETIDIFSESSIONGETATTRIBUTE“USERTYPE“TOSTRINGEQUALS“2“/老师HUIFUZHE_LEIXING2HUIFUZHE_IDTTEASESSIONGETATTRIBUTE“TEA“GETIDIFSESSIONGETATTRIBUTE“USERTYPE“TOSTRINGEQUALS“100“/管理员HUIFUZHE_LEIXING100HUIFUZHE_IDTUSERSESSIONGETATTRIBUTE“USER“GETIDSTRINGDEL“NO“STRINGSQL“INSERTINTOT_HUIFUVALUES,“OBJECTPARAMSTITLE,CONTENT,SHIJIAN,ZHUTI_ID,HUIFUZHE_LEIXING,HUIFUZHE_ID,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MSG“,“操作成功“STRINGTARGETURL“/COMMON/MSGJSP“DISPATCHTARGETURL,REQ,RES53后台登录后台登录是提供给管理员的登录窗口,管理员输入用户名及密码后,系统会进行识别,如果是合法用户即可登录到后台主页面。如图59所示。图59后台登录图代码实现其过程如下PUBLICVOIDADMINADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGUSERNAMEREQGETPARAMETER“USERNAME“STRINGUSERPWREQGETPARAMETER“USERPW“STRINGSQL“INSERTINTOT_ADMINUSERNAME,USERPWVALUES,“OBJECTPARAMSUSERNAME,USERPWDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“ADMINTYPEADMINMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES54修改密码修改密码功能可以修改本人的登陆密码,需要输入原密码,然后输入2遍新密码,待系统确认信息后,方可修改成功。如图510所示。图510修改密码界面图其代码实现过程如下PUBLICVOIDUSEREDITHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESINTIDINTEGERPARSEINTREQGETPARAMETER“ID“STRINGLOGINNAMEREQGETPARAMETER“LOGINNAME“STRINGLOGINPWREQGETPARAMETER“LOGINPW“STRINGNAMEREQGETPARAMETER“NAME“STRINGSEXREQGETPARAMETER“SEX“STRINGAGEREQGETPARAMETER“AGE“STRINGSQL“UPDATET_USERSETLOGINPW,NAME,SEX,AGEWHEREID“OBJECTPARAMSLOGINPW,NAME,SEX,AGE,IDDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MSG“,“修改成功,重新登录后生效“STRINGTARGETURL“/COMMON/ADD_SUCCESSJSP“DISPATCHTARGETURL,REQ,RES55管理员管理管理员管理模块可以添加管理员帐号,同时可以根据需要来删除相应的管理员帐号信息等,如图511所示。图511管理员管理功能图其代码实现过程如下PUBLICVOIDADMINDELHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSYSTEMOUTPRINTLNREQGETPARAMETER“USERID“STRINGSQL“DELETEFROMT_ADMINWHEREUSERID“INTEGERPARSEINTREQGETPARAMETER“USERID“OBJECTPARAMSDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“ADMINTYPEADMINMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES56板块管理板块管理功能可以添加论坛的板块,可以添加板块名称、介绍,同时可以根据需要来删除板块名称等。如图512所示。图512板块管理图其代码实现过程如下PUBLICVOIDCATELOGADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGNAMEREQGETPARAMETER“NAME“STRINGJIESHAOREQGETPARAMETER“JIESHAO“STRINGDEL“NO“STRINGSQL“INSERTINTOT_CATELOGVALUES,“OBJECTPARAMSNAME,JIESHAO,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“CATELOGTYPECATELOGMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES57学生管理管理员可以添加学生的相关信息,如用户名、密码、学号、姓名、性别、年龄等信息。如图513所示。图513学生管理图其代码实现过程如下PUBLICVOIDUSERMANAHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESTHROWSSERVLETEXCEPTION,IOEXCEPTIONLISTUSERLISTNEWARRAYLISTSTRINGSQL“SELECTFROMT_USERWHEREDELNOANDTYPE1“OBJECTPARAMSDBMYDBNEWDBTRYMYDBDOPSTMSQL,PARAMSRESULTSETRSMYDBGETRSWHILERSNEXTTUSERUSERNEWTUSERUSERSETIDRSGETINT“ID“USERSETLOGINNAMERSGETSTRING“LOGINNAME“USERSETLOGINPWRSGETSTRING“LOGINPW“USERSETXUEHAORSGETSTRING“XUEHAO“USERSETNAMERSGETSTRING“NAME“USERSETSEXRSGETSTRING“SEX“USERSETAGERSGETSTRING“AGE“USERSETTYPERSGETINT“TYPE“USERLISTADDUSERRSCLOSECATCHEXCEPTIONEEPRINTSTACKTRACEMYDBCLOSEDREQSETATTRIBUTE“USERLIST“,USERLISTREQGETREQUESTDISPATCHER“ADMIN/USER/USERMANAJSP“FORWARDREQ,RES58教师管理管理员可以添加教师的相关信息,如编号、姓名、性别、年龄、登录帐号、密码等信息,如图514,515所示。图514教师管理界面图图515教师管理操作图其代码实现过程如下PUBLICVOIDTEAADDHTTPSERVLETREQUESTREQ,HTTPSERVLETRESPONSERESSTRINGBIANHAOREQGETPARAMETER“BIANHAO“STRINGNAMEREQGETPARAMETER“NAME“STRINGSEXREQGETPARAMETER“SEX“STRINGAGEREQGETPARAMETER“AGE“STRINGLOGINNAMEREQGETPARAMETER“LOGINNAME“STRINGLOGINPWREQGETPARAMETER“LOGINPW“STRINGDEL“NO“STRINGSQL“INSERTINTOT_TEAVALUES,“OBJECTPARAMSBIANHAO,NAME,SEX,AGE,LOGINNAME,LOGINPW,DELDBMYDBNEWDBMYDBDOPSTMSQL,PARAMSMYDBCLOSEDREQSETATTRIBUTE“MESSAGE“,“操作成功“REQSETATTRIBUTE“PATH“,“TEATYPETEAMANA“STRINGTARGETURL“/COMMON/SUCCESSJSP“DISPATCHTARGETURL,REQ,RES6软件测试测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测“,在“探测“中发现软件的毛病。61软件测试的意义系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查5。系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求5。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是正对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。62软件测试的重要性软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。63软件测试的范围软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。64软件测试的方法测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。EXTREMEPROGRAMMING更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。65软件测试的目的和原则在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试的基本层次如图61所示。需求规格说明概要设计详细设计编码单元测试集成测试系统测试图61测试的基本层次1单元测试单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。2集成测试在这个测试步骤中所发现的往往是概要设计的错误。3系统测试在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。为了使本软件运行更加稳定,我对它进行了全面的测试,测试分为二部分来进行,一是界面测试;二是功能测试。首先是界面测试,为了使软件在不同的的操作系统平台上运行界面能保持原来的风格。在WINDOWS7环境下,程序运行界面正常,界面上的字体等设置都保持得相当好。没有出现类似字体变形的情况如图62所示。图62界面测试图二是进行功能的测试。经过测试,所有功能都能得以实现,没有任何变形。至此到这里在功能的测试上也已经比较圆满的完成了7结论与总结在设计过程中,为了解决遇到的问题,查阅了大量的相关资料,总结了很多前人的经验。该系统设计的是一个基于WEB的在线问题解答系统,系统的服务器端采用的都是开放源代码软件产品,例如APACHETOMCAT服务器、SQL数据库服务器,节省了一些开发成本。该系统设计的一个重点和难点是在如何处理JAVA客户端和JAVA服务器端的通信优化问题,它不仅要考虑到网络瓶颈的问题,还要权衡客户端和服务器端代码编写的难易。针对这个问题,专门查阅了相关书籍和网络资料,得以有效解决。从总体上看,该系统实现了在线问题解答系统的基本功能。而且这样的设计使得整个系统的可移植性、伸缩性、可维护性、可扩展性、可重用性和可管理性等性能有了很大的提升。但是,系统仍然存在一些需要改进的地方,例如答疑模块的功能还不够强大,缺少直观的后台管理功能。这些问题都是将来可以升级、扩展和努力改进的方向。参考文献1潘晓雷JAVA2入门经典JDK5北京机械工业出版社,2009110582刘甲耀,严桂兰COREJAVA应用程序设计教程北京电子工业出版社,20062973043孙卫琴精通STRUTS基于MVC的JAVAWEB设计与开发北京电子工业出版社,200887354菜剑,景楠JAVAWEB应用开发J2EE和TOMCAT第2版北京清华大学出版社,20071352505孙卫琴,李洪成TOMCAT与JAVAWEB开发技术详解北京电子工业出版社,20094291346殷兆麟,张永平,姜淑娟JAVA网络高级编程北京清华大学出版社,北京交通大学出版社,20095942357MARCOPISTOIA,NATARAJNAGARATNAM,尹亚,明喻卫,严进宝译企业级JAVA安全性构建安全的J2EE应用北京清华大学出版社,20083721098WILLIAMCRAWFORD,JONATHANKAPLANJ2EEDESIGNPATTERNSOREILLY,20099251029RODJOHNSON,JUERGENHOELLEREXPERTONEONONEJ2EEDEVELOPMENTWITHOUTEJBWILEYPUBLISHING,INC,2007316310JASONHUNTER,WILLIAMCRAWFORDJJAVASERVLETPROGRAMMINGOREILLY,20088614311JAYSONFALKNER,KEVINJONESSERVLETSANDJAVASERVERPAGESTHEJ2EETECHNOLOGYWEBTIERADDISONWESLEY,200391232致谢时间如梭,大学四年马上就要结束了,在这四年的学习生活中,我学习到了很多知识,专业知识方面更是有了很大的提高,是我这一生当中最宝贵的财富,是不断超越自我的历程。在这最后的阶段,我衷心的向学校的各位老师和我的同学表示我的感谢,感谢他们在这四年当中对我的帮助和关心。很感谢学校能够提供我们这个锻炼自我的机会,给我们一个能够使大学四年所学到的知识加以实践的机会。在整个设计过程中,我要感谢我的指导老师张光胜和陈永乐老师,他们对我的支持、帮助和信任,让我顺利完成了整个毕业设计。我还要感谢和我一起奋斗的同学们,他们在技术上给了我大量的建议和帮助。同时,我还要感谢在大学学习期间,受到所有老师的指导、关心和帮助,在这里向辛勤工作的老师们表示衷心地感谢。感谢陈永乐教授和所有杰普等老师在毕业设计工作中给予的帮助。最后,衷心地感谢所有关心、帮助过我的老师、朋友和同学,谢谢大家外文资料DEVELOPWEBAPPLICATIONPROGRAMUSINGASPTHEARCHITECTURETHATMUSTFIRSTESTABLISHWEBAPPLICATIONNOWINAPPLICATIONFREQUENTLYWITHTOHAVETWOTHEARCHITECTUREOFC/SANDTHEARCHITECTUREOFB/SCLIENT/SERVERANDCUSTOMEREND/SERVERHOLDTHEARCHITECTUREOFC/STHECUSTOMER/SERVERSTRUCTUREOFTWOFLOORCUSTOMER/SERVERCLIENT/SERVERMODELISAKINDOFGOODSOFTWAREARCHITECTURE,ITISTHEONEOFBESTAPPLICATIONPATTERNOFNETWORKFROMTECHNOLOGY,SEETHATITISALOGICCONCEPT,DENOTEWILLAAPPLICATIONMANYTASKSOFDECOMPOSINGDIFFERENCECARRYOUT,COMMONCOMPLETIONISENTIRETOAPPLYTHEFUNCTIONOFTASKONEACHNETWORKMAINCOMPUTEROFWEBSITE,RESOURCEHARDWARE,SOFTWAREANDDATADIVIDEINTOSTEP,ISNOTBALANCED,UNDERCUSTOMER/SERVERSTRUCTURE,WITHOUTTHECLIENTCOMPUTEROFRESOURCETHROUGHSENDINGREQUESTTOTHESERVERTHATHASRESOURCE,GETRESOURCEREQUEST,SOMEETTHERESOURCEDISTRIBUTIONINNETWORKNOTBALANCEDNESSWITHTHISKINDOFSTRUCTURE,CANSYNTHESIZEVARIOUSCOMPUTERSTOCOOPERATEWITHWORK,LETITEACHCAN,REALIZETHESCALEFORTHESYSTEMOFCOMPUTEROPTIMIZATIONRIGHTSIZINGWITHSCALEREDUCETOMELTDOWNSIZINGPICTUREISASFOLLOWSITISMOSTOFTODIVIDEINTOCOMPUTERNETWORKAPPLICATIONINTOTWO,INWHICHTHERESOURCEANDFUNCTIONTHATPARTSUPPORTSMANYUSERSTOSHARE,ITISREALIZEDBYSERVERANOTHERPARTFACESEVERYUSER,ISREALIZEDBYCLIENTCOMPUTER,ALSONAMELY,CLIENTCOMPUTERISUSUALTOCARRYOUTPROSCENIUMFUNCTION,REALIZESMANMACHINEINTERACTIONTHROUGHUSERINTERFACE,ORISTHEAPPLICATIONPROGRAMOFSPECIFICCONDUCTEDUSERANDSERVERUSUALLYCARRIESOUTTHEFUNCTIONOFBACKSTAGESUPPORTER,MANAGESTHEOUTSIDEREQUESTCONCERNINGSETINGUP,ACCEPTINGANDREPLYINGUSERTHATSHAREDFORACOMPUTER,ITCANHAVEDOUBLEFUNCTION,ISBEINGCERTAINANDMOMENTARYTOCARVETOACTASSERVER,ANDAGAINBECOMESCLIENTCOMPUTERINANOTHERTIMECUSTOMER/SERVERTYPECOMPUTERDIVIDEINTOTWOKINDS,ONESIDEWHOOFFERSSERVICEISCALLEDASSERVER,ASKSONESIDEOFSERVICETOBECALLEDASCUSTOMERTOBEABLETOOFFERSERVICE,SERVERONESIDEMUSTHAVECERTAINHARDWAREANDCORRESPONDINGSERVERSOFTWAREALSO,CUSTOMERONESIDEMUSTALSOHAVECERTAINHARDWAREANDCORRESPONDINGCUSTOMERSOFTWARETHEREMUSTBEAAGREEMENTBETWEENSERVERANDCUSTOMER,BOTHSIDESCOMMUNICATEACCORDINGTOTHISAGREEMENTAPPLYCUSTOMER/SERVERMODELININTERNETSERVICE,THERELATIONBETWEENCUSTOMERANDSERVERISNOTIMMUTABLESOMEINTERNETNODEOFFERSSERVICEONTHEONEHAND,ALSOGETSSERVICEONTHEOTHERHANDFROMOTHERNODEITISEVENINONETIMEDIALOGUECOURSE,MUTUALROLEALSOEXCHANGESPROBABLYASINCARRYOUTFILETRANSMISSION,IFBECALLEDASONESIDEWHOOFFERSFILESERVER,ISCALLEDASONESIDEWHOGETSFILECUSTOMER,WHENUSINGGETORMGETORDERSINCEANOTHERNODETAKESFILE,CANTHINKTHATWHATSELFUSEANDITISCLIENTCOMPUTER,ISUSINGPUTORMPUTORDERTOANOTHERNODEDISPATCHFILECANAGAINTHINKTHEMACHINETHATUSEDSELFISSERVERMULTILAYERCUSTOMER/SERVERSTRUCTUREALONGWITHTHEDEVELOPMENTOFENTERPRISEAPPLICATION,RECENTLY,HAVEAGAINARISENAKINDOFNEWMULTILAYERARCHITECTURE,ITAPPLIESCUSTOMERENDTODIVIDEINTOTWOMINUTESCUSTOMERAPPLICATIONANDSERVERAPPLYCUSTOMERAPPLICATIONISTHEPARTOFORIGINALCUSTOMERAPPLICATION,ISANOTHERANDPARTIALTOHAVEBEENTRANSFEREDTOSERVERTOAPPLYNEWCUSTOMERAPPLICATIONTAKESTHERESPONSIBILITYFORUSERINTERFACEANDSIMPLEREGULARBUSINESSLOGICANDNEWSERVERAPPLICATIONRESIDENTCORE,CHANGEABLEBUSINESSLOGICTHEREFOREITSSTRUCTUREHASBECOMENEWCLIENTAPPLICATIONSERVERAPPLICATION/SERVERSTRUCTUREFOLLOWINGPICTURESHOWSTHISKINDOFSTRUCTUREHASSOLVEDTRADITIONALCLIENT/SERVERCANEXPANDPROBLEM,HAVEREDUCEDCUSTOMERENDBUSINESSLOGIC,ANDHAVEREDUCEDTHEREQUIREMENTOFCUSTOMERENDFORHARDWAREATTHESAMETIMEBECAUSEOFALOTOFBUSINESSLOGICCONCENTRATIONSHAVEGONETOUNITARYAPPLICATIONSERVERON,THEMAINTENANCEWORKOFAPPLICATIONSYSTEMHADBEENALSOCONCENTRATEDTOGETHER,HAVEELIMINATEDTHEPROBLEMINTHETRADITIONALSTRUCTUREOFCLIENT/SERVERTHATSOFTWAREDISTRIBUTESTHISKINDOFSTRUCTUREISCALLEDASTHEARCHITECTUREOFB/SBROWSER/SERVERANDBROWSER/SERVERHOLDTHEARCHITECTUREOFB/SONESSENCE,BROWSER/SERVERISALSOAKINDOFSTRUCTUREOFCLIENT/SERVER,ITISAKINDOFFROMTHETRADITIONALTWOLEVELSOFSTRUCTURALDEVELOPMENTOFCLIENT/SERVERCOMETOTHETHREELAYERSTRUCTURALSPECIALCASEOFCLIENT/SERVERTHATAPPLIEDONWEBINTHESYSTEMOFBROWSER/SERVER,USERCANPASSTHROUGHBROWSERTOALOTOFSERVERSTHATSPREADONNETWORKTOSENDREQUESTTHESTRUCTUREOFBROWSER/SERVERISMAXIMUMTOHAVESIMPLIFIEDTHEWORKOFCLIENTCOMPUTER,ONCLIENTCOMPUTER,NEEDTOINSTALLANDDEPLOYFEWCUSTOMERENDSOFTWAREONLY,SERVERWILLBEARMOREWORK,FORDATABASEVISITANDAPPLYPROGRAMCARRYOUTWILLINSERVERFINISHUNDERTHETHREELAYERARCHITECTUREOFBROWSER/SERVER,EXPRESSLAYERPRESENTATIOON,FUNCTIONLAYERBUSINESSLOGIC,DATALAYERDATASERVICEHAVEBEENCUTTHEUNITOF3RELATIVEINDEPENDENCESITISTHEFIRSTLAYEROFTOEXPRESSLAYERWEBBROWSERINEXPRESSINGLAYERCONTAINSYSTEMSHOWLOGIC,LOCATEINCUSTOMERENDITSTASKISTOSUGGESTBYWEBBROWSERTOTHECERTAINAWEBSERVERONNETWORKTHATSERVICEISASKED,AFTERVERIFYINGFORUSERIDENTITY,WEBSERVERDELIVERSNEEDEDHOMEPAGEWITHHTTPAGREEMENTTOCUSTOMEREND,CLIENTCOMPUTERACCEPTTHEHOMEPAGEFILETHATPASSED,ANDSHOWITINWEBBROWSERONSECONDLAYERFUNCTIONLAYERHAVETHEWEBSERVEROFTHEAPPLICATIONFUNCTIONOFPROGRAMEXTENSIONINFUNCTIONLAYERCONTAINTHESYSTEMATICHANDLINGOFGENERALAFFAIRSLOGIC,LOCATEINWEBSERVERENDITSTASKISTHEREQUESTCONCERNINGACCEPTINGUSER,NEEDTOBEFIRSTCONDUCTEDANDCORRESPONDINGTOEXPANDAPPLICATIONPROGRAMANDDATABASETOCARRYOUTCONNECTION,PASSESTHROUGHTHEWAIESSUCHASSQLTODATABASESERVERTOPUTFORWARDDATAHANDLINGTOAPPLYFOR,THENETCDATABASESERVERTHERESULTOFHANDLINGDATASUBMITTOWEBSERVER,DELIVERAGAINBYWEBSERVERTORETURNCUSTOMERENDTHENUMBEROFPLIESOF3THACCORDINGTOLAYERDATABASESERVERINDATALAYERCONTAINSYSTEMATICDATAHANDLINGLOGIC,LOCATEINDATABASESERVERENDITSTASKISTOACCEPTTHEREQUESTTHATWEBSERVERCONTROLSFORDATABASE,REALIZATIONISINQUIREDANDMODIFIEDFORDATABASE,UPDATEETCFUNCTION,SUBMITOPERATIONRESULTTOWEBSERVERCAREFULANALYSISISBEENEASYTOSEE,THEARCHITECTUREOFBROWSER/SERVEROFTHREELAYERISTHEHANDLINGOFGENERALAFFAIRSOFTHETWOLEVELSOFSTRUCTUREOFCLIENT/SERVERLOGICMODULARFROMTHETASKOFCLIENTCOMPUTERINSPLIT,FROMTHEFIRSTFLOOROFINDIVIDUALCOMPOSITIONBEARTHEPRESSUREOFITSTASKANDSUCHCLIENTCOMPUTERHAVEALLEVIATEDGREATLY,DISTRIBUTELOADBALANCEDLYANDHAVEGIVENWEBSERVER,SOFROMTHESTRUCTURALCHANGEOFCLIENT/SERVEROFORIGINALTWOFLOORTHESTRUCTUREOFBROWSER/SERVEROFTHREELAYERTHISKINDOFTHREELAYERARCHITECTUREFOLLOWINGPICTURESHOWSTHISKINDOFSTRUCTURENOTONLYCLIENTCOMPUTERFROMHEAVYBURDENANDTHEREQUIREMENTOFPERFORMANCETHATRISESCONTINUOUSLYFORITINLIBERATIONCOMEOUT,ALSODEFENDTECHNOLOGYPEOPLEFROMHEAVYMAINTENANCEUPGRADINGWORKINFREEONESELFSINCECLIENTCOMPUTERHANDLESGENERALAFFAIRS,LOGICPARTIALMINUTESHAVEGIVENFUNCTIONSERVER,MAKECLIENTCOMPUTERRIGHTOFF“SLENDER“ALOTOF,DONOTTAKETHERESPONSIBILITYFORHANDLINGCOMPLEXCALCULATIONANDDATAAGAINVISITETCCRUCIALGENERALAFFAIRS,ISRESPONSIBLETOSHOWPART,SO,MAINTENANCEPEOPLEDONOTRUSHABOUTAGAINFORTHEMAINTENANCEWORKOFPROGRAMBETWEENEVERYCLIENTCOMPUTER,ANDPUTMAJORENERGYINTHEPROGRAMONFUNCTIONSERVERUPDATEWORKBETWEENTHISKINDOFTHREELAYERSTRUCTURALLAYERANDLAYER,THEMUTUALLYINDEPENDENTCHANGEOFANYFIRSTFLOORDOESNOTAFFECTTHEFUNCTIONOFOTHERLAYERITHASCHANGEDTHEDEFECTOFTHETWOLEVELSOFARCHITECTUREOFCLIENT/SERVEROFTRADITIONFROMFOUNDATION,ITISTHETRANSFORMWITHDEEPONCEINAPPLICATIONSYSTEMATICARCHITECTURETHECONTRASTOFTWOARCHITECTURESTHEARCHITECTUREOFBROWSER/SERVERANDTHEARCHITECTUREOFCLIENT/SERVERCOMPAREWITHALLADVANTAGESTHATNOTONLYHAVETHEARCHITECTUREOFCLIENT/SERVERANDALSOHAVETHEARCHITECTUREOFCLINET/SERVERTHEUNIQ

温馨提示

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

评论

0/150

提交评论