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