




已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)外文文獻(xiàn)原文及譯文JAVAFAMILYACCOUNTMANAGEMENTSYSTEM家庭收支管理系統(tǒng)學(xué)生姓名學(xué)號(hào)系別計(jì)算機(jī)系專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)指導(dǎo)教師2015年5月JAVAFAMILYACCOUNTMANAGEMENTSYSTEMIFJAVAIS,INFACT,YETANOTHERCOMPUTERPROGRAMMINGLANGUAGE,YOUMAYQUESTIONWHYITISSOIMPORTANTANDWHYITISBEINGPROMOTEDASAREVOLUTIONARYSTEPINCOMPUTERPROGRAMMINGTHEANSWERISNTIMMEDIATELYOBVIOUSIFYOURECOMINGFROMATRADITIONALPROGRAMMINGPERSPECTIVEALTHOUGHJAVAISVERYUSEFULFORSOLVINGTRADITIONALSTANDALONEPROGRAMMINGPROBLEMS,ITISALSOIMPORTANTBECAUSEITWILLSOLVEPROGRAMMINGPROBLEMSONTHEWORLDWIDEWEB1CLIENTSIDEPROGRAMMINGTHEWEBSINITIALSERVERBROWSERDESIGNPROVIDEDFORINTERACTIVECONTENT,BUTTHEINTERACTIVITYWASCOMPLETELYPROVIDEDBYTHESERVERTHESERVERPRODUCEDSTATICPAGESFORTHECLIENTBROWSER,WHICHWOULDSIMPLYINTERPRETANDDISPLAYTHEMBASICHTMLCONTAINSSIMPLEMECHANISMSFORDATAGATHERINGTEXTENTRYBOXES,CHECKBOXES,RADIOBOXES,LISTSANDDROPDOWNLISTS,ASWELLASABUTTONTHATCANONLYBEPROGRAMMEDTORESETTHEDATAONTHEFORMOR“SUBMIT”THEDATAONTHEFORMBACKTOTHESERVERTHISSUBMISSIONPASSESTHROUGHTHECOMMONGATEWAYINTERFACECGIPROVIDEDONALLWEBSERVERSTHETEXTWITHINTHESUBMISSIONTELLSCGIWHATTODOWITHITTHEMOSTCOMMONACTIONISTORUNAPROGRAMLOCATEDONTHESERVERINADIRECTORYTHATSTYPICALLYCALLED“CGIBIN”IFYOUWATCHTHEADDRESSWINDOWATTHETOPOFYOURBROWSERWHENYOUPUSHABUTTONONAWEBPAGE,YOUCANSOMETIMESSEE“CGIBIN”WITHINALLTHEGOBBLEDYGOOKTHERETHESEPROGRAMSCANBEWRITTENINMOSTLANGUAGESPERLISACOMMONCHOICEBECAUSEITISDESIGNEDFORTEXTMANIPULATIONANDISINTERPRETED,SOITCANBEINSTALLEDONANYSERVERREGARDLESSOFPROCESSOROROPERATINGSYSTEMMANYPOWERFULWEBSITESTODAYAREBUILTSTRICTLYONCGI,ANDYOUCANINFACTDONEARLYANYTHINGWITHITHOWEVER,WEBSITESBUILTONCGIPROGRAMSCANRAPIDLYBECOMEOVERLYCOMPLICATEDTOMAINTAIN,ANDTHEREISALSOTHEPROBLEMOFRESPONSETIMETHERESPONSEOFACGIPROGRAMDEPENDSONHOWMUCHDATAMUSTBESENT,ASWELLASTHELOADONBOTHTHESERVERANDTHEINTERNETONTOPOFTHIS,STARTINGACGIPROGRAMTENDSTOBESLOWTHEINITIALDESIGNERSOFTHEWEBDIDNOTFORESEEHOWRAPIDLYTHISBANDWIDTHWOULDBEEXHAUSTEDFORTHEKINDSOFAPPLICATIONSPEOPLEDEVELOPEDFOREXAMPLE,ANYSORTOFDYNAMICGRAPHINGISNEARLYIMPOSSIBLETOPERFORMWITHCONSISTENCYBECAUSEAGIFFILEMUSTBECREATEDANDMOVEDFROMTHESERVERTOTHECLIENTFOREACHVERSIONOFTHEGRAPHANDYOUVENODOUBTHADDIRECTEXPERIENCEWITHSOMETHINGASSIMPLEASVALIDATINGTHEDATAONANINPUTFORMYOUPRESSTHESUBMITBUTTONONAPAGETHEDATAISSHIPPEDBACKTOTHESERVERTHESERVERSTARTSACGIPROGRAMTHATDISCOVERSANERROR,FORMATSANHTMLPAGEINFORMINGYOUOFTHEERROR,ANDTHENSENDSTHEPAGEBACKTOYOUYOUMUSTTHENBACKUPAPAGEANDTRYAGAINNOTONLYISTHISSLOW,ITSINELEGANTTHESOLUTIONISCLIENTSIDEPROGRAMMINGMOSTMACHINESTHATRUNWEBBROWSERSAREPOWERFULENGINESCAPABLEOFDOINGVASTWORK,ANDWITHTHEORIGINALSTATICHTMLAPPROACHTHEYARESITTINGTHERE,JUSTIDLYWAITINGFORTHESERVERTODISHUPTHENEXTPAGECLIENTSIDEPROGRAMMINGMEANSTHATTHEWEBBROWSERISHARNESSEDTODOWHATEVERWORKITCAN,ANDTHERESULTFORTHEUSERISAMUCHSPEEDIERANDMOREINTERACTIVEEXPERIENCEATYOURWEBSITETHEPROBLEMWITHDISCUSSIONSOFCLIENTSIDEPROGRAMMINGISTHATTHEYARENTVERYDIFFERENTFROMDISCUSSIONSOFPROGRAMMINGINGENERALTHEPARAMETERSAREALMOSTTHESAME,BUTTHEPLATFORMISDIFFERENTAWEBBROWSERISLIKEALIMITEDOPERATINGSYSTEMINTHEEND,YOUMUSTSTILLPROGRAM,ANDTHISACCOUNTSFORTHEDIZZYINGARRAYOFPROBLEMSANDSOLUTIONSPRODUCEDBYCLIENTSIDEPROGRAMMINGTHERESTOFTHISSECTIONPROVIDESANOVERVIEWOFTHEISSUESANDAPPROACHESINCLIENTSIDEPROGRAMMING2PLUGINSONEOFTHEMOSTSIGNIFICANTSTEPSFORWARDINCLIENTSIDEPROGRAMMINGISTHEDEVELOPMENTOFTHEPLUGINTHISISAWAYFORAPROGRAMMERTOADDNEWFUNCTIONALITYTOTHEBROWSERBYDOWNLOADINGAPIECEOFCODETHATPLUGSITSELFINTOTHEAPPROPRIATESPOTINTHEBROWSERITTELLSTHEBROWSER“FROMNOWONYOUCANPERFORMTHISNEWACTIVITY”YOUNEEDTODOWNLOADTHEPLUGINONLYONCESOMEFASTANDPOWERFULBEHAVIORISADDEDTOBROWSERSVIAPLUGINS,BUTWRITINGAPLUGINISNOTATRIVIALTASK,ANDISNTSOMETHINGYOUDWANTTODOASPARTOFTHEPROCESSOFBUILDINGAPARTICULARSITETHEVALUEOFTHEPLUGINFORCLIENTSIDEPROGRAMMINGISTHATITALLOWSANEXPERTPROGRAMMERTODEVELOPANEWLANGUAGEANDADDTHATLANGUAGETOABROWSERWITHOUTTHEPERMISSIONOFTHEBROWSERMANUFACTURERTHUS,PLUGINSPROVIDEA“BACKDOOR”THATALLOWSTHECREATIONOFNEWCLIENTSIDEPROGRAMMINGLANGUAGESALTHOUGHNOTALLLANGUAGESAREIMPLEMENTEDASPLUGINS3SCRIPTINGLANGUAGESPLUGINSRESULTEDINANEXPLOSIONOFSCRIPTINGLANGUAGESWITHASCRIPTINGLANGUAGEYOUEMBEDTHESOURCECODEFORYOURCLIENTSIDEPROGRAMDIRECTLYINTOTHEHTMLPAGE,ANDTHEPLUGINTHATINTERPRETSTHATLANGUAGEISAUTOMATICALLYACTIVATEDWHILETHEHTMLPAGEISBEINGDISPLAYEDSCRIPTINGLANGUAGESTENDTOBEREASONABLYEASYTOUNDERSTANDAND,BECAUSETHEYARESIMPLYTEXTTHATISPARTOFANHTMLPAGE,THEYLOADVERYQUICKLYASPARTOFTHESINGLESERVERHITREQUIREDTOPROCURETHATPAGETHETRADEOFFISTHATYOURCODEISEXPOSEDFOREVERYONETOSEEANDSTEALGENERALLY,HOWEVER,YOUARENTDOINGAMAZINGLYSOPHISTICATEDTHINGSWITHSCRIPTINGLANGUAGESSOTHISISNOTTOOMUCHOFAHARDSHIPTHISPOINTSOUTTHATTHESCRIPTINGLANGUAGESUSEDINSIDEWEBBROWSERSAREREALLYINTENDEDTOSOLVESPECIFICTYPESOFPROBLEMS,PRIMARILYTHECREATIONOFRICHERANDMOREINTERACTIVEGRAPHICALUSERINTERFACESGUISHOWEVER,ASCRIPTINGLANGUAGEMIGHTSOLVE80PERCENTOFTHEPROBLEMSENCOUNTEREDINCLIENTSIDEPROGRAMMINGYOURPROBLEMSMIGHTVERYWELLFITCOMPLETELYWITHINTHAT80PERCENT,ANDSINCESCRIPTINGLANGUAGESCANALLOWEASIERANDFASTERDEVELOPMENT,YOUSHOULDPROBABLYCONSIDERASCRIPTINGLANGUAGEBEFORELOOKINGATAMOREINVOLVEDSOLUTIONSUCHASJAVAORACTIVEXPROGRAMMINGTHEMOSTCOMMONLYDISCUSSEDBROWSERSCRIPTINGLANGUAGESAREJAVASCRIPTWHICHHASNOTHINGTODOWITHJAVAITSNAMEDTHATWAYJUSTTOGRABSOMEOFJAVASMARKETINGMOMENTUM,VBSCRIPTWHICHLOOKSLIKEVISUALBASIC,ANDTCL/TK,WHICHCOMESFROMTHEPOPULARCROSSPLATFORMGUIBUILDINGLANGUAGETHEREAREOTHERSOUTTHERE,ANDNODOUBTMOREINDEVELOPMENTJAVASCRIPTISPROBABLYTHEMOSTCOMMONLYSUPPORTEDITCOMESBUILTINTOBOTHNETSCAPENAVIGATORANDTHEMICROSOFTINTERNETEXPLORERIEINADDITION,THEREAREPROBABLYMOREJAVASCRIPTBOOKSAVAILABLETHANTHEREAREFORTHEOTHERBROWSERLANGUAGES,ANDSOMETOOLSAUTOMATICALLYCREATEPAGESUSINGJAVASCRIPTHOWEVER,IFYOUREALREADYFLUENTINVISUALBASICORTCL/TK,YOULLBEMOREPRODUCTIVEUSINGTHOSESCRIPTINGLANGUAGESRATHERTHANLEARNINGANEWONEYOULLHAVEYOURHANDSFULLDEALINGWITHTHEWEBISSUESALREADY4JAVAIFASCRIPTINGLANGUAGECANSOLVE80PERCENTOFTHECLIENTSIDEPROGRAMMINGPROBLEMS,WHATABOUTTHEOTHER20PERCENTTHE“REALLYHARDSTUFF”THEMOSTPOPULARSOLUTIONTODAYISJAVANOTONLYISITAPOWERFULPROGRAMMINGLANGUAGEBUILTTOBESECURE,CROSSPLATFORM,ANDINTERNATIONAL,BUTJAVAISBEINGCONTINUALLYEXTENDEDTOPROVIDELANGUAGEFEATURESANDLIBRARIESTHATELEGANTLYHANDLEPROBLEMSTHATAREDIFFICULTINTRADITIONALPROGRAMMINGLANGUAGES,SUCHASMULTITHREADING,DATABASEACCESS,NETWORKPROGRAMMING,ANDDISTRIBUTEDCOMPUTINGJAVAALLOWSCLIENTSIDEPROGRAMMINGVIATHEAPPLETANAPPLETISAMINIPROGRAMTHATWILLRUNONLYUNDERAWEBBROWSERTHEAPPLETISDOWNLOADEDAUTOMATICALLYASPARTOFAWEBPAGEJUSTAS,FOREXAMPLE,AGRAPHICISAUTOMATICALLYDOWNLOADEDWHENTHEAPPLETISACTIVATEDITEXECUTESAPROGRAMTHISISPARTOFITSBEAUTYITPROVIDESYOUWITHAWAYTOAUTOMATICALLYDISTRIBUTETHECLIENTSOFTWAREFROMTHESERVERATTHETIMETHEUSERNEEDSTHECLIENTSOFTWARE,ANDNOSOONERTHEUSERGETSTHELATESTVERSIONOFTHECLIENTSOFTWAREWITHOUTFAILANDWITHOUTDIFFICULTREINSTALLATIONBECAUSEOFTHEWAYJAVAISDESIGNED,THEPROGRAMMERNEEDSTOCREATEONLYASINGLEPROGRAM,ANDTHATPROGRAMAUTOMATICALLYWORKSWITHALLCOMPUTERSTHATHAVEBROWSERSWITHBUILTINJAVAINTERPRETERSTHISSAFELYINCLUDESTHEVASTMAJORITYOFMACHINESSINCEJAVAISAFULLFLEDGEDPROGRAMMINGLANGUAGE,YOUCANDOASMUCHWORKASPOSSIBLEONTHECLIENTBEFOREANDAFTERMAKINGREQUESTSOFTHESERVERFOREXAMPLE,YOUWONTNEEDTOSENDAREQUESTFORMACROSSTHEINTERNETTODISCOVERTHATYOUVEGOTTENADATEORSOMEOTHERPARAMETERWRONG,ANDYOURCLIENTCOMPUTERCANQUICKLYDOTHEWORKOFPLOTTINGDATAINSTEADOFWAITINGFORTHESERVERTOMAKEAPLOTANDSHIPAGRAPHICIMAGEBACKTOYOUNOTONLYDOYOUGETTHEIMMEDIATEWINOFSPEEDANDRESPONSIVENESS,BUTTHEGENERALNETWORKTRAFFICANDLOADONSERVERSCANBEREDUCED,PREVENTINGTHEENTIREINTERNETFROMSLOWINGDOWNONEADVANTAGEAJAVAAPPLETHASOVERASCRIPTEDPROGRAMISTHATITSINCOMPILEDFORM,SOTHESOURCECODEISNTAVAILABLETOTHECLIENTONTHEOTHERHAND,AJAVAAPPLETCANBEDECOMPILEDWITHOUTTOOMUCHTROUBLE,BUTHIDINGYOURCODEISOFTENNOTANIMPORTANTISSUETWOOTHERFACTORSCANBEIMPORTANTASYOUWILLSEELATERINTHISBOOK,ACOMPILEDJAVAAPPLETCANCOMPRISEMANYMODULESANDTAKEMULTIPLESERVER“HITS”ACCESSESTODOWNLOADINJAVA11ANDHIGHERTHISISMINIMIZEDBYJAVAARCHIVES,CALLEDJARFILES,THATALLOWALLTHEREQUIREDMODULESTOBEPACKAGEDTOGETHERANDCOMPRESSEDFORASINGLEDOWNLOADASCRIPTEDPROGRAMWILLJUSTBEINTEGRATEDINTOTHEWEBPAGEASPARTOFITSTEXTANDWILLGENERALLYBESMALLERANDREDUCESERVERHITSTHISCOULDBEIMPORTANTTOTHERESPONSIVENESSOFYOURWEBSITEANOTHERFACTORISTHEALLIMPORTANTLEARNINGCURVEREGARDLESSOFWHATYOUVEHEARD,JAVAISNOTATRIVIALLANGUAGETOLEARNIFYOUREAVISUALBASICPROGRAMMER,MOVINGTOVBSCRIPTWILLBEYOURFASTESTSOLUTION,ANDSINCEITWILLPROBABLYSOLVEMOSTTYPICALCLIENT/SERVERPROBLEMSYOUMIGHTBEHARDPRESSEDTOJUSTIFYLEARNINGJAVAIFYOUREEXPERIENCEDWITHASCRIPTINGLANGUAGEYOUWILLCERTAINLYBENEFITFROMLOOKINGATJAVASCRIPTORVBSCRIPTBEFORECOMMITTINGTOJAVA,SINCETHEYMIGHTFITYOURNEEDSHANDILYANDYOULLBEMOREPRODUCTIVESOONERTORUNITSAPPLETSWITHI5ACTIVEXTOSOMEDEGREE,THECOMPETITORTOJAVAISMICROSOFTSACTIVEX,ALTHOUGHITTAKESACOMPLETELYDIFFERENTAPPROACHACTIVEXWASORIGINALLYAWINDOWSONLYSOLUTION,ALTHOUGHITISNOWBEINGDEVELOPEDVIAANINDEPENDENTCONSORTIUMTOBECOMECROSSPLATFORMEFFECTIVELY,ACTIVEXSAYS“IFYOURPROGRAMCONNECTSTOITSENVIRONMENTJUSTSO,ITCANBEDROPPEDINTOAWEBPAGEANDRUNUNDERABROWSERTHATSUPPORTSACTIVEX”IEDIRECTLYSUPPORTSACTIVEXANDNETSCAPEDOESSOUSINGAPLUGINTHUS,ACTIVEXDOESNOTCONSTRAINYOUTOAPARTICULARLANGUAGEIF,FOREXAMPLE,YOUREALREADYANEXPERIENCEDWINDOWSPROGRAMMERUSINGALANGUAGESUCHASC,VISUALBASIC,ORBORLANDSDELPHI,YOUCANCREATEACTIVEXCOMPONENTSWITHALMOSTNOCHANGESTOYOURPROGRAMMINGKNOWLEDGEACTIVEXALSOPROVIDESAPATHFORTHEUSEOFLEGACYCODEINYOURWEBPAGES6SECURITYAUTOMATICALLYDOWNLOADINGANDRUNNINGPROGRAMSACROSSTHEINTERNETCANSOUNDLIKEAVIRUSBUILDERSDREAMACTIVEXESPECIALLYBRINGSUPTHETHORNYISSUEOFSECURITYINCLIENTSIDEPROGRAMMINGIFYOUCLICKONAWEBSITE,YOUMIGHTAUTOMATICALLYDOWNLOADANYNUMBEROFTHINGSALONGWITHTHEHTMLPAGEGIFFILES,SCRIPTCODE,COMPILEDJAVACODE,ANDACTIVEXCOMPONENTSSOMEOFTHESEAREBENIGNGIFFILESCANTDOANYHARM,ANDSCRIPTINGLANGUAGESAREGENERALLYLIMITEDINWHATTHEYCANDOJAVAWASALSODESIGNEDTORUNITSAPPLETSWITHINA“SANDBOX”O(jiān)FSAFETY,WHICHPREVENTSITFROMWRITINGTODISKORACCESSINGMEMORYOUTSIDETHESANDBOXACTIVEXISATTHEOPPOSITEENDOFTHESPECTRUMPROGRAMMINGWITHACTIVEXISLIKEPROGRAMMINGWINDOWSYOUCANDOANYTHINGYOUWANTSOIFYOUCLICKONAPAGETHATDOWNLOADSANACTIVEXCOMPONENT,THATCOMPONENTMIGHTCAUSEDAMAGETOTHEFILESONYOURDISKOFCOURSE,PROGRAMSTHATYOULOADONTOYOURCOMPUTERTHATARENOTRESTRICTEDTORUNNINGINSIDEAWEBBROWSERCANDOTHESAMETHINGVIRUSESDOWNLOADEDFROMBULLETINBOARDSYSTEMSBBSSHAVELONGBEENAPROBLEM,BUTTHESPEEDOFTHEINTERNETAMPLIFIESTHEDIFFICULTYTHESOLUTIONSEEMSTOBE“DIGITALSIGNATURES,”WHEREBYCODEISVERIFIEDTOSHOWWHOTHEAUTHORISTHISISBASEDONTHEIDEATHATAVIRUSWORKSBECAUSEITSCREATORCANBEANONYMOUS,SOIFYOUREMOVETHEANONYMITYINDIVIDUALSWILLBEFORCEDTOBERESPONSIBLEFORTHEIRACTIONSTHISSEEMSLIKEAGOODPLANBECAUSEITALLOWSPROGRAMSTOBEMUCHMOREFUNCTIONAL,ANDISUSPECTITWILLELIMINATEMALICIOUSMISCHIEFIF,HOWEVER,APROGRAMHASANUNINTENTIONALDESTRUCTIVEBUGITWILLSTILLCAUSEPROBLEMSTHEJAVAAPPROACHISTOPREVENTTHESEPROBLEMSFROMOCCURRING,VIATHESANDBOXTHEJAVAINTERPRETERTHATLIVESONYOURLOCALWEBBROWSEREXAMINESTHEAPPLETFORANYUNTOWARDINSTRUCTIONSASTHEAPPLETISBEINGLOADEDINPARTICULAR,THEAPPLETCANNOTWRITEFILESTODISKORERASEFILESONEOFTHEMAINSTAYSOFVIRUSESAPPLETSAREGENERALLYCONSIDEREDTOBESAFE,ANDSINCETHISISESSENTIALFORRELIABLECLIENT/SERVERSYSTEMS,ANYBUGSINTHEJAVALANGUAGETHATALLOWVIRUSESARERAPIDLYREPAIREDITSWORTHNOTINGTHATTHEBROWSERSOFTWAREACTUALLYENFORCESTHESESECURITYRESTRICTIONS,ANDSOMEBROWSERSALLOWYOUTOSELECTDIFFERENTSECURITYLEVELSTOPROVIDEVARYINGDEGREESOFACCESSTOYOURSYSTEMYOUMIGHTBESKEPTICALOFTHISRATHERDRACONIANRESTRICTIONAGAINSTWRITINGFILESTOYOURLOCALDISKFOREXAMPLE,YOUMAYWANTTOBUILDALOCALDATABASEORSAVEDATAFORLATERUSEOFFLINETHEINITIALVISIONSEEMEDTOBETHATEVENTUALLYEVERYONEWOULDGETONLINETODOANYTHINGIMPORTANT,BUTTHATWASSOONSEENTOBEIMPRACTICALALTHOUGHLOWCOST“INTERNETAPPLIANCES”MIGHTSOMEDAYSATISFYTHENEEDSOFASIGNIFICANTSEGMENTOFUSERSTHESOLUTIONISTHE“SIGNEDAPPLET”THATUSESPUBLICKEYENCRYPTIONTOVERIFYTHATANAPPLETDOESINDEEDCOMEFROMWHEREITCLAIMSITDOESASIGNEDAPPLETCANSTILLTRASHYOURDISK,BUTTHETHEORYISTHATSINCEYOUCANNOWHOLDTHEAPPLETCREATORACCOUNTABLETHEYWONTDOVICIOUSTHINGSJAVAPROVIDESAFRAMEWORKFORDIGITALSIGNATURESSOTHATYOUWILLEVENTUALLYBEABLETOALLOWANAPPLETTOSTEPOUTSIDETHESANDBOXIFNECESSARYDIGITALSIGNATURESHAVEMISSEDANIMPORTANTISSUE,WHICHISTHESPEEDTHATPEOPLEMOVEAROUNDONTHEINTERNETIFYOUDOWNLOADABUGGYPROGRAMANDITDOESSOMETHINGUNTOWARD,HOWLONGWILLITBEBEFOREYOUDISCOVERTHEDAMAGEITCOULDBEDAYSOREVENWEEKSBYTHEN,HOWWILLYOUTRACKDOWNTHEPROGRAMTHATSDONEITANDWHATGOODWILLITDOYOUATTHATPOINT7INTERNETVSINTRANETTHEWEBISTHEMOSTGENERALSOLUTIONTOTHECLIENT/SERVERPROBLEM,SOITMAKESSENSETHATYOUCANUSETHESAMETECHNOLOGYTOSOLVEASUBSETOFTHEPROBLEM,INPARTICULARTHECLASSICCLIENT/SERVERPROBLEMWITHINACOMPANYWITHTRADITIONALCLIENT/SERVERAPPROACHESYOUHAVETHEPROBLEMOFMULTIPLETYPESOFCLIENTCOMPUTERS,ASWELLASTHEDIFFICULTYOFINSTALLINGNEWCLIENTSOFTWARE,BOTHOFWHICHAREHANDILYSOLVEDWITHWEBBROWSERSANDCLIENTSIDEPROGRAMMINGWHENWEBTECHNOLOGYISUSEDFORANINFORMATIONNETWORKTHATISRESTRICTEDTOAPARTICULARCOMPANY,ITISREFERREDTOASANINTRANETINTRANETSPROVIDEMUCHGREATERSECURITYTHANTHEINTERNET,SINCEYOUCANPHYSICALLYCONTROLACCESSTOTHESERVERSWITHINYOURCOMPANYINTERMSOFTRAINING,ITSEEMSTHATONCEPEOPLEUNDERSTANDTHEGENERALCONCEPTOFABROWSERITSMUCHEASIERFORTHEMTODEALWITHDIFFERENCESINTHEWAYPAGESANDAPPLETSLOOK,SOTHELEARNINGCURVEFORNEWKINDSOFSYSTEMSSEEMSTOBEREDUCEDTHESECURITYPROBLEMBRINGSUSTOONEOFTHEDIVISIONSTHATSEEMSTOBEAUTOMATICALLYFORMINGINTHEWORLDOFCLIENTSIDEPROGRAMMINGIFYOURPROGRAMISRUNNINGONTHEINTERNET,YOUDONTKNOWWHATPLATFORMITWILLBEWORKINGUNDER,ANDYOUWANTTOBEEXTRACAREFULTHATYOUDONTDISSEMINATEBUGGYCODEYOUNEEDSOMETHINGCROSSPLATFORMANDSECURE,LIKEASCRIPTINGLANGUAGEORJAVAIFYOURERUNNINGONANINTRANET,YOUMIGHTHAVEADIFFERENTSETOFCONSTRAINTSITSNOTUNCOMMONTHATYOURMACHINESCOULDALLBEINTEL/WINDOWSPLATFORMSONANINTRANET,YOURERESPONSIBLEFORTHEQUALITYOFYOUROWNCODEANDCANREPAIRBUGSWHENTHEYREDISCOVEREDINADDITION,YOUMIGHTALREADYHAVEABODYOFLEGACYCODETHATYOUVEBEENUSINGINAMORETRADITIONALCLIENT/SERVERAPPROACH,WHEREBYYOUMUSTPHYSICALLYINSTALLCLIENTPROGRAMSEVERYTIMEYOUDOANUPGRADETHETIMEWASTEDININSTALLINGUPGRADESISTHEMOSTCOMPELLINGREASONTOMOVETOBROWSERS,BECAUSEUPGRADESAREINVISIBLEANDAUTOMATICIFYOUAREINVOLVEDINSUCHANINTRANET,THEMOSTSENSIBLEAPPROACHTOTAKEISTHESHORTESTPATHTHATALLOWSYOUTOUSEYOUREXISTINGCODEBASE,RATHERTHANTRYINGTORECODEYOURPROGRAMSINANEWLANGUAGEWHENFACEDWITHTHISBEWILDERINGARRAYOFSOLUTIONSTOTHECLIENTSIDEPROGRAMMINGPROBLEM,THEBESTPLANOFATTACKISACOSTBENEFITANALYSISCONSIDERTHECONSTRAINTSOFYOURPROBLEMANDWHATWOULDBETHESHORTESTPATHTOYOURSOLUTIONSINCECLIENTSIDEPROGRAMMINGISSTILLPROGRAMMING,ITSALWAYSAGOODIDEATOTAKETHEFASTESTDEVELOPMENTAPPROACHFORYOURPARTICULARSITUATIONTHISISANAGGRESSIVESTANCETOPREPAREFORINEVITABLEENCOUNTERSWITHTHEPROBLEMSOFPROGRAMDEVELOPMENT8SERVERSIDEPROGRAMMINGTHISWHOLEDISCUSSIONHASIGNOREDTHEISSUEOFSERVERSIDEPROGRAMMINGWHATHAPPENSWHENYOUMAKEAREQUESTOFASERVERMOSTOFTHETIMETHEREQUESTISSIMPLY“SENDMETHISFILE”YOURBROWSERTHENINTERPRETSTHEFILEINSOMEAPPROPRIATEFASHIONASANHTMLPAGE,AGRAPHICIMAGE,AJAVAAPPLET,ASCRIPTPROGRAM,ETCAMORECOMPLICATEDREQUESTTOASERVERGENERALLYINVOLVESADATABASETRANSACTIONACOMMONSCENARIOINVOLVESAREQUESTFORACOMPLEXDATABASESEARCH,WHICHTHESERVERTHENFORMATSINTOANHTMLPAGEANDSENDSTOYOUASTHERESULTOFCOURSE,IFTHECLIENTHASMOREINTELLIGENCEVIAJAVAORASCRIPTINGLANGUAGE,THERAWDATACANBESENTANDFORMATTEDATTHECLIENTEND,WHICHWILLBEFASTERANDLESSLOADONTHESERVERORYOUMIGHTWANTTOREGISTERYOURNAMEINADATABASEWHENYOUJOINAGROUPORPLACEANORDER,WHICHWILLINVOLVECHANGESTOTHATDATABASETHESEDATABASEREQUESTSMUSTBEPROCESSEDVIASOMECODEONTHESERVERSIDE,WHICHISGENERALLYREFERREDTOASSERVERSIDEPROGRAMMINGTRADITIONALLY,SERVERSIDEPROGRAMMINGHASBEENPERFORMEDUSINGPERLANDCGISCRIPTS,BUTMORESOPHISTICATEDSYSTEMSHAVEBEENAPPEARINGTHESEINCLUDEJAVABASEDWEBSERVERSTHATALLOWYOUTOPERFORMALLYOURSERVERSIDEPROGRAMMINGINJAVABYWRITINGWHATARECALLEDSERVLETSSERVLETSANDTHEIROFFSPRING,JSPS,ARETWOOFTHEMOSTCOMPELLINGREASONSTHATCOMPANIESWHODEVELOPWEBSITESAREMOVINGTOJAVA,ESPECIALLYBECAUSETHEYELIMINATETHEPROBLEMSOFDEALINGWITHDIFFERENTLYABLEDBROWSERSJAVAFAMILYACCOUNTMANAGEMENTSYSTEMJAVAFAMILYACCOUNTMANAGEMENTSYSTEM家庭收支管理系統(tǒng)既然JAVA不過(guò)另一種類型的程序設(shè)計(jì)語(yǔ)言,大家可能會(huì)奇怪它為什么值得如此重視,為什么還有這么多的人認(rèn)為它是計(jì)算機(jī)程序設(shè)計(jì)的一個(gè)里程碑呢如果您來(lái)自一個(gè)傳統(tǒng)的程序設(shè)計(jì)背景,那么答案在剛開(kāi)始的時(shí)候并不是很明顯。JAVA除了可解決傳統(tǒng)的程序設(shè)計(jì)問(wèn)題以外,還能解決WORLDWIDEWEB萬(wàn)維網(wǎng)上的編程問(wèn)題。1客戶端編程WEB最初采用的“服務(wù)器瀏覽器”方案可提供交互式內(nèi)容,但這種交互能力完全由服務(wù)器提供,為服務(wù)器和因特網(wǎng)帶來(lái)了不小的負(fù)擔(dān)。服務(wù)器一般為客戶瀏覽器產(chǎn)生靜態(tài)網(wǎng)頁(yè),由后者簡(jiǎn)單地解釋并顯示出來(lái)?;綡TML語(yǔ)言提供了簡(jiǎn)單的數(shù)據(jù)收集機(jī)制文字輸入框、復(fù)選框、單選鈕、列表以及下拉列表等,另外還有一個(gè)按鈕,只能由程序規(guī)定重新設(shè)置表單中的數(shù)據(jù),以便回傳給服務(wù)器。用戶提交的信息通過(guò)所有WEB服務(wù)器均能支持的“通用網(wǎng)關(guān)接口”(CGI)回傳到服務(wù)器。包含在提交數(shù)據(jù)中的文字指示CGI該如何操作。最常見(jiàn)的行動(dòng)是運(yùn)行位于服務(wù)器的一個(gè)程序。那個(gè)程序一般保存在一個(gè)名為“CGIBIN”的目錄中(按下WEB頁(yè)內(nèi)的一個(gè)按鈕時(shí),請(qǐng)注意一下瀏覽器頂部的地址窗,經(jīng)常都能發(fā)現(xiàn)“CGIBIN”的字樣)。大多數(shù)語(yǔ)言都可用來(lái)編制這些程序,但其中最常見(jiàn)的是PERL。這是由于PERL是專為文字的處理及解釋而設(shè)計(jì)的,所以能在任何服務(wù)器上安裝和使用,無(wú)論采用的處理器或操作系統(tǒng)是什么。2插件朝客戶端編程邁進(jìn)的時(shí)候,最重要的一個(gè)問(wèn)題就是插件的設(shè)計(jì)。利用插件,程序員可以方便地為瀏覽器添加新功能,用戶只需下載一些代碼,把它們“插入”瀏覽器的適當(dāng)位置即可。這些代碼的作用是告訴瀏覽器“從現(xiàn)在開(kāi)始,你可以進(jìn)行這些新活動(dòng)了”(僅需下載這些插入一次)。有些快速和功能強(qiáng)大的行為是通過(guò)插件添加到瀏覽器的。但插件的編寫(xiě)并不是一件簡(jiǎn)單的任務(wù)。在我們構(gòu)建一個(gè)特定的站點(diǎn)時(shí),可能并不希望涉及這方面的工作。對(duì)客戶端程序設(shè)計(jì)來(lái)說(shuō),插件的價(jià)值在于它允許專業(yè)程序員設(shè)計(jì)出一種新的語(yǔ)言,并將那種語(yǔ)言添加到瀏覽器,同時(shí)不必經(jīng)過(guò)瀏覽器原創(chuàng)者的許可。由此可以看出,插件實(shí)際是瀏覽器的一個(gè)“后門”,允許創(chuàng)建新的客戶端程序設(shè)計(jì)語(yǔ)言(盡管并非所有語(yǔ)言都是作為插件實(shí)現(xiàn)的)。3腳本編制語(yǔ)言插件造成了腳本編制語(yǔ)言的爆炸性增長(zhǎng)。通過(guò)這種腳本語(yǔ)言,可將用于自己客戶端程序的源碼直接插入HTML頁(yè),而對(duì)那種語(yǔ)言進(jìn)行解釋的插件會(huì)在HTML頁(yè)顯示的時(shí)候自動(dòng)激活。腳本語(yǔ)言一般都傾向于盡量簡(jiǎn)化,易于理解。而且由于它們是從屬于HTML頁(yè)的一些簡(jiǎn)單正文,所以只需向服務(wù)器發(fā)出對(duì)那個(gè)頁(yè)的一次請(qǐng)求,即可非常快地載入。缺點(diǎn)是我們的代碼全部暴露在人們面前。另一方面,由于通常不用腳本編制語(yǔ)言做過(guò)分復(fù)雜的事情,所以這個(gè)問(wèn)題暫且可以放在一邊。腳本語(yǔ)言真正面向的是特定類型問(wèn)題的解決,其中主要涉及如何創(chuàng)建更豐富、更具有互動(dòng)能力的圖形用戶界面(GUI)。然而,腳本語(yǔ)言也許能解決客戶端編程中80的問(wèn)題。你碰到的問(wèn)題可能完全就在那80里面。而且由于腳本編制語(yǔ)言的宗旨是盡可能地簡(jiǎn)化與快速,所以在考慮其他更復(fù)雜的方案之前(如JAVA及ACTIVEX),首先應(yīng)想一下腳本語(yǔ)言是否可行。目前討論得最多的腳本編制語(yǔ)言包括JAVASCRIPT(它與JAVA沒(méi)有任何關(guān)系;之所以叫那個(gè)名字,完全是一種市場(chǎng)策略)、VBSCRIPT(同VISUALBASIC很相似)以及TCL/TK(來(lái)源于流行的跨平臺(tái)GUI構(gòu)造語(yǔ)言)。當(dāng)然還有其他許多語(yǔ)言,也有許多正在開(kāi)發(fā)中。JAVASCRIPT也許是日常用的,它得到的支持也最全面。無(wú)論NETSCAPENAVIGATOR,MICROSOFTINTERNETEXPLORER,還是OPERA,目前都提供了對(duì)JAVASCRIPT的支持。除此以外,市面上講述JAVASCRIPT的書(shū)籍也要比講述其他語(yǔ)言的書(shū)多得多。有些工具還能利用JAVASCRIPT自動(dòng)產(chǎn)生網(wǎng)頁(yè)。當(dāng)然,如果你已經(jīng)有VISUALBASIC或者TCL/TK的深厚功底,當(dāng)然用它們要簡(jiǎn)單得多,起碼可以避免學(xué)習(xí)新語(yǔ)言的煩惱(解決WEB方面的問(wèn)題就已經(jīng)夠讓人頭痛了)。4JAVA如果說(shuō)一種腳本編制語(yǔ)言能解決80的客戶端程序設(shè)計(jì)問(wèn)題,那么剩下的20又該怎么辦呢它們屬于一些高難度的問(wèn)題嗎目前最流行的方案就是JAVA。它不僅是一種功能強(qiáng)大、高度安全、可以跨平臺(tái)使用以及國(guó)際通用的程序設(shè)計(jì)語(yǔ)言,也是一種具有旺盛生命力的語(yǔ)言。對(duì)JAVA的擴(kuò)展是不斷進(jìn)行的,提供的語(yǔ)言特性和庫(kù)能夠很好地解決傳統(tǒng)語(yǔ)言不能解決的問(wèn)題,比如多線程操作、數(shù)據(jù)庫(kù)訪問(wèn)、連網(wǎng)程序設(shè)計(jì)以及分布式計(jì)算等等。JAVA通過(guò)“程序片”(APPLET)巧妙地解決了客戶端編程的問(wèn)題。程序片(或“小應(yīng)用程序”)是一種非常小的程序,只能在WEB瀏覽器中運(yùn)行。作為WEB頁(yè)的一部分,程序片代碼會(huì)自動(dòng)下載回來(lái)(這和網(wǎng)頁(yè)中的圖片差不多)。激活程序片后,它會(huì)執(zhí)行一個(gè)程序。程序片的一個(gè)優(yōu)點(diǎn)體現(xiàn)在通過(guò)程序片,一旦用戶需要客戶軟件,軟件就可從服務(wù)器自動(dòng)下載回來(lái)。它們能自動(dòng)取得客戶軟件的最新版本,不會(huì)出錯(cuò),也沒(méi)有重新安裝的麻煩。由于JAVA的設(shè)計(jì)原理,程序員只需要?jiǎng)?chuàng)建程序的一個(gè)版本,那個(gè)程序能在幾乎所有計(jì)算機(jī)以及安裝了JAVA解釋器的瀏覽器中運(yùn)行。由于JAVA是一種全功能的編程語(yǔ)言,所以在向服
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 住院部個(gè)人工作計(jì)劃
- 河北保定曲陽(yáng)縣2025年七下數(shù)學(xué)期末統(tǒng)考試題含解析
- 高峰期倉(cāng)庫(kù)工作計(jì)劃
- 2024年河南省醫(yī)療保障局下屬事業(yè)單位真題
- 2024年南安市實(shí)驗(yàn)中學(xué)招聘筆試真題
- 社交媒體經(jīng)理工作總結(jié)與傳播策略計(jì)劃
- 內(nèi)蒙古烏海二十二中學(xué)2025屆數(shù)學(xué)七下期末檢測(cè)模擬試題含解析
- 2025年網(wǎng)絡(luò)管理員考試自己測(cè)試試題
- 材料力學(xué)性能測(cè)試疲勞壽命環(huán)境因素重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 廣東省珠海市斗門區(qū)2025年七年級(jí)數(shù)學(xué)第二學(xué)期期末綜合測(cè)試試題含解析
- 腸道病毒(共33張PPT)
- DB33T 2540-2022 生物安全實(shí)驗(yàn)室管理評(píng)價(jià)規(guī)范
- 2023屆高三語(yǔ)文模擬試卷及參考答案2023年全國(guó)高考(北京卷)語(yǔ)文及試題解析
- 清華大學(xué)抬頭信紙
- 設(shè)備一級(jí)保養(yǎng)表(行吊)
- 《教育心理學(xué)電子書(shū)》word版
- 工業(yè)園區(qū)智慧環(huán)保安全應(yīng)急管理平臺(tái)方案
- 國(guó)家郵政紙箱尺寸
- T∕CGMA 033001-2018 壓縮空氣站能效分級(jí)指南
- 40篇短文搞定高考英語(yǔ)3500詞(共42頁(yè))
- 烴與烴的衍生物的轉(zhuǎn)化關(guān)系
評(píng)論
0/150
提交評(píng)論