當前位置:

Java專業(yè)語言輔導:動態(tài)調(diào)用動態(tài)語言之Java腳本API(4)

發(fā)表時間:2015/8/28 11:38:49 來源:互聯(lián)網(wǎng) 點擊關注微信:關注中大網(wǎng)校微信
關注公眾號

ScriptEngineManager 類

ScriptEngineManager 可能是腳本包中惟一一個經(jīng)常使用的具體類;其他大多數(shù)都是接口。它或許是腳本包中惟一的一個要直接或間接地(通過 Spring Framework 之類的依賴性注入機制)實例化的類。ScriptEngineManager 可以使用以下三種方式返回腳本引擎:

·通過引擎或語言的名稱,比如說 清單 1 請求 JavaScript 引擎。

·通過該語言腳本共同使用的文件擴展名,比如說 Ruby 腳本的 .rb。

·通過腳本引擎聲明的、知道如何處理的 MIME 類型。

本文示例為什么要使用 JavaScript?

本文中的 Hello World 示例使用了部分 JavaScript 腳本,這是因為 JavaScript 代碼易于理解,不過主要還是因為 Sun Microsystems 和 BEA Systems 所提供的 Java 6 運行時環(huán)境附帶有基于 MozillaRhino 開源 JavaScript 實現(xiàn)的 JavaScript 解釋器。使用 JavaScript,我們無需在類路徑中添加腳本語言 JAR 文件。

ScriptEngineManager 間接查找和創(chuàng)建腳本引擎。也就是說,當實例化腳本引擎管理程序時,ScriptEngineManager 會使用 Java 6 中新增的服務發(fā)現(xiàn)機制在類路徑中查找所有注冊的 javax.script.ScriptEngineFactory 實現(xiàn)。這些工廠類封裝在 Java 腳本 API 實現(xiàn)中;也許您永遠都不需要直接處理這些工廠類。

ScriptEngineManager 找到所有的腳本引擎工廠類之后,它會查詢各個類并判斷是否能夠創(chuàng)建所請求類型的腳本引擎 —— 清單 1 中為 JavaScript 引擎。如果工廠說可以創(chuàng)建所需語言的腳本引擎,那么管理程序?qū)⒁蠊S創(chuàng)建一個引擎并將其返回給調(diào)用者。如果沒有找到所請求語言的工廠,那么管理程序?qū)⒎祷?null,清單 1 中的代碼將檢查 null 返回值并做出預防。

編輯推薦

JAVA認證考試報考指南 / 更多JAVA考試資料

(責任編輯:zyc)

2頁,當前第1頁  第一頁  前一頁  下一頁
最近更新 考試動態(tài) 更多>