張巖
[摘要]在網(wǎng)頁(yè)的制作過(guò)程中,如果僅僅使用一種語(yǔ)言,如,Java或者只使用JavaScript語(yǔ)言,會(huì)出現(xiàn)諸多的問(wèn)題,筆者結(jié)合在制作的過(guò)程中出現(xiàn)的問(wèn)題,進(jìn)行深入的研究,進(jìn)一步探索如何在動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)中,將這兩種語(yǔ)言進(jìn)行整合,在程序處理流程上,進(jìn)行簡(jiǎn)化。從而,為網(wǎng)上客戶在解決方案方面,提供更加便利的條件。
[關(guān)鍵詞]動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)JavaScriptJava
[中圖分類號(hào)]TP393.092.2[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]2095-3437(2012)08-0063-02
上網(wǎng)沖浪,在當(dāng)前信息時(shí)代快速發(fā)展的今天,是個(gè)既時(shí)髦又時(shí)尚的事。但是,我們會(huì)發(fā)現(xiàn),各種“蟲”開始隨之在網(wǎng)上“安營(yíng)扎寨”了。網(wǎng)絡(luò)軟件開發(fā)商,在網(wǎng)民登錄Internet的狂潮下,被激發(fā)出較高漲的開發(fā)熱情。Web站點(diǎn)開發(fā)者,也在努力探尋付出少但是能吸引客戶的工具。原因在于物理上存儲(chǔ)著HTML文件集和文件的網(wǎng)絡(luò)服務(wù)器的支配權(quán)存在限制。Javascript在網(wǎng)頁(yè)上能夠隨意浮動(dòng),掌控Web、改變Web的容貌,使得HTML得以生存,并因此而出現(xiàn)生機(jī)。本文主要探討Javascript語(yǔ)言和Java語(yǔ)言,在動(dòng)態(tài)頁(yè)面制作過(guò)程中的整合,既照顧到查詢的效率,同時(shí)也方便客戶的使用。
一、 Javascript與Java兩種語(yǔ)言的特點(diǎn)
Java語(yǔ)言是網(wǎng)絡(luò)上多個(gè)計(jì)算機(jī)的執(zhí)行程序,是一項(xiàng)較為簡(jiǎn)單、易操作的技術(shù)。Java語(yǔ)言是一項(xiàng)網(wǎng)絡(luò)編程的所必需的,具有較強(qiáng)的移植能力,可以實(shí)現(xiàn)多線程處理和能夠輕松聯(lián)網(wǎng)的編程工具。Java語(yǔ)言可以實(shí)現(xiàn)Internet從通訊工具向具有可操性的應(yīng)用程序的網(wǎng)絡(luò)轉(zhuǎn)型。Java程序包括三種類型,一種為小型的Java程序,小服務(wù)Java程序和應(yīng)用Java程序。其中的小服務(wù)Java程序?qū)儆谠赪eb服務(wù)器中運(yùn)行的特殊程序,對(duì)服務(wù)器新的鏈接做出回應(yīng),通過(guò)鏈接來(lái)調(diào)用小服務(wù)程序的service()。
Javascript是LiveScript的前身,與Java語(yǔ)言程序設(shè)計(jì)概念的結(jié)合,形成的另一種網(wǎng)絡(luò)編程語(yǔ)言。Javascript能夠嵌入HTML文檔中,在文檔中直接通過(guò)編碼來(lái)實(shí)現(xiàn)腳本設(shè)計(jì)語(yǔ)言。適用于客戶Web應(yīng)用程序和組件的開發(fā)。在Web瀏覽器中,能夠?qū)崿F(xiàn)對(duì)Web頁(yè)面文中的執(zhí)行程序的編寫。主要是對(duì)在服務(wù)器中Web瀏覽器所提供的信息進(jìn)行處理加工,并對(duì)瀏覽器進(jìn)行更新的程序,被多種瀏覽器支持,是WWW上較為常用的編程語(yǔ)言。在適用范圍上,可以開發(fā)交互式Web頁(yè)面,并集成Java小程序與ActiveX控件和瀏覽器插入件、服務(wù)器腳本等對(duì)象,形成分布式應(yīng)用程序。
兩種語(yǔ)言各具特色,Java語(yǔ)言能完成Web嵌入頁(yè)的可執(zhí)行任務(wù),顯示出強(qiáng)大的編程功能,但是只能在有限的瀏覽器窗口中操作完成。Javascript語(yǔ)言可以在HTML文檔中進(jìn)行,對(duì)Web頁(yè)面的時(shí)間腳本做出響應(yīng),實(shí)現(xiàn)客戶對(duì)瀏覽器全方位的訪問(wèn)。
二、Javascript與Java兩種語(yǔ)言的差異
①Java面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,適合于Internet應(yīng)用程序開發(fā);②而JavaScript是一種可以嵌入Web頁(yè)面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言。③JavaScript是基于對(duì)象的,而Java是面向?qū)ο蟮恼Z(yǔ)言。程序再簡(jiǎn)單也必須設(shè)計(jì)對(duì)象。④JavaScript是種腳本語(yǔ)言,軟件的制作可以脫離網(wǎng)絡(luò),實(shí)現(xiàn)與用戶交互。是基于對(duì)象和事件驅(qū)動(dòng)的編程語(yǔ)言。⑤Java的源代碼須經(jīng)過(guò)編譯后,傳遞到客戶端執(zhí)行,要求客戶端配備相應(yīng)的解釋器。JavaScript屬于解釋性編程語(yǔ)言,以文本格式代碼發(fā)往客戶端前,不無(wú)需編譯,瀏覽器就能執(zhí)行。⑥Java代碼是存在與獨(dú)立的文檔中的以字節(jié),用來(lái)標(biāo)識(shí)。JavaScript代碼是可動(dòng)態(tài)裝載、方便快捷,嵌入HTML文檔中的文本字符,用來(lái)標(biāo)識(shí)。
三、實(shí)現(xiàn)Java執(zhí)行JavaScript 的整合
使用Java?Servlet編程,讓 HTML 頁(yè)面內(nèi)Java 類和 JavaScript腳本進(jìn)行整合,將所有使用JavaScript調(diào)用Java函數(shù)的HTML頁(yè)面,都傳送到這個(gè)Servlet中處理,JavaScript結(jié)構(gòu)來(lái)替換所有的Java調(diào)用。如,
public static void main(String[] args) {
ScriptEngineManager sem = new ScriptEngineManager();
//添加上下文綁定數(shù)據(jù)
SimpleBindings bindings = new SimpleBindings();
bindings.put("aaa_av", new Double(10000.1));
bindings.put("bbb_av", new Double(20000.2));
ScriptEngine engine = sem.getEngineByExtension("js");
engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
try{
//直接解析
Object res = engine.eval(" res = Math.max(aaa_av , bbb_av) + aaa_av");
System.out.println(res);
//創(chuàng)建腳本
String script = "function getMax() "
+ "{ return Math.max(aaa_av , bbb_av)}";
//執(zhí)行腳本
engine.eval(script);
Invocable inv = (Invocable) engine;
//執(zhí)行方法并傳遞參數(shù)
Object obj = inv.invokeFunction("getMax", null);
//打印結(jié)果
System.out.println(obj);
}catch(Exception ex){
ex.printStackTrace();
}
JavaScript和Java是同VBScript與ActiveX,在目前應(yīng)用最廣泛的網(wǎng)絡(luò)編程技術(shù)。由于兩者各具特色,Java可以將網(wǎng)頁(yè)增強(qiáng)動(dòng)感,JavaScript編寫簡(jiǎn)單快速,在文檔中修改也很簡(jiǎn)單知識(shí)功能少些,因此將兩者在運(yùn)用中加以整合,能夠使動(dòng)態(tài)網(wǎng)頁(yè)的設(shè)計(jì)效果更理想。
[參考文獻(xiàn)]
[1]魏芳蓮.用JavaScript編寫表單驗(yàn)證程序[N].電腦報(bào),2001.
[2]潘賢林.用 JavaScript 批量瀏覽圖片[N].電腦報(bào),2001.
[3]曹加銀.嵌入式JavaScript對(duì)象實(shí)現(xiàn)技術(shù)研究[D].華中科技大學(xué),2004.
[4]李英各.嵌入式瀏覽器中JavaScript的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2005.
[5]張?jiān)圃?JavaScript在動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)中的應(yīng)用[J].科技信息,2007,(5).
[責(zé)任編輯:戴禎杰]