国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

JSR-223(Scripting for the Java Platform) 實(shí)現(xiàn)

2019-11-18 15:05:38
字體:
供稿:網(wǎng)友

  最新的java主版本(Java SE 6,又稱Mustang)現(xiàn)在正處于beta版本階段。雖然該版本并不像Java 5的更新那么多,但是它確實(shí)有一些有趣的新特性。毋庸置疑,其中的一個(gè)就是對(duì)腳本編寫語言的支持。
 
  諸如php、Ruby、javascript、Python(或Jython)之類的腳本編寫語言被廣泛應(yīng)用于許多領(lǐng)域,并由于其靈活性和簡(jiǎn)單性而大受歡迎。由于腳本是被解釋而不是被編譯的,所以可以輕松地從命令行運(yùn)行和測(cè)試它們。這就壓縮了編碼/測(cè)試周期,并提高了開發(fā)人員的生產(chǎn)率。腳本通常是動(dòng)態(tài)鍵入的,其語法極富表現(xiàn)力,所編寫出的算法要比Java中的等效算法簡(jiǎn)明得多。使用起來通常也很有趣。
 
  在很多情況下,從Java使用腳本編寫語言會(huì)很有用,比如為Java應(yīng)用程序提供擴(kuò)展,以便用戶可以編寫自己的腳本進(jìn)行擴(kuò)展或定制化核心功能。腳本編寫語言可讀性更強(qiáng),也更輕易編寫,所以(從技術(shù)上來說)它們是用于為終端用戶提供根據(jù)需求定制化產(chǎn)品的可能性的理想語言。
 
  早已經(jīng)有許多Java可用的獨(dú)立腳本編寫包了,包括Rhino、Jacl、Jython、BeanShell、JRuby等。新消息是Java 6通過一個(gè)標(biāo)準(zhǔn)接口為腳本編寫語言提供了內(nèi)置支持。
 
  Java 6提供對(duì)JSR-223規(guī)范的全面支持。該規(guī)范提供了一種從Java內(nèi)部執(zhí)行腳本編寫語言的方便、標(biāo)準(zhǔn)的方式,并提供從腳本內(nèi)部訪問Java資源和類的功能。Java 6附帶了與Mozilla Rhino的Javascript 實(shí)現(xiàn)的內(nèi)置集成。基于該規(guī)范,對(duì)諸如PHP、Groovy和BeanShell之類的其它腳本編寫語言的支持也正在進(jìn)行中。本文關(guān)注的是Rhino實(shí)現(xiàn),但是其它語言應(yīng)該是基本相同的。
 
  那么如何在Java 5中使用JSR-223的實(shí)現(xiàn)呢? 偶經(jīng)過仔細(xì)地研究, 終于找到了解決方法.... 
 
     1. 干活要從理論開始....
 
     根據(jù)JavaDoc的說法, javax.script.ScriptEngineManager 是通過JAR規(guī)范中所謂的服務(wù)提供商(Service PRovider)方法來在庫中檢索 javax.script.ScriptEngineFactory 實(shí)現(xiàn)類并自動(dòng)注冊(cè)的. OK, 了解了這個(gè)就好辦了, 預(yù)備開始干活哈....
 
     2. 開始動(dòng)手干活了.... :)
 
     首先制作JSR-223規(guī)范實(shí)現(xiàn)的包(包括SUN的JavaScript默認(rèn)實(shí)現(xiàn)):
     使用WinRAR等壓縮工具打開JRE6中rt.jar文件(注重要提前備份!我的就是備份為jsr-233.jar), 如圖1所示:
JSR-223(Scripting for the Java Platform) 實(shí)現(xiàn)(圖一)
圖1 rt.jar的目錄結(jié)構(gòu)

     OK,下面開始刪除文件.... 除了com.sun.script、sun.org、javax.script、META-INF目錄之外,其余的目錄全都刪除。刪除后如下圖所示:
JSR-223(Scripting for the Java Platform) 實(shí)現(xiàn)(圖二)
圖2 刪除后的目錄結(jié)構(gòu)

     目錄做好之后,下面開始按照J(rèn)AR規(guī)范所描述的Service Provider方法來創(chuàng)建文件以便于 javax.script.ScriptEngineManager 的檢索:
  1. 在META-INF目錄下建立一個(gè)名稱為 services 的目錄。
  2. 在 services 目錄中新建名稱為 javax.script.ScriptEngineFactory 的空文件。
  3. 在 javax.script.ScriptEngineFactory 文件中,寫入“com.sun.script.javascript.RhinoScriptEngineFactory”數(shù)據(jù),注重不寫引號(hào)。

JSR-223(Scripting for the Java Platform) 實(shí)現(xiàn)(圖三)
圖3 新加入的services目錄和文件

     最后,將所有改動(dòng)保存到j(luò)sr-223.jar文件中,工作完成!



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 焉耆| 辽中县| 祁东县| 宣武区| 新蔡县| 康保县| 白玉县| 杭锦旗| 沐川县| 水富县| 盐池县| 石屏县| 乳源| 遵化市| 股票| 巴里| 巢湖市| 右玉县| 伊宁市| 宣城市| 忻城县| 香河县| 洪江市| 新竹县| 卫辉市| 囊谦县| 容城县| 南通市| 光山县| 临湘市| 阜南县| 汝城县| 奉贤区| 辽中县| 桑日县| 荣成市| 丁青县| 福贡县| 武威市| 河南省| 乐至县|