陳飛宇
摘要:近年來,隨著信息技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)的廣泛普及以及應(yīng)用,給人們的生活帶來巨大的變革,人們的生活模式發(fā)生了很大的改變。以互聯(lián)網(wǎng)為媒介,電子商城得到廣泛發(fā)展,它改變了傳統(tǒng)的商家銷售模式;教育教學(xué)系統(tǒng)、平臺的開發(fā)應(yīng)用,使我們在家就可以通過遠(yuǎn)程網(wǎng)絡(luò)進(jìn)行學(xué)習(xí);企業(yè)交流軟件的開發(fā),使我們即使相隔千里也能開展公司項(xiàng)目,網(wǎng)絡(luò)技術(shù)的發(fā)展給人們生活帶來便利的同時,目前仍存在一定的安全隱患。受當(dāng)前我國網(wǎng)絡(luò)環(huán)境較為復(fù)雜、一定程度缺乏安全性的影響,傳統(tǒng)的網(wǎng)絡(luò)編程設(shè)計(jì)受到一定程度的阻礙。本文通過對計(jì)算機(jī)網(wǎng)絡(luò)程序設(shè)計(jì)的歷史、發(fā)展進(jìn)程、復(fù)雜性等進(jìn)行一系列研究,進(jìn)而以Java程序設(shè)計(jì)中存在的問題為例,針對網(wǎng)絡(luò)程序設(shè)計(jì)中的復(fù)雜性提出有效解決方案。
關(guān)鍵詞:網(wǎng)絡(luò);程序設(shè)計(jì);復(fù)雜性
隨著網(wǎng)絡(luò)程序設(shè)計(jì)在我國各個領(lǐng)域的廣泛發(fā)展,我國網(wǎng)絡(luò)編程設(shè)計(jì)人員的數(shù)量近年來與日俱增,特別是近年來受信息全球化的影響,網(wǎng)絡(luò)編程技術(shù)日新月異,如:Java、C#、C++、PHP、安卓、IOS等新的技術(shù)也不斷在更新,受到越來越多的各類型企業(yè)的喜愛。但是這些編程語言的原始技術(shù)從一定程度上來說,在短時間內(nèi)不可能被新的程序技術(shù)完全取代,特別是一些老牌企業(yè),這些企業(yè)大多數(shù)項(xiàng)目目前仍然需要使用這些語言來維護(hù),在這些企業(yè)中,如何將傳統(tǒng)的程序設(shè)計(jì)應(yīng)用在當(dāng)前的網(wǎng)絡(luò)程序中,進(jìn)而開發(fā)出更高質(zhì)量的系統(tǒng)、平臺,并且在項(xiàng)目中被廣泛應(yīng)用,受到人們的廣泛關(guān)注。因此,在這種形式下,如何將這類編程語言進(jìn)行優(yōu)化,如何從根本上減少或者消除這些復(fù)雜l生,成為我們今天探討的主題。
1網(wǎng)絡(luò)程序設(shè)計(jì)語言的發(fā)展歷程
上世紀(jì)開始至今,計(jì)算機(jī)網(wǎng)絡(luò)編程的發(fā)展經(jīng)歷了從最初的機(jī)器語言編程、匯編語言編程到最后的高級語言編程的歷史。傳統(tǒng)的機(jī)器語言編程,在使用過程中,屬于單機(jī)模式,針對計(jì)算機(jī)不同的型號設(shè)置通常使用不同的語言,其優(yōu)點(diǎn)是運(yùn)算率較高,其不足之處是無法在多臺計(jì)算機(jī)上進(jìn)行信息的共享,從而造成了工作的重復(fù)、不便于維護(hù)。為了改變這種局勢,人們在傳統(tǒng)的機(jī)器語言編程的基礎(chǔ)上,進(jìn)行了系統(tǒng)優(yōu)化,以字母來代替原有的指令,從此匯編語言編程開始得到發(fā)展,改變了傳統(tǒng)機(jī)器語言編程工作重復(fù)、難以維護(hù)的特性。隨著人類對計(jì)算機(jī)研究的不斷深入,上世紀(jì)60年代以后,各種類型、各種規(guī)模軟件的生產(chǎn)越來越多,但是由于當(dāng)時缺乏先進(jìn)的、科學(xué)的系統(tǒng)規(guī)劃以及系統(tǒng)評估,造成這些系統(tǒng)盡管開發(fā)消耗了大量的資金,在后期仍然無法進(jìn)行使用。這種現(xiàn)象逐漸引起人們的警覺,人們對軟件的編程規(guī)劃開始注重,特別是80年代以來,網(wǎng)絡(luò)程序設(shè)計(jì)開始向系統(tǒng)化、規(guī)范化、規(guī)?;?、科學(xué)化的方向發(fā)展。近年來,在全球化趨勢的影響下,大數(shù)據(jù)、云計(jì)算等新的概念不斷興起,將網(wǎng)絡(luò)程序設(shè)計(jì)推向一個更高的層面。
2網(wǎng)絡(luò)程序設(shè)計(jì)的現(xiàn)狀
近年來在網(wǎng)絡(luò)程序的使用中,網(wǎng)絡(luò)程序設(shè)計(jì)和傳統(tǒng)的程序設(shè)計(jì)相比,兩者存在一定的差距,網(wǎng)絡(luò)運(yùn)行環(huán)境的不同,在一定程度上不利于網(wǎng)絡(luò)程序的設(shè)計(jì)。受互聯(lián)網(wǎng)發(fā)展的影響,網(wǎng)絡(luò)技術(shù)不斷滲透到我們生活的各個方面,人們對網(wǎng)絡(luò)程序設(shè)計(jì)的要求也越來越高,在此背景下,傳統(tǒng)的網(wǎng)絡(luò)程序設(shè)計(jì)的發(fā)展已無法滿足人們?nèi)找嬖鲩L的物質(zhì)文明對網(wǎng)絡(luò)設(shè)計(jì)的需求,網(wǎng)絡(luò)程序設(shè)計(jì)在改變我們生活、工作的同時,如何對網(wǎng)絡(luò)程序設(shè)計(jì)進(jìn)行優(yōu)化,已成為當(dāng)前網(wǎng)絡(luò)程序設(shè)計(jì)工作中的核心問題。但是受網(wǎng)絡(luò)程序設(shè)計(jì)復(fù)雜性的影響,目前,我們?nèi)匀粵]有辦法來徹底解決這些問題,在當(dāng)前基礎(chǔ)上,不斷對網(wǎng)絡(luò)程序設(shè)計(jì)運(yùn)行的環(huán)境進(jìn)行調(diào)整、優(yōu)化,一定程度對網(wǎng)絡(luò)程序設(shè)計(jì)存在的問題進(jìn)行緩解,并以此來推進(jìn)網(wǎng)絡(luò)程序設(shè)計(jì)工作的進(jìn)步。
3網(wǎng)絡(luò)程序設(shè)計(jì)的復(fù)雜性的實(shí)質(zhì)
網(wǎng)絡(luò)程序設(shè)計(jì)的復(fù)雜性是軟件應(yīng)用開發(fā)過程中存在的不可忽視的問題,結(jié)合有關(guān)專家論述,本人認(rèn)為,網(wǎng)絡(luò)程序設(shè)計(jì)的復(fù)雜性歸根結(jié)底可以分為兩種類型,一種為非人為的復(fù)雜性,即由于在項(xiàng)目開發(fā)過程中,為解決項(xiàng)目問題,必須要產(chǎn)生的復(fù)雜性,如在系統(tǒng)應(yīng)用中每增加一個功能,其復(fù)雜性則成倍增長;另一種為人為的復(fù)雜性,即我們在進(jìn)行項(xiàng)目開發(fā)的過程由于對項(xiàng)目的設(shè)計(jì)、開發(fā)工具、運(yùn)行環(huán)境等沒有進(jìn)行合理的篩選,而產(chǎn)生的復(fù)雜性。我們在網(wǎng)絡(luò)程序設(shè)計(jì)方面要盡可能減少、避免人為因素帶來的復(fù)雜性,才能促使整個項(xiàng)目開發(fā)能順利進(jìn)行。
4以Java程序設(shè)計(jì)中存在的問題為例,針對網(wǎng)絡(luò)程序設(shè)計(jì)提出解決方案
鑒于網(wǎng)絡(luò)程序設(shè)計(jì)的復(fù)雜性對應(yīng)用程序開發(fā)造成的影響,以Java程序設(shè)計(jì)中存在的問題為例,對此提出相關(guān)的優(yōu)化解決方案。
Java程序語言是近年來比較主流的編程語言,受到當(dāng)前我國各類新老企業(yè)的接納,其優(yōu)點(diǎn)在于:Java平臺比較活躍,適用于多種運(yùn)行環(huán)境,同時系統(tǒng)的穩(wěn)定性強(qiáng),系統(tǒng)應(yīng)用廣泛,在網(wǎng)絡(luò)編程設(shè)計(jì)中使用較多。但是,Java編程也存在一定的不足,本文以Java編程中存在中文亂碼問題進(jìn)行研究,并提出相應(yīng)的優(yōu)化解決方案。
通常字符串是由系統(tǒng)默認(rèn)的編碼程序進(jìn)行編碼,但是,Java編程語言自身是采用Unicode進(jìn)行編碼的,這種編碼方式任何符號都通常用兩個字節(jié)來表示,因此,在以Java進(jìn)行編碼時,就要考慮瀏覽器的支持程度、操作系統(tǒng)的情況以及編碼格式的匹配與轉(zhuǎn)換,在這些環(huán)節(jié)中如果出現(xiàn)問題,則會出現(xiàn)中文亂碼現(xiàn)象,即顯示的頁面為亂碼、數(shù)據(jù)庫數(shù)據(jù)亂碼或用戶提交數(shù)據(jù)亂碼,具體解決思路如下:
在頁面顯示亂碼時,通常在訪問JSP或Servlet頁面時,頁面容易出現(xiàn)中文亂碼的現(xiàn)象,這種情況下,我們首先要對亂碼問題進(jìn)行分析,是瀏覽器存在的問題還是后臺生成頁面時,后臺內(nèi)容存在亂碼。因此,我們首先要對源文件進(jìn)行檢測,當(dāng)源文件為亂碼時,要對其進(jìn)行修改,重新設(shè)置JSP屬性或者Servlet的contentType屬性;當(dāng)源文件顯示正常時,則對瀏覽器重新進(jìn)行選擇。當(dāng)用戶本身提交的數(shù)據(jù)為亂碼時,通常是當(dāng)request的對象get到用戶提交的中文信息后,其控制后臺為亂碼,這種情況下,可以采用request的setCharacterEnco ding()的辦法來進(jìn)行解決,當(dāng)存在的頁面過多時,可以用過濾器將所有編碼統(tǒng)一設(shè)置。在數(shù)據(jù)庫中本身存在的數(shù)據(jù)為亂碼時,我們首先要對SQL語句進(jìn)行檢查,看看是后臺的問題還是數(shù)據(jù)庫設(shè)置方面的問題。隨著我們對計(jì)算機(jī)網(wǎng)絡(luò)程序設(shè)計(jì)的深入研究,相信在不久的將來,Java編程中存在中文亂碼問題將會有更多的解決方式。
5結(jié)語
綜上所述,隨著時代的發(fā)展,科技的進(jìn)步,越來越多的網(wǎng)絡(luò)程序設(shè)計(jì)技術(shù)會出現(xiàn)在我們周圍,網(wǎng)絡(luò)編程設(shè)計(jì)技術(shù)水平的更新、升級成為信息技術(shù)時代網(wǎng)絡(luò)程序設(shè)計(jì)發(fā)展的趨勢,網(wǎng)絡(luò)程序設(shè)計(jì)技術(shù)的發(fā)展為我國各行各業(yè)的發(fā)展提供了技術(shù)支撐。當(dāng)前網(wǎng)絡(luò)編程設(shè)計(jì)的復(fù)雜性,并沒有被完全解決,各類編程語言也都存在一定的欠缺,我們只有通過對網(wǎng)絡(luò)程序設(shè)計(jì)技術(shù)不斷研究、不斷探索,針對網(wǎng)絡(luò)程序設(shè)計(jì)的復(fù)雜性不斷優(yōu)化、更新,不斷滿足新形勢下對網(wǎng)絡(luò)程序設(shè)計(jì)的各類要求,我國的網(wǎng)絡(luò)程序設(shè)計(jì)整體水平才能不斷提升。endprint