外文文獻-java family account management system家庭收支管理系統(tǒng)_第1頁
外文文獻-java family account management system家庭收支管理系統(tǒng)_第2頁
外文文獻-java family account management system家庭收支管理系統(tǒng)_第3頁
外文文獻-java family account management system家庭收支管理系統(tǒng)_第4頁
外文文獻-java family account management system家庭收支管理系統(tǒng)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢業(yè)設計外文文獻原文及譯文JAVAFAMILYACCOUNTMANAGEMENTSYSTEM家庭收支管理系統(tǒng)學生姓名學號系別計算機系專業(yè)計算機科學與技術指導教師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不過另一種類型的程序設計語言,大家可能會奇怪它為什么值得如此重視,為什么還有這么多的人認為它是計算機程序設計的一個里程碑呢如果您來自一個傳統(tǒng)的程序設計背景,那么答案在剛開始的時候并不是很明顯。JAVA除了可解決傳統(tǒng)的程序設計問題以外,還能解決WORLDWIDEWEB萬維網上的編程問題。1客戶端編程WEB最初采用的“服務器瀏覽器”方案可提供交互式內容,但這種交互能力完全由服務器提供,為服務器和因特網帶來了不小的負擔。服務器一般為客戶瀏覽器產生靜態(tài)網頁,由后者簡單地解釋并顯示出來?;綡TML語言提供了簡單的數據收集機制文字輸入框、復選框、單選鈕、列表以及下拉列表等,另外還有一個按鈕,只能由程序規(guī)定重新設置表單中的數據,以便回傳給服務器。用戶提交的信息通過所有WEB服務器均能支持的“通用網關接口”(CGI)回傳到服務器。包含在提交數據中的文字指示CGI該如何操作。最常見的行動是運行位于服務器的一個程序。那個程序一般保存在一個名為“CGIBIN”的目錄中(按下WEB頁內的一個按鈕時,請注意一下瀏覽器頂部的地址窗,經常都能發(fā)現“CGIBIN”的字樣)。大多數語言都可用來編制這些程序,但其中最常見的是PERL。這是由于PERL是專為文字的處理及解釋而設計的,所以能在任何服務器上安裝和使用,無論采用的處理器或操作系統(tǒng)是什么。2插件朝客戶端編程邁進的時候,最重要的一個問題就是插件的設計。利用插件,程序員可以方便地為瀏覽器添加新功能,用戶只需下載一些代碼,把它們“插入”瀏覽器的適當位置即可。這些代碼的作用是告訴瀏覽器“從現在開始,你可以進行這些新活動了”(僅需下載這些插入一次)。有些快速和功能強大的行為是通過插件添加到瀏覽器的。但插件的編寫并不是一件簡單的任務。在我們構建一個特定的站點時,可能并不希望涉及這方面的工作。對客戶端程序設計來說,插件的價值在于它允許專業(yè)程序員設計出一種新的語言,并將那種語言添加到瀏覽器,同時不必經過瀏覽器原創(chuàng)者的許可。由此可以看出,插件實際是瀏覽器的一個“后門”,允許創(chuàng)建新的客戶端程序設計語言(盡管并非所有語言都是作為插件實現的)。3腳本編制語言插件造成了腳本編制語言的爆炸性增長。通過這種腳本語言,可將用于自己客戶端程序的源碼直接插入HTML頁,而對那種語言進行解釋的插件會在HTML頁顯示的時候自動激活。腳本語言一般都傾向于盡量簡化,易于理解。而且由于它們是從屬于HTML頁的一些簡單正文,所以只需向服務器發(fā)出對那個頁的一次請求,即可非??斓剌d入。缺點是我們的代碼全部暴露在人們面前。另一方面,由于通常不用腳本編制語言做過分復雜的事情,所以這個問題暫且可以放在一邊。腳本語言真正面向的是特定類型問題的解決,其中主要涉及如何創(chuàng)建更豐富、更具有互動能力的圖形用戶界面(GUI)。然而,腳本語言也許能解決客戶端編程中80的問題。你碰到的問題可能完全就在那80里面。而且由于腳本編制語言的宗旨是盡可能地簡化與快速,所以在考慮其他更復雜的方案之前(如JAVA及ACTIVEX),首先應想一下腳本語言是否可行。目前討論得最多的腳本編制語言包括JAVASCRIPT(它與JAVA沒有任何關系;之所以叫那個名字,完全是一種市場策略)、VBSCRIPT(同VISUALBASIC很相似)以及TCL/TK(來源于流行的跨平臺GUI構造語言)。當然還有其他許多語言,也有許多正在開發(fā)中。JAVASCRIPT也許是日常用的,它得到的支持也最全面。無論NETSCAPENAVIGATOR,MICROSOFTINTERNETEXPLORER,還是OPERA,目前都提供了對JAVASCRIPT的支持。除此以外,市面上講述JAVASCRIPT的書籍也要比講述其他語言的書多得多。有些工具還能利用JAVASCRIPT自動產生網頁。當然,如果你已經有VISUALBASIC或者TCL/TK的深厚功底,當然用它們要簡單得多,起碼可以避免學習新語言的煩惱(解決WEB方面的問題就已經夠讓人頭痛了)。4JAVA如果說一種腳本編制語言能解決80的客戶端程序設計問題,那么剩下的20又該怎么辦呢它們屬于一些高難度的問題嗎目前最流行的方案就是JAVA。它不僅是一種功能強大、高度安全、可以跨平臺使用以及國際通用的程序設計語言,也是一種具有旺盛生命力的語言。對JAVA的擴展是不斷進行的,提供的語言特性和庫能夠很好地解決傳統(tǒng)語言不能解決的問題,比如多線程操作、數據庫訪問、連網程序設計以及分布式計算等等。JAVA通過“程序片”(APPLET)巧妙地解決了客戶端編程的問題。程序片(或“小應用程序”)是一種非常小的程序,只能在WEB瀏覽器中運行。作為WEB頁的一部分,程序片代碼會自動下載回來(這和網頁中的圖片差不多)。激活程序片后,它會執(zhí)行一個程序。程序片的一個優(yōu)點體現在通過程序片,一旦用戶需要客戶軟件,軟件就可從服務器自動下載回來。它們能自動取得客戶軟件的最新版本,不會出錯,也沒有重新安裝的麻煩。由于JAVA的設計原理,程序員只需要創(chuàng)建程序的一個版本,那個程序能在幾乎所有計算機以及安裝了JAVA解釋器的瀏覽器中運行。由于JAVA是一種全功能的編程語言,所以在向服

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論