應(yīng)用程序范文

時(shí)間:2023-04-01 09:16:23

導(dǎo)語:如何才能寫好一篇應(yīng)用程序,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

應(yīng)用程序通常又被分為兩部分:圖形用戶接口(GUI)和引擎(Engien)

它與應(yīng)用軟件的概念不同。應(yīng)用軟件指使用的目的分類,可以是單一程序或其他從屬組件的集合,例如Microsoft Office、OpenOffice。應(yīng)用程序指單一可執(zhí)行文件或單一程序,例如Word、Photoshop。日常中可不將兩者仔細(xì)區(qū)分,一般視程序?yàn)檐浖囊粋€(gè)組成部分。

應(yīng)用程序的幾種分類:?jiǎn)挝臋n、多重文檔、基本對(duì)話框三種。

單文檔:如記事本,永遠(yuǎn)只有一個(gè)文檔窗口。

多重文檔:多文檔窗口如word可以同時(shí)打開多個(gè)文檔窗口。

篇2

計(jì)算機(jī)業(yè)界對(duì)基準(zhǔn)測(cè)試的迷戀幾乎到了無以復(fù)加的地步。許多項(xiàng)目通常會(huì)分配相當(dāng)大一部分的時(shí)間用于對(duì)廠商的軟硬件(應(yīng)用服務(wù)器、JDK和IDE)來一次“選美大賽”

由于目前并行化硬件數(shù)量激增,基準(zhǔn)測(cè)試再次成了熱門話題。本文會(huì)探討如何評(píng)測(cè)這種硬件的實(shí)現(xiàn)效果有多好。這個(gè)過程困難重重――基準(zhǔn)測(cè)試本身更多時(shí)候因無法測(cè)試或者測(cè)試不準(zhǔn)確而備受詬病,卻很少因測(cè)試公正性而備受好評(píng)。本文的這個(gè)基準(zhǔn)測(cè)試同樣擺脫不了這種命運(yùn)。不過讀完了本文后,讀者會(huì)明白我們是如何設(shè)計(jì)及實(shí)現(xiàn)框架的、它可以評(píng)測(cè)什么(不能評(píng)測(cè)什么)及其可能的應(yīng)用。

在深入探討之前,我想先定義一下什么是基準(zhǔn)測(cè)試:基準(zhǔn)測(cè)試是一種測(cè)試,可以通過可重復(fù)、客觀、透明的一種方式,對(duì)針對(duì)同一目的的多種實(shí)現(xiàn)彼此進(jìn)行比較。

給出了這個(gè)定義之后,我們認(rèn)為,任何基準(zhǔn)測(cè)試都有兩個(gè)邏輯部分,因而,這些不同目標(biāo)在現(xiàn)有的基準(zhǔn)測(cè)試中沒有分開來。這兩個(gè)部分是:一是成功執(zhí)行基準(zhǔn)測(cè)試所需的基礎(chǔ)架構(gòu):二是測(cè)試本身,這總是針對(duì)特定的應(yīng)用。這一假定是下文的關(guān)鍵所在。

基準(zhǔn)測(cè)試框架

在介紹本文構(gòu)建的基準(zhǔn)測(cè)試框架之前,先看一下有哪些現(xiàn)有的框架可供使用。簡(jiǎn)而言之,沒有一個(gè)框架是適合的。現(xiàn)有的框架存在的問題可以歸納如下:過時(shí)或未得到維護(hù); 成了廠商相互競(jìng)爭(zhēng)的地盤,因而靠不住;往往關(guān)注科學(xué)或工程應(yīng)用(譬如浮點(diǎn)運(yùn)算性能);往往關(guān)注JVM方面的基準(zhǔn)測(cè)試;針對(duì)性非常強(qiáng)(譬如Volano基準(zhǔn)測(cè)試的對(duì)象是聊天服務(wù)器――如果在構(gòu)建聊天服務(wù)器,這很好,不然,這種基準(zhǔn)測(cè)試并不適用)。

這些框架也無法區(qū)別基準(zhǔn)測(cè)試和測(cè)試本身。換句話說,基準(zhǔn)測(cè)試的潛在對(duì)象是整個(gè)Java開發(fā)社區(qū)。不可能設(shè)計(jì)出能適用于各部分對(duì)象的基準(zhǔn)測(cè)試。但如果我們能夠把基準(zhǔn)測(cè)試運(yùn)行的東西與基準(zhǔn)測(cè)試的基本內(nèi)容本身分開來,那么框架在擴(kuò)展后就具有適用性了。

如圖1所示,我們特意讓框架力求簡(jiǎn)單,想讓框架易于理解及擴(kuò)展,另外也想盡量減少測(cè)試目標(biāo)硬件和軟件平臺(tái)時(shí)產(chǎn)生的隱性開銷。

通過使用Java平臺(tái)、Standard Edtion 6.0及更高版本的特性,尤其是添加并發(fā)API,大大簡(jiǎn)化了這個(gè)基準(zhǔn)測(cè)試。沒有用到針對(duì)特定平臺(tái)的任何特性。不過,如果擴(kuò)展了框架,就可以隨意使用這些特性,把目標(biāo)平臺(tái)推向極限。該框架應(yīng)該可以在所有平臺(tái)上直接運(yùn)行,具體來講是Windows、Unix和Linux這些平臺(tái)。

框架的工作方式

以下代碼片段詳細(xì)表明了這個(gè)框架有多簡(jiǎn)單。一旦讀者明白了這種主要方法,基本上就可以理解框架本身了。

public static void main(String[] args) throws Exception {

LoadTestEngine te = new LoadTestEngine();

//保存與我們想如何執(zhí)行加載測(cè)試有關(guān)的所有數(shù)據(jù)

LoadTestMetaData ltmd = new LoadTestMetaData();

//分析加載測(cè)試輸出的對(duì)象

Analyser ra = new LinpackRunAnalyser();

ltmd.setAnalyser(ra);

//弄清楚我們想運(yùn)行多少個(gè)線程

//使用聲稱的內(nèi)核數(shù)量并加1個(gè)

int numThreads = Runtime.getRuntime().availableProcessors() + 1;

ltmd.setNumThreads(numThreads);

//ltmd.setTaskClass(LinpackTask.class);

//現(xiàn)在設(shè)置我們想構(gòu)成每一個(gè)任務(wù)基礎(chǔ)的類

ltmd.setTaskClass(SimpleTask.class);

//我們希望任務(wù)執(zhí)行多少次

ltmd.setNumIterations(1000);

//我們需要未完成的任何任務(wù)能夠繼續(xù)完成,

//于是我們?cè)O(shè)定了截止點(diǎn),過了這個(gè)點(diǎn),我們就不再等任務(wù)完成

ltmd.setTaskTimeout(10000);

te.setLoadTestMetaData(ltmd);

long startTime = System.currentTimeMillis();

RunResult rr = te.runLoadTest();

long endTime = System.currentTimeMillis() - startTime;

System.out.println(rr);

System.out.println("Engine output BEGIN");

System.out.println("Total elapsed time (ms): " + endTime);

System.out.println("Engine output END");

te.stop();

}

但實(shí)際工作是由LoadTestEngine.java完成的,具體是這段代碼:

//首先,啟動(dòng)任務(wù)

for(int i = 0; i < numTasks;i++){

try {

Task t = (Task) ltmd.getTaskClass().newInstance();

//讓fw擴(kuò)展器返回TaksResult的子類型

Future< ? extends TaskResult> f = pool.submit(t);

futures[i] = f;

} catch (InstantiationException e1) {

throw new LoadTestException(e1);

} catch (IllegalAccessException e) {

throw new LoadTestException(e);

}

}

// 現(xiàn)在整理結(jié)果

for(int i = 0; i< numTasks;i++){

try {

TaskResult tr = futures[i].get(ltmd.getTaskTimeout(),

TimeUnit.MILLISECONDS);

ra.addTaskResult(tr);

} catch (TimeoutException e) {

e.printStackTrace();

} catch (ExecutionException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

return ra.analyse();

該代碼使用由ExecutorService管理的一組線程來執(zhí)行我所定義的工作負(fù)載,然后通過Future.get()方法收集結(jié)果,以便最終分析。

框架的優(yōu)缺點(diǎn)

框架非常簡(jiǎn)單,簡(jiǎn)而言之,用不了十分鐘,應(yīng)當(dāng)能夠了解框架的運(yùn)作方式,直至代碼。框架可以擴(kuò)展,默認(rèn)狀態(tài)下,該框架旨在讓用戶可以進(jìn)行擴(kuò)展。因此,如果想測(cè)試Spring和Struts/WebWork,那么這個(gè)框架能夠進(jìn)行客觀地測(cè)試??蚣芸梢栽诙嗑€程環(huán)境下測(cè)試應(yīng)用程序的正確性。一旦擴(kuò)展后,框架就可以集成到持續(xù)集成環(huán)境中,用來確保開發(fā)中的應(yīng)用程序可以繼續(xù)滿足穩(wěn)定性、擴(kuò)展性和性能等方面的標(biāo)準(zhǔn)。

但是,框架過于簡(jiǎn)單。如果任務(wù)是了解某個(gè)版本的特定框架(譬如Spring R1.2)是如何運(yùn)作的,那么這個(gè)框架充其量只是供你使用的外殼。默認(rèn)狀態(tài)下,該框架評(píng)測(cè)的只是我們讓它來評(píng)測(cè)的內(nèi)容。雖然這聽上去很顯然,但有一點(diǎn)很清楚:魔鬼存在于細(xì)節(jié)中。兩個(gè)基準(zhǔn)測(cè)試可能是測(cè)試某個(gè)應(yīng)用程序在運(yùn)行特定硬件配置的多線程Java環(huán)境中進(jìn)行擴(kuò)展的功能,但實(shí)際上它們測(cè)試的可能是某個(gè)系統(tǒng)中完全不同的方面。換句話說,這兩個(gè)基準(zhǔn)測(cè)試是微觀基準(zhǔn)測(cè)試,而在孤立狀態(tài)下進(jìn)行的微觀基準(zhǔn)測(cè)試獲得的結(jié)果總是具有誤導(dǎo)性。

鏈接:主流處理器廠商產(chǎn)品特點(diǎn)

英特爾

英特爾的硬件一度就是超線程概念的同義詞,但現(xiàn)在它更成熟了,包括真正支持多核的功能――譬如說,現(xiàn)在雙核CPU就出現(xiàn)在新款A(yù)pple MacBook里面。最初,英特爾實(shí)現(xiàn)的超線程復(fù)制了CPU架構(gòu)的一些部分,而架構(gòu)的其他部分只保留了一份,從而在某些情況下會(huì)造成瓶頸。這種實(shí)現(xiàn)手段最多只能看成是權(quán)宜之計(jì),目的在于在真正的多核支持(一開始是雙核)漸漸投入生產(chǎn)的同時(shí),可以取悅市場(chǎng)。英特爾今年已經(jīng)為服務(wù)器市場(chǎng)了四核CPU。

AMD

AMD提供雙核CPU。此外,它使用直接連接(Direct Connect)和超傳輸總線(HyperTransport)等技術(shù)把這些CPU連接起來,從而形成更龐大的CPU集群。

Sun

Sun真正擁護(hù)服務(wù)器上采用并行計(jì)算的強(qiáng)大功能,目前的T1(Niagara)系列及規(guī)劃中的T2(Rock)系統(tǒng)就表明了這一點(diǎn)。當(dāng)然,早在基于T1的系列問世之前,Sun就一直在制造高端服務(wù)器,但T1真正才開始兌現(xiàn)并行硬件作為大路貨的承諾。

遺憾的是,T1有一個(gè)缺點(diǎn),只有T2才能解決它――支持并行浮點(diǎn)操作的功能很差,所以如果需要這項(xiàng)特性,那么T1不適合你。但如果想在典型的Web服務(wù)器環(huán)境中使用T1,它就很理想。除了這個(gè)弱點(diǎn)外,T1使用八核CPU、每個(gè)內(nèi)核都能夠處理四個(gè)不同的活動(dòng)線程上下文,從而最多可以提供32個(gè)真正獨(dú)立的線程。

IBM

篇3

關(guān)鍵詞:設(shè)備驅(qū)動(dòng)程序;應(yīng)用模塊;探究應(yīng)用;分析總結(jié)

1 設(shè)備驅(qū)動(dòng)程序應(yīng)用環(huán)節(jié)的分析

為了確保操作系統(tǒng)的整體安全性及其穩(wěn)定性的提升,我們要進(jìn)行應(yīng)用程序可移植性的剖析,這就是進(jìn)行與之對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序的應(yīng)用,這是因?yàn)槭艿?Windows操作系統(tǒng)的程序應(yīng)用限制,這些硬件資源的調(diào)動(dòng)需要操作者運(yùn)作設(shè)備驅(qū)動(dòng)程序。通過對(duì)設(shè)備驅(qū)動(dòng)程序的應(yīng)用,可以實(shí)現(xiàn)硬件的有效操作,實(shí)現(xiàn)應(yīng)用程序與設(shè)備驅(qū)動(dòng)程序之間的良好通信,確保程序控制底層硬件設(shè)備應(yīng)用效率的優(yōu)化。這需要我們進(jìn)行相關(guān)具體應(yīng)用模塊的分析。

在該模式應(yīng)用過程中,需要通過對(duì)應(yīng)用程序的應(yīng)用,進(jìn)行設(shè)備驅(qū)動(dòng)程序與應(yīng)用程序的協(xié)調(diào)應(yīng)用。同時(shí)我們也要確保設(shè)備驅(qū)動(dòng)程序與應(yīng)用程序的協(xié)調(diào)。在上述環(huán)節(jié)的應(yīng)用過程中,為了達(dá)到我們的應(yīng)用需要,需要進(jìn)行相關(guān)函數(shù)的設(shè)置,從而確保設(shè)備驅(qū)動(dòng)程序的正常應(yīng)用,在該模塊中,我們可以利用好Win32函數(shù)進(jìn)行有效應(yīng)用,實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序與應(yīng)用程序之間的良好協(xié)調(diào),提升其通信的質(zhì)量效率。在應(yīng)用過程中,我們也要為其創(chuàng)造一個(gè)良好的應(yīng)用條件,確保其不同應(yīng)用環(huán)節(jié)的正常效能的發(fā)揮。在設(shè)備驅(qū)動(dòng)程序進(jìn)行相關(guān)數(shù)據(jù)采集工作之后,我們需要進(jìn)行相關(guān)應(yīng)用程序的應(yīng)用,保證這些數(shù)據(jù)的積極處理,以滿足當(dāng)下工作的需要,提升其應(yīng)用效率。

為了更好的進(jìn)行設(shè)備驅(qū)動(dòng)程序應(yīng)用程序的優(yōu)化,我們也要進(jìn)行相關(guān)工作模塊的協(xié)調(diào),積極做好異步過程調(diào)用程序、事件應(yīng)用程序、消息應(yīng)用程序等的協(xié)調(diào),通過對(duì)不同應(yīng)用模式的協(xié)調(diào),實(shí)現(xiàn)其現(xiàn)實(shí)工作模塊的正常開展。在異步過程調(diào)用模塊中,Win32應(yīng)用程序需要應(yīng)用到特殊的函數(shù)動(dòng)態(tài)模式,進(jìn)行設(shè)備驅(qū)動(dòng)程序的積極加載,從而實(shí)現(xiàn)回調(diào)函數(shù)的積極定義,這需要我們進(jìn)行回調(diào)函數(shù)的具體地址的參考,確保設(shè)備驅(qū)動(dòng)程序的綜合應(yīng)用效益的提升。在設(shè)備驅(qū)動(dòng)程序獲得回調(diào)函數(shù)的相關(guān)地址后,在進(jìn)行全局變量的保存。

為了更好的進(jìn)行上述工作環(huán)節(jié)的優(yōu)化,我們也要運(yùn)用函數(shù)進(jìn)行應(yīng)用程序線程句柄的保存。當(dāng)具備一定的條件時(shí),我們就可以進(jìn)行設(shè)備驅(qū)動(dòng)程序的調(diào)用,確保Win32應(yīng)用程序的有效應(yīng)用。該函數(shù)帶需要滿足具體的參數(shù)需要。通過對(duì)參數(shù)的設(shè)置進(jìn)行回調(diào)函數(shù)地址的應(yīng)用。在第二個(gè)參數(shù)應(yīng)用過程中,要確?;卣{(diào)函數(shù)信息的良好應(yīng)用。

鑒于設(shè)備驅(qū)動(dòng)程序通知應(yīng)用程序的重要性,本人結(jié)合一些經(jīng)驗(yàn),對(duì)它進(jìn)行了總結(jié),歸納出5種方法摘要:異步過程調(diào)用、事件方式、消息方式、異步I/O方式和事件方式(WDM)。下面分別說明這幾種方式的原理,并給出實(shí)現(xiàn)的部分源代碼。

為了滿足當(dāng)下工作的開展,進(jìn)行事件方式的優(yōu)化是非常必要的,這需要我們通過Win32應(yīng)用程序的應(yīng)用,進(jìn)行事件的句柄的確立。在通過虛擬設(shè)備驅(qū)動(dòng)程序的應(yīng)用,進(jìn)行該事件句柄的創(chuàng)建。做好上述應(yīng)用環(huán)節(jié)中,在利用一些函數(shù)進(jìn)行未公開的動(dòng)態(tài)鏈接庫(kù)的加載,確保其動(dòng)態(tài)鏈接庫(kù)的句柄的獲得,這需要我們利用好函數(shù)的相關(guān)特點(diǎn),進(jìn)行動(dòng)態(tài)鏈接庫(kù)位置的選擇,從而實(shí)現(xiàn)對(duì)該事件的句柄的有效轉(zhuǎn)換,確保Win32應(yīng)用程序的有效應(yīng)用。假如加載成功,則調(diào)用DeviceIoControl()函數(shù)將Ring0事件句柄傳給VxD;同時(shí),創(chuàng)建一個(gè)輔助線程等待信號(hào)變成有信號(hào)狀態(tài),本身則可去干其它的事情。當(dāng)條件成熟時(shí),VxD置Ring0事件為有信號(hào)狀態(tài),調(diào)用_VWIN32_SetWin

32Event()函數(shù),這馬上觸發(fā)對(duì)應(yīng)的Ring3事件為有信號(hào)狀態(tài)。一旦Ring3事件句柄為有信號(hào)狀態(tài),Win32應(yīng)用程序的輔助線程就對(duì)這個(gè)消息進(jìn)行相應(yīng)的處理。

在消息方式運(yùn)作模式中,我們要進(jìn)行Win32應(yīng)用程序的積極調(diào)用,從而確保虛擬設(shè)備驅(qū)動(dòng)程序的積極加載,提升其加載的效益。在完成該環(huán)節(jié)中,我們要進(jìn)行窗體句柄的積極傳送,確保窗體的相關(guān)消息的發(fā)出,在利用好相關(guān)的函數(shù)進(jìn)行Win32應(yīng)用程序消息的發(fā)送,確保該函數(shù)的應(yīng)用成功。在利用一些手段進(jìn)行消息模塊的積極定義,以滿足現(xiàn)實(shí)工作的需要。要在消息循環(huán)中使用ON_MESSAGE()來定義消息對(duì)應(yīng)的消息處理函數(shù),以便消息產(chǎn)生時(shí),能夠調(diào)用消息處理函數(shù)。SHELL_PostMessage()函數(shù)的第一個(gè)參數(shù)為Win32窗體句柄,第二個(gè)參數(shù)為消息ID號(hào),第三、四個(gè)參數(shù)為發(fā)送給消息處理函數(shù)的參數(shù),第五、六個(gè)參數(shù)為回調(diào)函數(shù)和傳給它的參數(shù)。Win32應(yīng)用程序收到消息后,對(duì)消息進(jìn)行處理。

2 關(guān)于異步I/O方式及其事件應(yīng)用模式的分析

在日常工作過程中,為了保證 Win32加載設(shè)備驅(qū)動(dòng)應(yīng)用程序的正常開展,我們需要做好相關(guān)函數(shù)的調(diào)用工作,確保各個(gè)參數(shù)之間的良好設(shè)置,以滿足現(xiàn)實(shí)工作的需要。進(jìn)行文件的重疊I/O操作控制,確保設(shè)備驅(qū)動(dòng)程序文件的有效應(yīng)用。在初始態(tài)的創(chuàng)建過程中,要進(jìn)行手動(dòng)復(fù)位模式的應(yīng)用,進(jìn)行相關(guān)類型數(shù)據(jù)結(jié)構(gòu)的積極傳送,確保該模塊中,參數(shù)與函數(shù)的不同模塊的傳送。在該設(shè)備驅(qū)動(dòng)應(yīng)用模塊中,其會(huì)將其設(shè)置為掛起狀態(tài),在該模塊中,如果IRP隊(duì)列為空,就可以將IRP放到IRP隊(duì)列中去,從而確保設(shè)備驅(qū)動(dòng)程序的正常工作。在Win32應(yīng)用程序工作中,其與待IRP處理模塊并不能完全實(shí)現(xiàn)同步化,這就需要確保gia模塊的設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)的優(yōu)化。

在返回值的判定過程中,我們也要進(jìn)行IRP處理環(huán)節(jié)的優(yōu)化,實(shí)現(xiàn)IRP工作程序的優(yōu)化,為了滿足該環(huán)節(jié)工作,要進(jìn)行主程序與其他應(yīng)用程序的協(xié)調(diào),確保該模塊中各個(gè)函數(shù)的信號(hào)狀態(tài)的保持,進(jìn)行設(shè)備驅(qū)動(dòng)程序的綜合利用效率的提升,從而實(shí)現(xiàn)IRP程序的有效開展,確保其處理效益的提升。這需要我們進(jìn)行函數(shù)的應(yīng)用,保證Overlapped事件中信號(hào)狀態(tài)的保持,從而確保Win32應(yīng)用程序的正常相應(yīng),以滿足現(xiàn)實(shí)工作的開展,確保事件復(fù)位的無信號(hào)狀態(tài)的保持,利用一些函數(shù)來滿足我們的應(yīng)用需要。函數(shù)獲取IRP的處理結(jié)果。

在事件應(yīng)用模塊中,我們可以利用Win32應(yīng)用程序進(jìn)行事件的創(chuàng)建,將事件句柄進(jìn)行設(shè)備驅(qū)動(dòng)程序的傳送,確保輔助線程的積極創(chuàng)建。當(dāng)然,在該模塊應(yīng)用過程中,要進(jìn)行等待事件的信號(hào)狀態(tài)的保持。這樣方便下序設(shè)備驅(qū)動(dòng)程序應(yīng)用過程中的事件句柄的轉(zhuǎn)換,以方便后續(xù)程序應(yīng)用的開展。

3 結(jié)束語

Windows操作系統(tǒng)運(yùn)作環(huán)節(jié)中,通過對(duì)設(shè)備驅(qū)動(dòng)程序的應(yīng)用,可以實(shí)現(xiàn)操縱硬件的最底層軟件接口模塊的優(yōu)化。從而進(jìn)行I/O、硬件中斷、DMA和內(nèi)存訪問等操作。通過對(duì)上述模塊的應(yīng)用,將應(yīng)用程序和硬件細(xì)節(jié)屏蔽開來,使軟件不依靠于硬件并且可在多個(gè)不同的平臺(tái)之間移植,以滿足現(xiàn)實(shí)工作條件的需要。

參考文獻(xiàn)

[1]韓海力,郭云峰. 用DDK開發(fā)win2000/xp下USB設(shè)備驅(qū)動(dòng)程序[J].微型電腦應(yīng)用,2005.

篇4

1、首先,打開要進(jìn)行操作的文件所在的文件夾,可以看到這些文件都是沒有后綴的;

2、點(diǎn)擊左上方的“組織”,在彈出菜單中點(diǎn)擊“文件夾和搜索選項(xiàng)”;

3、打開文件夾選項(xiàng)窗口后,點(diǎn)擊上端的“查看”;

4、進(jìn)入查看界面后,如果想讓文件的后綴顯示出來,就將“隱藏已知文件類型的擴(kuò)展名”選項(xiàng)前的勾選去掉,然后再點(diǎn)擊“確定”即可;

5、然后,進(jìn)入桌面,發(fā)現(xiàn)文件名后面就有了后綴名;

篇5

這幾年來,我們一直在談?wù)撻_發(fā)面向眾多設(shè)備的應(yīng)用程序。移動(dòng)應(yīng)用程序仍然是將新服務(wù)或新內(nèi)容提供給移動(dòng)設(shè)備的首選方式。

但是“應(yīng)用程序”這整個(gè)概念可能會(huì)迎來重大變化。這一天可能很快就會(huì)到來:你只要點(diǎn)擊主屏幕上的某個(gè)鏈接,就可以在瀏覽器中啟動(dòng)運(yùn)行應(yīng)用程序,用不著訪問應(yīng)用程序商店(App Store)或Android Market。

原生應(yīng)用程序占上風(fēng)

開發(fā)人員為移動(dòng)設(shè)備開發(fā)應(yīng)用程序時(shí),通常開發(fā)“原生應(yīng)用程序”――這是你在應(yīng)用程序商店購(gòu)買后安裝到手機(jī)內(nèi)存中的那種應(yīng)用程序。原生應(yīng)用程序一向是為手機(jī)添加功能的事實(shí)上的標(biāo)準(zhǔn)。

大多數(shù)開發(fā)人員會(huì)贊同這個(gè)觀點(diǎn):與基于瀏覽器的應(yīng)用程序相比,無論外觀還是性能,原生應(yīng)用程序都要?jiǎng)俪鲆换I。大多數(shù)用戶對(duì)于移動(dòng)瀏覽器的態(tài)度是唯恐避之不及,因?yàn)橛闷饋韺?shí)在麻煩,當(dāng)你需要輸入數(shù)據(jù)時(shí)更是如此。

原生應(yīng)用程序也一向比基于瀏覽器的應(yīng)用程序更易預(yù)測(cè)。因?yàn)樵鷳?yīng)用程序在手機(jī)的內(nèi)存中運(yùn)行,所以不存在這個(gè)問題:各種移動(dòng)瀏覽器呈現(xiàn)原生應(yīng)用程序的方式無法預(yù)測(cè)、缺乏一致性。

此外,原生應(yīng)用程序?qū)W(wǎng)絡(luò)的依賴比較?。河捎谠鷳?yīng)用程序把大部分內(nèi)容存儲(chǔ)在手機(jī)上,不像瀏覽器應(yīng)用程序那樣非常依賴網(wǎng)絡(luò)。瀏覽器應(yīng)用程序通常駐留在云端的服務(wù)器上,必須通過Wi-Fi或3G連接不斷接人到云,才能訪問內(nèi)容。要是該網(wǎng)絡(luò)連接很差或無法使用,瀏覽器應(yīng)用程序的性能可能會(huì)大打折扣。

原生應(yīng)用程序很麻煩

長(zhǎng)期以來,時(shí)間和資金有限的開發(fā)人員之所以為蘋果iOS設(shè)備和Android設(shè)備開發(fā)應(yīng)用程序,是因?yàn)橹挥羞@么做,才可以讓自己開發(fā)的應(yīng)用程序進(jìn)入到數(shù)量最多的手機(jī)上。

但這個(gè)理由開始失去了說服力,一方面是由于在應(yīng)用程序商店中推銷原生應(yīng)用程序?qū)﹂_發(fā)人員來說難度很大。拿iOS應(yīng)用程序來說吧,就連讓應(yīng)用程序通過應(yīng)用程序商店的審批也難度不小。雖然蘋果對(duì)提交審批的每個(gè)應(yīng)用程序?qū)嵤┝送惶讟?biāo)準(zhǔn),但開發(fā)人員們表示,要是蘋果不喜歡某個(gè)應(yīng)用程序――不管是什么理由,就可以一口回絕。

雖然開發(fā)人員讓應(yīng)用程序通過Android Market的審批相對(duì)要容易些,但應(yīng)用程序很快會(huì)消失在這個(gè)應(yīng)用程序商店成千上萬的其他應(yīng)用程序中,其中許多是質(zhì)量低劣的程序。

應(yīng)用程序開發(fā)人員面臨的另一個(gè)問題是,他們必須針對(duì)不同的移動(dòng)操作系統(tǒng)(iOS、Android及其他),有些情況下必須針對(duì)那些操作系統(tǒng)系列的不同版本,開發(fā)多個(gè)不同版本的原生應(yīng)用程序。于是,開發(fā)人員不得不花大量的時(shí)間和資金,為應(yīng)用程序“搞好版本”,而不是不斷改進(jìn)或開發(fā)新的應(yīng)用程序。

迷失于超級(jí)市場(chǎng)

如前所述,好不容易進(jìn)入到應(yīng)用程序商店的原生應(yīng)用程序可能很少有人注意。隨著應(yīng)用程序商店日益龐大,同時(shí)充斥著低劣或無用的應(yīng)用程序,訪問應(yīng)用程序變得更麻煩了。游戲網(wǎng)站W(wǎng)ildTangent的副總裁Matt Shea表示,由于各大應(yīng)用程序商店是囊括各類應(yīng)用程序的一站式商店,對(duì)應(yīng)用程序進(jìn)行合理的分類和組織很麻煩,而且常常行不通。因而,應(yīng)用程序買家找不到處理預(yù)期任務(wù)的理想應(yīng)用程序,盡管這個(gè)應(yīng)用程序明明就在商店里面――這對(duì)應(yīng)用程序的開發(fā)人員來說是個(gè)大問題。

Shea表示,各大應(yīng)用程序商店對(duì)應(yīng)用程序進(jìn)行的分類很糟糕,這有助于解釋像WildTangent這樣專門的應(yīng)用程序商店能夠大行其道;該網(wǎng)站只提供游戲,并作了精心的分類,那樣訪客更容易找到自己所需的應(yīng)用程序了。

HTML5是解決之道嗎?

移動(dòng)領(lǐng)域的許多人認(rèn)為,如果開發(fā)人員使用HTML5來開發(fā)基于瀏覽器的應(yīng)用程序,就能避免這些棘手問題。HTML5是超文本標(biāo)記語言(HTML)自1999年以來的第一次升級(jí)。雖然官方HTML5標(biāo)準(zhǔn)到2014年才由萬維網(wǎng)聯(lián)盟(W3C)正式制定完成,但大多數(shù)現(xiàn)代化的移動(dòng)瀏覽器已經(jīng)支持這種語言,許多Web開發(fā)人員已經(jīng)在設(shè)計(jì)HTML5網(wǎng)站。

簡(jiǎn)而言之,HTML5將讓瀏覽器(桌面瀏覽器和移動(dòng)瀏覽器)可以實(shí)現(xiàn)許多很酷的新穎功能,比如位置檢測(cè)和不需要插件就能播放音頻和視頻。同步功能也將得到改進(jìn),那樣你在工作單位觀看了電影的一部分后,坐車回家途中可以接著看電影。

HTML5最大的潛在好處也許在于,它讓應(yīng)用程序開發(fā)人員能夠?qū)P拈_發(fā)每個(gè)應(yīng)用程序的一個(gè)版本即可,然后它們就可以在多種瀏覽器上順暢運(yùn)行,這樣他們就能把精力集中在向市場(chǎng)推出更多、更好的應(yīng)用程序上。它還會(huì)鼓勵(lì)他們?cè)黾訝I(yíng)銷宣傳方面的投入,減少搞好版本這項(xiàng)枯燥乏味的任務(wù)方面的投入。

網(wǎng)絡(luò)也是個(gè)因素。內(nèi)容傳送速度比3G網(wǎng)絡(luò)快十倍的4G網(wǎng)絡(luò)問世后,用戶們能夠以比過去快得多的速度從網(wǎng)絡(luò)獲取內(nèi)容,可靠性也要高得多――基于瀏覽器的應(yīng)用程序其性能與原生應(yīng)用程序匹敵的可能性也會(huì)大得多。

至于推銷宣傳方面的考慮,基于瀏覽器的移動(dòng)應(yīng)用程序減小了開發(fā)人員對(duì)應(yīng)用程序商店的依賴。為了讓原生應(yīng)用程序有機(jī)會(huì)取得成功,開發(fā)人員只好通過應(yīng)用程序商店來進(jìn)行推銷;HTML5的支持者則表示,而基于瀏覽器的應(yīng)用程序本身更有助于通過Twitter和Google+等社交媒體,在網(wǎng)上進(jìn)行推銷。

該墨守成規(guī)還是大膽嘗試?

雖然大多數(shù)開發(fā)人員認(rèn)為HTML5在不斷改進(jìn),但他們表示,在實(shí)際的使用場(chǎng)合下,原生應(yīng)用程序運(yùn)行起來還是比瀏覽器應(yīng)用程序要好、要快。

導(dǎo)致這種事態(tài)的一個(gè)原因牽涉到應(yīng)用程序?qū)κ謾C(jī)功能的訪問。許多開發(fā)人員表示,HTML5應(yīng)用程序還無法像原生應(yīng)用程序那樣很好地控制和利用智能手機(jī)的各種硬件功能,比如處理器和方向感應(yīng)器。

不過,HTML5原生應(yīng)用程序在控制智能手機(jī)的硬件資產(chǎn)方面趕上原生應(yīng)用程序的速度有多快,這個(gè)問題引發(fā)了激烈的爭(zhēng)議。

高通CDMA部門的產(chǎn)品經(jīng)理SyChoudhury說:“當(dāng)然,讓人們可以使用位置檢測(cè)等功能的JavaScript綁定機(jī)制已出現(xiàn)在了大多數(shù)移動(dòng)瀏覽器上。在今后半年內(nèi),我們會(huì)看到這方面不斷完善,包含更豐富的位置檢測(cè)功能,以及眾多新功能,比如訪問圖形處理器(GPU)的WebGL、訪問攝像頭/攝像機(jī)的功能,以及比現(xiàn)在更豐富的音頻控制功能,等等?!?/p>

Choudhury及其團(tuán)隊(duì)負(fù)責(zé)在高通的Snapdragon處理器上為移動(dòng)設(shè)備優(yōu)化Web瀏覽器和操作系統(tǒng)的性能。

Mozilla的移動(dòng)瀏覽器產(chǎn)品經(jīng)理Thomas Arend補(bǔ)充說:“幾個(gè)月前,各大瀏覽器廠商開始紛紛演示,重點(diǎn)介 紹HTML5應(yīng)用程序能夠充分利用的功能,比如方向感應(yīng)器、設(shè)備方向、地理定位和攝像頭集成。”Arend著重提到了Mozilla開發(fā)者網(wǎng)站重點(diǎn)介紹的儀表板(Dashboard,https:///an-US/demos/detail/html5-dashboard)這個(gè)例子。

提供一致的用戶體驗(yàn)也是個(gè)問題。一些開發(fā)人員表示,面對(duì)不同的瀏覽器和不同的設(shè)備,HTML5瀏覽器應(yīng)用程序的運(yùn)行方式也不同,因而開發(fā)人員很難確保所有移動(dòng)消費(fèi)者會(huì)喜歡應(yīng)用程序在各自環(huán)境中運(yùn)行的方式。

Arend表示,但采用基于瀏覽器的方法未必是個(gè)不利因素。Arend說:“使用Web作為采用HTML5和CSS3的平臺(tái)最有希望讓用戶在不同的設(shè)備和平臺(tái)上獲得一致、個(gè)性化的體驗(yàn),而不是使用不同設(shè)備會(huì)獲得不同的體驗(yàn)。設(shè)計(jì)良好的Web應(yīng)用程序與原生應(yīng)用程序在用戶看來沒什么區(qū)別。”

與任何新技術(shù)一樣,HTML5的采用也會(huì)呈現(xiàn)鐘形曲線的模式。而早期采用者已經(jīng)開始采取行動(dòng)。比如說,網(wǎng)絡(luò)音樂服務(wù)商Pandora已宣布改用HTML5來開發(fā)應(yīng)用程序;而云存儲(chǔ)公司表示,它也會(huì)走HTML5這條路線。另外讓人感興趣的是,一則吊人胃口的傳聞堅(jiān)稱,亞馬遜很快會(huì)一款用HTML5開發(fā)的基于瀏覽器的Kindle應(yīng)用程序。

不是“非此即彼”的問題

盡管原生應(yīng)用程序與瀏覽器應(yīng)用程序爭(zhēng)得不可開交,但許多開發(fā)人員并沒有面臨非此即彼的決定。實(shí)際上,這兩種應(yīng)用程序可能都有一席之地。

比如說,游戲開發(fā)人員可能會(huì)開發(fā)基于瀏覽器的“簡(jiǎn)化”版本,那樣潛在買家沒必要訪問應(yīng)用程序商店,就可以試玩一下,就像Mozilla的Arend指出的那樣;如果他們喜歡這款游戲,可能會(huì)決定購(gòu)買標(biāo)準(zhǔn)版的原生應(yīng)用程序。

此外,開發(fā)人員可以基本上像開發(fā)瀏覽器應(yīng)用程序那樣開發(fā)許多原生應(yīng)用程序,使用同樣的工具,但隨后可以給它們配備原生應(yīng)用程序“包裝器”(wrapper)。由于這個(gè)原因,原生應(yīng)用程序和瀏覽器應(yīng)用程序有時(shí)不像人們想象的那樣大不一樣。

最終,開發(fā)人員可能會(huì)根據(jù)銷售要素來決定是開發(fā)原生應(yīng)用程序還是開發(fā)基于瀏覽器的應(yīng)用程序。開發(fā)人員必須問清楚:讓應(yīng)用程序吸引用戶的最佳方法到底是通過應(yīng)用程序商店來銷售,還是通過社交媒體在開放的互聯(lián)網(wǎng)上來銷售。

篇6

要將應(yīng)用程序綁定到任務(wù)欄上,首先點(diǎn)擊打開“網(wǎng)頁瀏覽器”程序。

打開后,會(huì)在任務(wù)欄中出現(xiàn)瀏覽器程序的圖標(biāo)。

右鍵單擊任務(wù)欄中的瀏覽器程序的圖標(biāo),在彈出的菜單中選擇“將此程序鎖定到任務(wù)欄”。。

然后關(guān)閉瀏覽器程序,你會(huì)發(fā)現(xiàn)瀏覽器程序圖標(biāo)已經(jīng)在任務(wù)欄中了。

綁定之后,再右鍵單擊任務(wù)欄中的瀏覽器程序的圖標(biāo),在彈出的菜單中選擇“將此程序從任務(wù)欄解鎖”。就可以解除與任務(wù)欄的綁定了。。

點(diǎn)擊“將此程序從任務(wù)欄解鎖”,將瀏覽器關(guān)閉后,狀態(tài)欄上面就沒有瀏覽器程序了。。

篇7

1、無法啟動(dòng)是因?yàn)橛?jì)算機(jī)管理是本地組策略更改的計(jì)算機(jī)的設(shè)置。

2、解決辦法:開始---運(yùn)行(輸入gpedit.msc)----確定或者回車。在打開的“本地組策略編輯器”窗口找到用戶配置,點(diǎn)擊用戶配置前面的小三角。在“用戶配置”的展開項(xiàng)中找到管理模板,點(diǎn)擊管理模板前面的小三角。

3、在“管理模板”的展開項(xiàng)中找到系統(tǒng),并用左鍵單擊系統(tǒng)。用鼠標(biāo)左鍵按住右邊的滑塊向下拉,找到“組策略”下的“不要運(yùn)行指定的Windows應(yīng)用程序”。

4、用鼠標(biāo)左鍵雙擊“不要運(yùn)行指定的Windows應(yīng)用程序”,在彈出的“不要運(yùn)行指定的Windows應(yīng)用程序”窗口點(diǎn)擊已禁用,再點(diǎn)擊確定,退出“本地組策略編輯器”。重啟電腦即可。

(來源:文章屋網(wǎng) )

篇8

 

1 “網(wǎng)上地宮”的開發(fā)體系結(jié)構(gòu)分析與設(shè)計(jì)

 

1.1 應(yīng)用程序系統(tǒng)結(jié)構(gòu)

 

“網(wǎng)上地宮”是基于Web信息所建立的HTTP協(xié)議,它運(yùn)用到了Web的數(shù)據(jù)庫(kù)訪問技術(shù),并通過Java開發(fā)技術(shù)進(jìn)行對(duì)系統(tǒng)作用的補(bǔ)充。所以整體來看,“網(wǎng)上地宮”是基于Web、B/S、Java等技術(shù)形成的綜合開發(fā)體系結(jié)構(gòu),如圖1。

 

1.2 應(yīng)用程序系統(tǒng)設(shè)計(jì)

 

一般來說,“網(wǎng)上地宮”系統(tǒng)都是應(yīng)用于煤礦企業(yè)的礦級(jí)應(yīng)子系統(tǒng)和隊(duì)級(jí)應(yīng)子系統(tǒng)的,另外它也能夠負(fù)責(zé)生產(chǎn)指揮圖子系統(tǒng)的相關(guān)功能。其中礦級(jí)子系統(tǒng)包括了7個(gè)模塊:油水井動(dòng)靜態(tài)開發(fā)數(shù)據(jù)模塊、月生產(chǎn)運(yùn)行曲線模塊、原油產(chǎn)量監(jiān)測(cè)模塊、綜合開采模塊、產(chǎn)量組合模塊、開采模塊以及機(jī)采井動(dòng)態(tài)控制模塊。而隊(duì)級(jí)子系統(tǒng)則包括了開發(fā)數(shù)據(jù)模塊、單井生產(chǎn)運(yùn)行模塊、油水井基礎(chǔ)信息模塊和機(jī)采井動(dòng)態(tài)控制模塊4大模塊。

 

上述11個(gè)模塊都擁有自身的獨(dú)立性,并在“網(wǎng)上地宮”總系統(tǒng)的指揮下進(jìn)行各個(gè)服務(wù)器端的運(yùn)行、編輯、動(dòng)態(tài)管理和信息。以便于“網(wǎng)上地宮”相關(guān)功能的多元化實(shí)現(xiàn)。

 

2 “網(wǎng)上地宮”應(yīng)用程序的模塊功能實(shí)現(xiàn)

 

按照上述對(duì)“網(wǎng)上地宮”中各個(gè)子系統(tǒng)模塊的設(shè)計(jì)狀況,其目的也是為了在實(shí)際的煤礦開采過程中得以功能實(shí)現(xiàn),并創(chuàng)造經(jīng)濟(jì)效益。所以本文選取基于Java技術(shù)的生產(chǎn)指揮圖子系統(tǒng)的相關(guān)功能模塊應(yīng)用進(jìn)行論述。

 

按照功能劃分,生產(chǎn)指揮圖子系統(tǒng)具備兩項(xiàng)功能:第一是基于Web的生產(chǎn)指揮圖編輯功能,第二是網(wǎng)上信息功能。兩種功能系統(tǒng)都是通過Servlet與Java技術(shù)得以實(shí)現(xiàn)的。

 

2.1 基于Web的生產(chǎn)指揮圖編輯功能實(shí)現(xiàn)

 

生產(chǎn)指揮圖編輯工作是有技術(shù)管理員來完成,所以它應(yīng)該被設(shè)置于服務(wù)器端最為合理,而并不通過網(wǎng)絡(luò),這是為了避免過多插件所造成的影響。由于運(yùn)用到了Java技術(shù)對(duì)模塊的B/S結(jié)構(gòu)模式加以實(shí)現(xiàn),所以它需要系統(tǒng)虛擬機(jī)支持JDK1.1以上版本的軟件,并同時(shí)支持SWING。按照系統(tǒng)的實(shí)際需求,可以將編輯處理器部分的JDK軟件設(shè)置于服務(wù)器上,并將其與網(wǎng)上信息模塊相互連通,以提升它的高級(jí)程序特性。

 

在編輯功能系統(tǒng)中,一定要針對(duì)Java技術(shù)進(jìn)行系統(tǒng)功能實(shí)現(xiàn),從而滿足網(wǎng)上地宮的動(dòng)態(tài)可視化特性。這里運(yùn)用到AWT,它是Java中的可視功能部分,它可以輔助JavaGUI實(shí)現(xiàn)靈活的系統(tǒng)結(jié)構(gòu)設(shè)計(jì),并基于AWT的基礎(chǔ)上為系統(tǒng)提供可以替代AWT的輕重量組件,最終全面實(shí)現(xiàn)系統(tǒng)的圖形編輯功能。

 

2.2 基于Web的生產(chǎn)指揮圖網(wǎng)上信息功能實(shí)現(xiàn)

 

在生產(chǎn)指揮圖的網(wǎng)上信息功能方面,則運(yùn)用了基于Java Applet技術(shù)的客戶端。但在功能實(shí)現(xiàn)過程中也要考慮“網(wǎng)上地宮”系統(tǒng)中與安全機(jī)制相關(guān)的“沙箱”模型限制,它主要是針對(duì)服務(wù)器端通信功能的限制。本文在對(duì)信息功能設(shè)計(jì)過程中所采用的是證書機(jī)制,它會(huì)為每一個(gè)使用系統(tǒng)的用戶發(fā)放證書,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)服務(wù)器中所有數(shù)據(jù)的無線共享功能。不過為了解決證書發(fā)放的相對(duì)復(fù)雜性,這里采用到了基于Servlet客戶端的applet模式來避開applet的相關(guān)安全限制,以達(dá)到實(shí)現(xiàn)三層模式的基本要求,同時(shí)保證不損失服務(wù)器端的安全功能。

 

在該系統(tǒng)中,“沙箱”模式主要對(duì)隔離區(qū)域的執(zhí)行程序(例如Java模板、ActiveX控件)進(jìn)行進(jìn)程方面的程序執(zhí)行,它的操作前提是不會(huì)影響到其它部件的基本功能。由于采用了訪問權(quán)限機(jī)制,所以只有有權(quán)限的使用者才可以對(duì)系統(tǒng)內(nèi)的文件及目錄進(jìn)行訪問,這樣設(shè)計(jì)的目的也是為了保護(hù)系統(tǒng)中資源不會(huì)受到來自于未知威脅的影響。

 

按照Web的基本三層結(jié)構(gòu)設(shè)計(jì)應(yīng)用,并同時(shí)為系統(tǒng)的安全性限制做考慮,本文中的生產(chǎn)指揮圖網(wǎng)上信息子系統(tǒng)所采用的是基于Java技術(shù)的Applet服務(wù)器,它可以實(shí)現(xiàn)在數(shù)據(jù)庫(kù)各個(gè)服務(wù)器之間的相互通信,并實(shí)現(xiàn)從客戶端到Web服務(wù)器之間以及Web服務(wù)器和Oracle數(shù)據(jù)庫(kù)服務(wù)器之間的動(dòng)態(tài)信息傳輸功能應(yīng)用。

 

3 總結(jié)

 

以目前的計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)應(yīng)用程序開發(fā)的發(fā)展節(jié)奏來看,交互式Web技術(shù)的應(yīng)用范圍將會(huì)越來越廣。正如本文中所描述的“網(wǎng)上地宮”企業(yè)信息動(dòng)態(tài)管理系統(tǒng),它的設(shè)計(jì)與功能模塊就幫助煤炭企業(yè)實(shí)現(xiàn)了對(duì)工程信息的管理和共享,這極大程度的提升了企業(yè)的生產(chǎn)效率和決策效率,使得我國(guó)工業(yè)發(fā)展更加信息化、智能化、人性化。

篇9

本文提出的WEB運(yùn)用程序的安全設(shè)計(jì)以及運(yùn)用技術(shù)將為客戶建立全新的視角和服務(wù)理念,并且對(duì)該項(xiàng)新技術(shù)作了相應(yīng)的研究和分析,希望為我國(guó)以后WEB系統(tǒng)的發(fā)展提供一些借鑒性的參考。

【關(guān)鍵詞】WEB系統(tǒng) 應(yīng)用技術(shù) 信息技術(shù)

本文中介紹的Web支持的系統(tǒng)能夠勝任用戶的這一要求,Web的運(yùn)行程序主要是由能夠完成特定任務(wù)的Web組件構(gòu)成的,并且可以通過web把服務(wù)項(xiàng)目清晰全面地展現(xiàn)給用戶。

1 智能網(wǎng)絡(luò)和WEB的不同點(diǎn)

1.1 智能網(wǎng)絡(luò)

無數(shù)種信息技術(shù)的融合和發(fā)展最終組成了現(xiàn)在人們生活中接觸和使用智能網(wǎng)絡(luò),它可以通過先進(jìn)的數(shù)據(jù)傳輸技術(shù)和相關(guān)的軟件對(duì)人們手中各種各類的電子元件進(jìn)行連接來完成用戶的某種需求,而且也能夠完成對(duì)數(shù)據(jù)頁面的研究和分析。

1.2 WEB系統(tǒng)概念和作用

WEB應(yīng)用程序,這個(gè)概念是計(jì)算機(jī)專業(yè)人士總結(jié)并提出的,對(duì)它最為廣泛和常見的解釋就是:一個(gè)網(wǎng)站內(nèi)的信息可以和其它網(wǎng)站的數(shù)據(jù)系統(tǒng)相互交流和同步更新,也可以利用第三方網(wǎng)絡(luò)平臺(tái)對(duì)多家網(wǎng)站內(nèi)的實(shí)時(shí)數(shù)據(jù)有效的整合、更新和利用,而我們的用戶可以在互聯(lián)網(wǎng)中建立自己的個(gè)人數(shù)據(jù)庫(kù),并且這些信息數(shù)據(jù)能夠在多個(gè)頁面進(jìn)行登錄,而且應(yīng)用WEB這一個(gè)程序可以通過瀏覽器完成之前要通過很復(fù)雜的程序才能實(shí)現(xiàn)的系統(tǒng)功能,用戶在一個(gè)網(wǎng)站進(jìn)行個(gè)人數(shù)據(jù)更新之后就會(huì)引起所有網(wǎng)站的數(shù)據(jù)更新。

2 WEB應(yīng)用程序的安全設(shè)計(jì)

WEB程序的安全性不單單是為了針對(duì)WEB的應(yīng)用程序而言,而是針對(duì)運(yùn)行WEB應(yīng)用程序的運(yùn)行環(huán)境,這其中包括WEB服務(wù)器以及網(wǎng)絡(luò)數(shù)據(jù)庫(kù)等,對(duì)WEB程序做安全設(shè)計(jì)是為了免遭來自網(wǎng)絡(luò)的不同威脅。WEB程序安全技術(shù)設(shè)計(jì)一般分為6個(gè)方面:身份驗(yàn)證、授權(quán)、審核、保密、完整性以及認(rèn)可。

2.1 WEB的身份驗(yàn)證

身份驗(yàn)證出現(xiàn)在很多的網(wǎng)絡(luò)應(yīng)用程序中,在WEB中出現(xiàn)也很正常,當(dāng)我們的用戶連接到WEB應(yīng)用程序中時(shí),WEB服務(wù)器就會(huì)對(duì)其要求提供相應(yīng)的信息對(duì)身份進(jìn)行驗(yàn)證,而且在WEB程序中存在的COM+組件也可以對(duì)用戶提出驗(yàn)證要求,如果用戶一旦訪問了數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)內(nèi)部設(shè)置的身份驗(yàn)證程序也會(huì)啟動(dòng),這樣通過將身份驗(yàn)證的程序植入到WEB應(yīng)用程序的多個(gè)位置當(dāng)中,就可以將信息受到的威脅程度降到最低。

2.2 WEB的授權(quán)程序

當(dāng)?shù)卿浻脩敉ㄟ^了身份驗(yàn)證之后就可以進(jìn)行網(wǎng)頁的瀏覽或者資源的訪問,在WEB程序會(huì)對(duì)已經(jīng)通過身份驗(yàn)證的用戶進(jìn)行檢查,這種程序是用來確保數(shù)據(jù)查閱的人對(duì)該資源是否擁有權(quán)限,這就是WEB程序中的授權(quán)。

在WEB程序中常見的授權(quán)機(jī)制為下面這四種:

(1)windows 2003用戶賬戶訪問權(quán)限

(2)許可

(3)基于角色的安全

(4)Windows 2003訪問的控制列表數(shù)據(jù)

2.3 WEB的審核程序

審核的目的是為了收集一系列的信息,甚至包括用戶在訪問時(shí)的登陸失敗,也包括使用訪問特權(quán)和其他的安全性信息。審核收集的信息會(huì)被記錄在系統(tǒng)的日志中,為以后的調(diào)查分析儲(chǔ)存可靠的數(shù)據(jù)。

2.4 WEB的保密程序

保密程序在很多時(shí)候被稱為網(wǎng)絡(luò)安全的機(jī)密性,它的含義也是用來保護(hù)用戶信息的,但是這種程序保護(hù)的是用戶沒有對(duì)外開放的信心數(shù)據(jù)。而且多數(shù)是加上了專門的加密技術(shù),在WEB保密程序中可以在其他用戶看不到的情況下實(shí)現(xiàn)一個(gè)用戶給另一個(gè)用戶發(fā)送秘密信息,有人會(huì)建議使用網(wǎng)絡(luò)協(xié)議分析器,就算是使用了這種技術(shù)也是無法看到的?,F(xiàn)在的保密技術(shù)包括安全套接字、Internet協(xié)議安全性和加密技術(shù)。

2.5 WEB程序的完整性

完整性是為了保護(hù)用戶在進(jìn)行信息傳輸過程中被惡意更改或者刪除,這種安全技術(shù)可以保證接收一方得到的是最原始的數(shù)據(jù),在現(xiàn)代的可編程簽名數(shù)據(jù)中就應(yīng)用了這一種技術(shù)。

2.6 WEB程序中的認(rèn)可

在現(xiàn)代計(jì)算機(jī)技術(shù)中認(rèn)可是一種技術(shù)而不是傳統(tǒng)的行為,它的應(yīng)用本質(zhì)和目的是用來作證明的,證明用戶的行為曾經(jīng)在WEB程序中發(fā)生過,這樣可以確保用戶對(duì)資源的順利訪問,不會(huì)出現(xiàn)中途突然被禁止的情況。認(rèn)可的一套完整程序是要經(jīng)過身份驗(yàn)證、授權(quán)、審核以及數(shù)據(jù)完整性,因此認(rèn)可這一種安全技術(shù)對(duì)于現(xiàn)在的電子商務(wù)十分重要。

3 WEB程序?qū)逃脚_(tái)建設(shè)的應(yīng)用

WEB技術(shù)應(yīng)用的基礎(chǔ)設(shè)備主要是我們現(xiàn)在使用的基礎(chǔ)網(wǎng)絡(luò),當(dāng)然現(xiàn)代人類對(duì)計(jì)算機(jī)的操作技術(shù)也要包括在內(nèi),而且在有必要的時(shí)候要對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)實(shí)時(shí)的更新?,F(xiàn)在為了擴(kuò)展和增加學(xué)生的學(xué)習(xí)內(nèi)容及方式,生活當(dāng)中實(shí)現(xiàn)了在家中建立課堂的夢(mèng)想,這就是人們所說的家庭課堂,最有名的是黃岡的名師輔導(dǎo),他們就是利用了WEB系統(tǒng)在網(wǎng)絡(luò)上給學(xué)生創(chuàng)建了一個(gè)虛擬的教室,讓老師和學(xué)生能夠?qū)崿F(xiàn)跨越空間面對(duì)面交流,還可以實(shí)現(xiàn)在線考試,在線實(shí)時(shí)輔導(dǎo),這樣就可以完成遠(yuǎn)程的知識(shí)與教育在不同地方同時(shí)開展。

WEB系統(tǒng)程序可以支持全國(guó)名師的教學(xué)直播,而且可以將收集老師在直播房間中使用的ppt、doc等教學(xué)輔助文件,將這些全面的教學(xué)資源和學(xué)習(xí)材料到WEB支持的教育平臺(tái)之上,只要學(xué)生登錄網(wǎng)站鏈接就可以立刻觀看到名師的課堂講解。

對(duì)于建設(shè)在遠(yuǎn)程教育中的子系統(tǒng),可以劃分為監(jiān)督學(xué)習(xí)、活動(dòng)設(shè)計(jì)以及學(xué)生的行為追蹤等,對(duì)學(xué)生的追蹤行為是我們教師對(duì)學(xué)生1對(duì)1的教學(xué)模式,WEB系統(tǒng)中設(shè)置的學(xué)生行為追蹤模塊可以讓老師實(shí)時(shí)的觀看到每一個(gè)學(xué)生在學(xué)習(xí)過程一系列舉動(dòng)行為,這樣老師就可以根據(jù)學(xué)生目前的學(xué)習(xí)現(xiàn)狀制定不同的學(xué)習(xí)任務(wù)。WEB運(yùn)行程序里面的追蹤技術(shù)是聯(lián)合了面向日志系統(tǒng)和事件攔截系統(tǒng),前者可以根據(jù)學(xué)生的表現(xiàn)行為提取有效的數(shù)據(jù)并進(jìn)行相關(guān)的分析,從而達(dá)到對(duì)每一個(gè)聽講學(xué)生的全面了解。后者的事件攔截是用來在第一時(shí)間內(nèi)對(duì)教育系統(tǒng)中的動(dòng)態(tài)進(jìn)行攔截和過濾,這樣就可以得到學(xué)生在學(xué)習(xí)中的有關(guān)數(shù)據(jù)模式。

4 結(jié)束語

本文從WEB程序安全程序設(shè)計(jì)的角度對(duì)安全技術(shù)作了一些簡(jiǎn)單的闡述,對(duì)WEB應(yīng)用于教育平臺(tái)建設(shè)作了相應(yīng)的介紹,以期可以為我國(guó)在WEB程序安全建設(shè)方面起到一些借鑒性的參考,WEB系統(tǒng)作為促進(jìn)互聯(lián)網(wǎng)發(fā)展變革的技術(shù)不單單是可以應(yīng)用于教育平臺(tái)的建設(shè),筆者相信WEB系統(tǒng)的發(fā)展會(huì)在今后的科技領(lǐng)域引領(lǐng)主導(dǎo),因此國(guó)內(nèi)的信息技術(shù)專業(yè)人才一定要踏上這艘信息革命的快船,為我國(guó)在這一領(lǐng)域占領(lǐng)先機(jī),為國(guó)家的建設(shè)和發(fā)展做出自己的貢獻(xiàn)。

參考文獻(xiàn)

[1]劉洋.WEB應(yīng)用程序安全設(shè)計(jì)及應(yīng)用技術(shù)的研究[D].山東大學(xué),2009 CNKI.

篇10

關(guān)鍵詞:Java Web;應(yīng)用程序;安全技術(shù)

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)30-0265-03

隨著現(xiàn)代化的網(wǎng)絡(luò)技術(shù)和信息技術(shù)的不斷發(fā)展,在人們的生活當(dāng)中網(wǎng)絡(luò)已經(jīng)得到了相當(dāng)廣泛的應(yīng)用。很多現(xiàn)代化的網(wǎng)上業(yè)務(wù)已經(jīng)出現(xiàn)了人們的生活當(dāng)中,比如電子商務(wù)、電子政務(wù)、數(shù)字化圖書館、遠(yuǎn)程教育以及網(wǎng)上休閑娛樂功能等活動(dòng)。在網(wǎng)絡(luò)發(fā)展過程當(dāng)中Web應(yīng)用系統(tǒng)是在網(wǎng)絡(luò)發(fā)展過程當(dāng)中發(fā)展最快的。在現(xiàn)代化的各種政府部門或者企業(yè)當(dāng)中,Web技術(shù)已經(jīng)得到相當(dāng)廣泛的應(yīng)用,因此Web系統(tǒng)發(fā)揮著重要的作用。值得注意的是,在網(wǎng)絡(luò)世界當(dāng)中,對(duì)其中的管束和約束也是相當(dāng)大的,已經(jīng)成為了網(wǎng)絡(luò)發(fā)展的重要障礙和威脅,從而需要對(duì)其Java Web的應(yīng)用安全技術(shù)進(jìn)行全方位的保障,從而推動(dòng)其健康的發(fā)展。

1 Java Web應(yīng)用技術(shù)所面臨的安全威脅

Web應(yīng)用程序主要是在Web開發(fā)程序的基礎(chǔ)之上進(jìn)行開發(fā)的,需要利用服務(wù)器和客戶端這兩個(gè)基本的組件來進(jìn)行維護(hù)和開發(fā),從而可以使得對(duì)瀏覽器端所發(fā)出的請(qǐng)求進(jìn)行獲取,將起發(fā)送到服務(wù)器的部分進(jìn)行數(shù)據(jù)的相應(yīng)和一系列請(qǐng)求操作。在服務(wù)器端和客戶端的通信協(xié)議都主要是以HTTP為基礎(chǔ)出發(fā)點(diǎn)的,并且根據(jù)其中的安全級(jí)別來對(duì)通信過程當(dāng)中的信息和數(shù)據(jù)進(jìn)行機(jī)密性的保護(hù)和完整性的保證,一般在加密f議上都采用SSL/TLS協(xié)議來進(jìn)行保障。在網(wǎng)絡(luò)當(dāng)中存在的不安全因素是相當(dāng)多的,因此在對(duì)Web應(yīng)用程序進(jìn)行開發(fā)的時(shí)候,就對(duì)設(shè)計(jì)人員和開發(fā)人員提出了更多更高的要求。在因素當(dāng)中,主要包括三個(gè)方面的不安全因素,首先是來自于客戶端的安全威脅,主要是由于瀏覽器本身當(dāng)中的缺陷而對(duì)其中的代碼造成了執(zhí)行方面的安全漏洞;其次是服務(wù)器端造成的安全威脅,其中主要是Web應(yīng)用程序當(dāng)中的服務(wù)器端的代碼在進(jìn)行隱藏的時(shí)候其中產(chǎn)生的缺陷就會(huì)造成安全方面的威脅,從而對(duì)其運(yùn)行支撐環(huán)境造成相當(dāng)不利的影響,比如SQL注入漏洞以及操作系統(tǒng)漏洞等威脅;最后在整體的信息通信過程當(dāng)中還存在著一定程度的威脅,對(duì)信息的竊聽以及數(shù)據(jù)方面的修改會(huì)產(chǎn)生不利的影響,從而對(duì)Web應(yīng)用程序當(dāng)中的通信數(shù)據(jù)產(chǎn)生機(jī)密性和完整性的缺陷。

2 Java的安全體系結(jié)構(gòu)和安全策略

2.1 Java的安全體系結(jié)構(gòu)

在Java的安全體系結(jié)構(gòu)當(dāng)中,是建立在安全沙箱的基礎(chǔ)概念之上的,對(duì)模型區(qū)分了本地代碼和利用網(wǎng)絡(luò)加載的遠(yuǎn)程代碼。在本地代碼當(dāng)中是可以信任的,并且可以對(duì)本地的資源進(jìn)行訪問。在Java設(shè)計(jì)當(dāng)中,對(duì)安全體系結(jié)構(gòu)進(jìn)行了增加,需要建立在保護(hù)域的概念之上,從而可以為其提供很大程度的安全控制。

在保護(hù)域方面,主要對(duì)應(yīng)用安全和系統(tǒng)安全進(jìn)行了區(qū)分,其中最核心的概念就是保護(hù)域,可以對(duì)操作環(huán)境當(dāng)中需要保護(hù)的部分進(jìn)行指出,以此來對(duì)組件進(jìn)行分組或者對(duì)被保護(hù)資源進(jìn)行分組。在保護(hù)域當(dāng)中,需要將具有相同權(quán)限的類進(jìn)行歸類,從而度保護(hù)域進(jìn)行了定義。如圖1所示:

在Java類的加載安全機(jī)制當(dāng)中,需要對(duì)基本類的記載其進(jìn)行引入,從而對(duì)加載器之間的關(guān)系問題進(jìn)行有效解決,在這過程當(dāng)中Java程序當(dāng)中所需要的初始類是需要進(jìn)行加載的,并且對(duì)其他類的加載器,需要進(jìn)行起動(dòng)才能對(duì)其進(jìn)行加載,如圖2所示。

在Java權(quán)限方面,是利用一個(gè)固定的類來進(jìn)行表示的,為Permission,在Java當(dāng)中提供了一些子類來表示具體系統(tǒng)的權(quán)限,并且對(duì)其子類也建立了相對(duì)應(yīng)的應(yīng)用程序權(quán)限,利用此種方式來實(shí)現(xiàn)了對(duì)Java當(dāng)中安全策略的相關(guān)定義。

2.2 Java的安全策略

在Java的安全策略當(dāng)中,最重要的是可以根據(jù)一個(gè)應(yīng)用程序當(dāng)中的不同來對(duì)其創(chuàng)建出不同的安全策略文件,從而對(duì)其中的保護(hù)域內(nèi)容進(jìn)行不斷的提升和改進(jìn),但是對(duì)應(yīng)用程度當(dāng)中的代碼卻不會(huì)進(jìn)行任何改動(dòng)和變動(dòng)。在安全策略文件當(dāng)中,需要對(duì)應(yīng)用程序當(dāng)中的策略條目進(jìn)行定義,并且根據(jù)文件當(dāng)中的條目找到相對(duì)應(yīng)的安全策略文件。

首先在安全屬性文件方面,需要對(duì)三種類型的安全策略文件進(jìn)行配置,分別是系統(tǒng)安全策略文件、放在用戶根目錄之下的用戶策略文件以及應(yīng)用程序加載的應(yīng)用安全策略文件,利用對(duì)其系統(tǒng)屬性的設(shè)定,可以將現(xiàn)有的安全策略文件進(jìn)行代替。同時(shí),還有一種情況就是可以允許任何程序的人對(duì)Java現(xiàn)有的安全策略文件進(jìn)行改變,在這個(gè)過程當(dāng)中就會(huì)出現(xiàn)一系列的安全問題,在發(fā)生此種情況的時(shí)候需要利用Java命令來對(duì)其系統(tǒng)屬性進(jìn)行設(shè)置。

在Java的安全策略文件方面,是包含著一系列的條目的,可以對(duì)其進(jìn)行授權(quán),但是在這個(gè)過程當(dāng)中,需要進(jìn)行鑰箱的明確,從而利用數(shù)字前面來對(duì)相關(guān)證書和密鑰進(jìn)行查找。

3 Web安全研究

在對(duì)JavaWeb應(yīng)用程序的相關(guān)安全技術(shù)進(jìn)行研究的時(shí)候,可以從客戶端、服務(wù)器端以及整體的通訊過程當(dāng)中產(chǎn)生的安全威脅進(jìn)行研究,可以分為以下幾個(gè)方面來進(jìn)行分析:

1) 如果Web應(yīng)用程序在程序級(jí)別和代碼級(jí)別進(jìn)行安全防范的過程當(dāng)中,需要對(duì)應(yīng)用程序的編寫和安全級(jí)別進(jìn)行不斷的提升,需要對(duì)開發(fā)環(huán)境以及目標(biāo)程序的安全性和運(yùn)行穩(wěn)定性進(jìn)行充分的了解;其次還應(yīng)該對(duì)黑客常用的技術(shù)進(jìn)行了解,包括黑客的心理、類型、目標(biāo)以及技術(shù)等相關(guān)的內(nèi)容。從各個(gè)角度來對(duì)Web程序的防御性能進(jìn)行編寫。

2) 還可以利用多種方式來作為用戶的身份認(rèn)證方式,比如數(shù)字證書等,對(duì)服務(wù)證書和客戶端證書之間實(shí)現(xiàn)相互的連接,從而對(duì)其SSL實(shí)現(xiàn)雙向認(rèn)證的方式,最終實(shí)現(xiàn)數(shù)據(jù)的安全傳送。

3) 還可以利用計(jì)算機(jī)技術(shù)來充分減少Web應(yīng)用程序的安全通信方面帶來的各種負(fù)面影響:

Ajax:即為一種創(chuàng)建交互式的網(wǎng)頁開發(fā)技術(shù),廣泛受到了信息界的好評(píng)和關(guān)注。利用Ajax技術(shù)可以實(shí)現(xiàn)后臺(tái)異步數(shù)據(jù)有效讀取的功能,從而對(duì)用戶操作的便捷性進(jìn)行全方位的提升。在進(jìn)行互聯(lián)網(wǎng)技術(shù)提升的過程當(dāng)中,最重要的部分就是提升用戶本身的操作體驗(yàn),從而實(shí)現(xiàn)用戶可以在頁面基礎(chǔ)之上和程序進(jìn)行良好的互動(dòng)連接。值得注意的是利用此項(xiàng)技術(shù)的時(shí)間是相對(duì)較短的,因此在應(yīng)用方面還存在相當(dāng)大的缺陷和漏洞。在此種情況下,應(yīng)該在其中進(jìn)行相對(duì)應(yīng)的嵌入式的保護(hù),從而對(duì)程序進(jìn)行有效的保護(hù)。在一般情況下,利用Ajax技術(shù)進(jìn)行應(yīng)用程序的開發(fā)過程當(dāng)中,在頁面發(fā)生變化的情況下就需要及時(shí)的通知用戶,并且還要在服務(wù)器和客戶端之間建立起專項(xiàng)的通道,從而對(duì)其輸入的信息進(jìn)行檢查。如果服務(wù)器需要開展用戶的相關(guān)認(rèn)證工作的情況下,就應(yīng)該在所用的服務(wù)器的腳本方面上進(jìn)行展開,需要最大程度的對(duì)認(rèn)證工作的質(zhì)量以及信息的被盜取效率進(jìn)行降低。

Cookie:即為一種增強(qiáng)用戶身份識(shí)別工作的簡(jiǎn)單性和準(zhǔn)確性所建立的數(shù)據(jù)緩存,可以幫助應(yīng)用程序的服務(wù)器對(duì)用戶的身份信息進(jìn)行有效快速的識(shí)別。利用了此項(xiàng)技術(shù)之后,在用戶進(jìn)行登錄之后,就會(huì)對(duì)用戶注冊(cè)的信息進(jìn)行記錄,放入到緩存當(dāng)中,在下一次用戶進(jìn)行重復(fù)訪問的時(shí)候就會(huì)快速的提取到用戶的相關(guān)信息,實(shí)現(xiàn)了信息認(rèn)證程序當(dāng)中的重復(fù)性工作。在利用cookie技術(shù)進(jìn)行開發(fā)的時(shí)候,在過去的時(shí)間當(dāng)中經(jīng)常會(huì)受到黑客的攻擊,從而對(duì)用戶的信息數(shù)據(jù)造成泄露,造成了相當(dāng)大的損失。其中web蠕蟲就是攻擊cookie技術(shù)的主要病毒形式。以其極強(qiáng)的破壞力和傳播力可以對(duì)其應(yīng)用程序的安全漏洞進(jìn)行全方位的傳播,從而對(duì)網(wǎng)頁當(dāng)中的腳本以及回話信息進(jìn)行竊取。另外一方面,CSRF也可以ν站進(jìn)行偽裝,從而騙取用戶的信任,對(duì)該網(wǎng)站進(jìn)行利用。

JavaScript:即為一種安全性能較完善的腳本語言,可以對(duì)對(duì)象和事件來進(jìn)行驅(qū)動(dòng)。利用此項(xiàng)技術(shù)對(duì)網(wǎng)頁進(jìn)行開發(fā)的時(shí)候是具有生動(dòng)簡(jiǎn)潔的優(yōu)勢(shì)的,在語言的掌握方面是相對(duì)簡(jiǎn)潔的,在現(xiàn)階段的開發(fā)應(yīng)用過程當(dāng)中收到了廣大程序員的歡迎。在現(xiàn)階段當(dāng)中,函數(shù)句柄劫持以及DOM劫持屬于此項(xiàng)技術(shù)當(dāng)中最主要的安全威脅。函數(shù)句柄劫持,屬于黑客當(dāng)中常見的供給手段,對(duì)網(wǎng)頁的那個(gè)中的方法或者變量值進(jìn)行重新定義或者賦值的方式來實(shí)現(xiàn)對(duì)原本程序的攻擊,篡改原本的程序。在很多情況下,被劫持函數(shù)的原本語句是不會(huì)被黑客保留的,此種方式下的函數(shù)反劫持工作是具有相當(dāng)高的難度的,因此是難以實(shí)現(xiàn)的。DOM劫持也是比較常見的一種劫持方式,在對(duì)象被惡意代碼進(jìn)行劫持之后,函數(shù)句柄的反劫持手段所發(fā)揮的作用就會(huì)被受到限制。在現(xiàn)階段的實(shí)際應(yīng)用環(huán)境當(dāng)中,相關(guān)的惡意代碼是完全不會(huì)被包魯?shù)皆镜木浔北井?dāng)中的,會(huì)給函數(shù)的反劫持帶來巨大的限制作用。因此,目前狀態(tài)下的JavaScript函數(shù)反劫持技術(shù)也是一個(gè)相當(dāng)重大的難點(diǎn),在對(duì)其進(jìn)行開發(fā)的過程當(dāng)中需要對(duì)反劫持的相關(guān)技術(shù)提出防范建議,在Web應(yīng)用程序的防范方面上需要利用服務(wù)器端的驗(yàn)證代碼來對(duì)其進(jìn)行驗(yàn)證,從而對(duì)用戶提交的數(shù)據(jù)內(nèi)容信息進(jìn)行客戶端方面的校驗(yàn),實(shí)現(xiàn)對(duì)邏輯相關(guān)業(yè)務(wù)的處理,加強(qiáng)對(duì)腳本語言的驗(yàn)證,在客戶端進(jìn)行驗(yàn)證,從而做到從根本上安全性能的防范。

比如在一個(gè)應(yīng)用程序當(dāng)中,需要實(shí)現(xiàn)點(diǎn)擊登錄的功能,在進(jìn)行初始認(rèn)證的過程當(dāng)中,就需要對(duì)應(yīng)用程序進(jìn)行重定向的操作,最終指向OracleAS SSO Server,在這個(gè)過程當(dāng)中可以檢查該用戶是否是一個(gè)有效的cookie集;如果沒有,就需要在用戶進(jìn)行提交用戶名和密碼的時(shí)候進(jìn)行驗(yàn)證。在用戶提交之后,就可以在服務(wù)器當(dāng)中進(jìn)行密碼驗(yàn)證并且在瀏覽器當(dāng)中設(shè)置一個(gè)SSO cookie??梢杂脕碓诜?wù)器和瀏覽器之間實(shí)現(xiàn)通過HTTP的方式來對(duì)客戶進(jìn)行登錄驗(yàn)證。在這個(gè)過程當(dāng)中,是不能被第三方進(jìn)行設(shè)置或者讀取的,需要在一定的特定時(shí)間之后才會(huì)過期,這個(gè)過期的時(shí)間長(zhǎng)短是由管理員來進(jìn)行設(shè)置的。在整個(gè)服務(wù)器和合作應(yīng)用程序進(jìn)行登錄的過程當(dāng)中,首先需要用戶訪問合作伙伴應(yīng)用程序A,確定沒有被進(jìn)行認(rèn)證;之后應(yīng)用程序就會(huì)將其進(jìn)行重定向到SSO Server;之后就會(huì)進(jìn)行用戶名密碼頁面的顯示,并且進(jìn)行密碼驗(yàn)證的時(shí)候?qū)ookie進(jìn)行設(shè)置,就會(huì)在SSO證書當(dāng)中進(jìn)行存儲(chǔ),之后就會(huì)通過認(rèn)證用戶登錄合作伙伴應(yīng)用程序的加密令牌來將用戶進(jìn)行重定向到合作伙伴的應(yīng)用程序當(dāng)中,這樣就完成了A程序當(dāng)中的cookie設(shè)置,如圖3所示

4 結(jié)語

綜上所述,Java Web應(yīng)用程序的開發(fā)是需要建立在Java的基礎(chǔ)知識(shí)之上的,在和Web技術(shù)建立起緊密的聯(lián)系之后,從而對(duì)其進(jìn)行應(yīng)用程序的開發(fā)。在這個(gè)過程當(dāng)中,需要針對(duì)Web技術(shù)當(dāng)中存在的漏洞進(jìn)行安全方面的防護(hù),從而使得系統(tǒng)安全、網(wǎng)絡(luò)安全以及數(shù)據(jù)庫(kù)安全都可以得到緊密的連接。在進(jìn)行分析的時(shí)候,需要根據(jù)實(shí)際情況來對(duì)數(shù)據(jù)庫(kù)的安全環(huán)節(jié)進(jìn)行建立,從而制定出切實(shí)可行的安全對(duì)策,利用各個(gè)層次之間的安全策略,保障數(shù)據(jù)庫(kù)的安全。

參考文獻(xiàn):

[1] 彭昊辰,鄭金磊.Java Web應(yīng)用程序安全技術(shù)研究[J].中小企業(yè)管理與科技,2016(8):261-261.

[2] 裴德志.基于J2EE的WEB安全研究[D].武漢理工大學(xué),2006.

[3] 陳華.Java Web應(yīng)用程序安全技術(shù)研究[J].電腦編程技巧與維護(hù),2010(24):123-124,139.