基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf

基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf

ID:52239215

大小:333.50 KB

頁數(shù):6頁

時(shí)間:2020-03-25

基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf_第1頁
基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf_第2頁
基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf_第3頁
基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf_第4頁
基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf_第5頁
資源描述:

《基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn).pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第4O卷第5期J江.J漢ian大gh學(xué)an學(xué)Un報(bào)iv(.(自Na然t.科Sc學(xué)i.E版d.))Vo1.40No.52012年10月Oct.2012基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn)李軼(江漢大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,湖北武漢430056)摘要:在JavaScript語言重新受到重視的今天,其運(yùn)行環(huán)境也正逐漸從傳統(tǒng)的Web客戶端向服務(wù)器端延伸。作為服務(wù)器端JavaScript引擎的典型代表,Rhino引擎具有廣泛的平臺(tái)支持和應(yīng)用基礎(chǔ)。通過將Rhino引擎置于一個(gè)標(biāo)準(zhǔn)的Ja

2、vaservlet中.便可構(gòu)造出一個(gè)支持JavaScript的服務(wù)端腳本容器借助Rhino引擎,Web開發(fā)者不僅能在腳本容器內(nèi)部訪問Java對(duì)象,而且還獲得了整個(gè)Java平臺(tái)的豐富類庫及應(yīng)用框架的支持。與此同時(shí),服務(wù)器端JavaScript還統(tǒng)一了Web開發(fā)的前、后臺(tái)語言,降低了開發(fā)難度并提高了開發(fā)效率關(guān)鍵詞:JavaScript引擎:服務(wù)頁面:Javaservlet中圖分類號(hào):TP393.4文獻(xiàn)標(biāo)志碼:A文章編號(hào)1.2遵循JavaScriptECMA一262標(biāo)準(zhǔn)O引言JavaScript語言的國際標(biāo)準(zhǔn)

3、包括:ECMA一262、在JavaScript語言重新受到重視的今天,其得ECMA一327和ECMA一357,其中較為通行的標(biāo)準(zhǔn)到了越來越廣泛的應(yīng)用。與此同時(shí),其運(yùn)行環(huán)境為ECMA一262E引。由于該標(biāo)準(zhǔn)也是Rhino引擎的也正逐漸從傳統(tǒng)的Web客戶端向服務(wù)端延伸H]。支持標(biāo)準(zhǔn),因此ECMA一262也將成為本容器的許多JavaScript腳本引擎紛紛出現(xiàn),主要代表JavaScript標(biāo)準(zhǔn)。包括:SpiderMonkey_2]、Node.js[。和Rhino_4]o而1.3支持CommJS模塊API標(biāo)準(zhǔn)I

4、.I.1Rhino作為基于Java平臺(tái)的JavaScript引擎,其CommJS¨6]是目前新興的服務(wù)器端JavaScript借助Java平臺(tái)的依托更加具有廣泛的平臺(tái)支持API標(biāo)準(zhǔn)。其主要目的是為服務(wù)器端JavaScript和應(yīng)用基礎(chǔ)。通過將Rhino引擎置于一個(gè)標(biāo)準(zhǔn)的應(yīng)用的開發(fā)制定一個(gè)通用的API標(biāo)準(zhǔn),涵蓋了模Javaservlet中,便可構(gòu)造出一個(gè)支持JavaScript塊、二進(jìn)制數(shù)據(jù)對(duì)象、編碼、I/0和文件系統(tǒng)等的服務(wù)端腳本容器。方面。其中CommJS模塊API標(biāo)準(zhǔn)是基于模塊化大規(guī)模應(yīng)用開發(fā)的基礎(chǔ)

5、,因此本容器將以1容器的主要特性CommJS模塊標(biāo)準(zhǔn)1.1.1l7為依據(jù),為基于模塊化1.1嵌入式JavaScript腳本的JavaScript服務(wù)器端開發(fā)提供支持。為與目前主流基于Web服務(wù)頁面技術(shù)(如:1.4JavaScript表達(dá)式輸出JSP、ASPX、PHP等)保持一致,本容器以服務(wù)頁為簡化JavaScript變量及表達(dá)式訪問和輸出,面方式執(zhí)行服務(wù)器端JavaScript腳本,即本容器支持與JSPEL表達(dá)式語言類似的表達(dá)式JavaScript腳本通過標(biāo)記“<%”與“%>”嵌入于一個(gè)訪問方法,即通

6、過表達(dá)式${JavaScript表達(dá)式}可標(biāo)準(zhǔn)html文檔中。容器通過對(duì)整個(gè)服務(wù)頁面的解直接獲取任意有效JavaScript表達(dá)式的字符串值。析和轉(zhuǎn)換得到一個(gè)完整的JavaScript腳本,之后2容器設(shè)計(jì)調(diào)用Rhino引擎執(zhí)行該腳本,最終得到標(biāo)準(zhǔn)的html輸出。特別的,為與現(xiàn)有服務(wù)頁面技術(shù)相區(qū)2.1架構(gòu)別,本容器服務(wù)頁面文件的擴(kuò)展名定義為“.jsx”。為簡化設(shè)計(jì),最大化地利用現(xiàn)有資源和技收稿日期:2012—03—22作者簡介:李軼(1976一),男,實(shí)驗(yàn)師,碩士,研究方向:網(wǎng)絡(luò)管理。2012年第5期李軼

7、:基于Rhino引擎的服務(wù)器端JavaScript腳本容器設(shè)計(jì)與實(shí)現(xiàn)57術(shù),本容器采用基于JavaServlet的二層架構(gòu)。JavaScript對(duì)象封裝.用于向客戶輸出http響應(yīng)。外層為任一符合ServletAPIE。標(biāo)準(zhǔn)的Servlet容器其包含的方法與接口HttpServletResponse完全(例如ApacheTomcat)。內(nèi)層為JavaSefipt容器相同。Servlet。其將iSX服務(wù)頁面轉(zhuǎn)換為服務(wù)器端2.3.3Out對(duì)象Out對(duì)象用于向Web客戶輸出JavaScript腳本,然后調(diào)用R

8、hino引擎,用以執(zhí)行字符文本。其是類iava.io.PrintWriter的JavaScript該JavaScript腳本,具體架構(gòu)如圖1所示。對(duì)象封裝。其包含的方法與iava.io.PrintWriter完全相同。2-3.4Session對(duì)象Session對(duì)象是ServletAPI接口javax.servlet.http.HttpSession的JavaScript對(duì)象封裝.用于管理與服務(wù)器不同客戶間的會(huì)話。其包含的方法與接口HttpS

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。