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

首頁 > 學院 > 開發設計 > 正文

Java SE 6之腳本引擎 讓程序如虎添翼

2019-11-18 15:27:02
字體:
來源:轉載
供稿:網友

  現在java SE 5已經發布,在明年Java SE 6也將發布。Java SE 6較Java SE5有了很大的改進,它的功能更強,而且是專為Vista所設計,這就意味著Java SE 6將是Vista上的最佳選擇。而Java SE 6所提供的最眾多的新功能必將成為它的最大賣點。

  Java SE 6最引人注目的新功能之一就是內嵌了腳本支持。在默認情況下,Java SE 6只支持javascript,但這并不以為著Java SE 6只能支持Javascript。在Java SE 6中提供了一些接口來定義一個腳本規范,也就是JSR223。通過實現這些接口,Java SE 6可以支持任意的腳本語言(如php或Ruby)。

  運行第一個腳本程序

  在使用Java SE 6運行腳本之前,必須要知道你的Java SE 6支持什么腳本語言。在javax.script包中有很多的類,但這些類中最主要的是ScriptEngineManager。可以通過這個類得到當前Java SE 6所支持的所有腳本。如下面例子將列出所有可以使用的腳本引擎工廠。

import javax.script.*;
import java.io.*;
import java.util.*;
import static java.lang.System.*;
public class ListScriptEngines
{
 public static void main(String args[])
 {
  ScriptEngineManager manager = new ScriptEngineManager();
  // 得到所有的腳本引擎工廠
  List<ScriptEngineFactory> factories = manager.getEngineFactories();
  // 這是Java SE 5 和Java SE 6的新For語句語法
  for (ScriptEngineFactory factory: factories)
  {
   // 打印腳本信息
   out.    "Version: %s%n" +
    "Language name: %s%n" +
    "Language version: %s%n" +
    "Extensions: %s%n" +
    "Mime types: %s%n" +
    "Names: %s%n",
    factory.getEngineName(),
    factory.getEngineVersion(),
    factory.getLanguageName(),
    factory.getLanguageVersion(),
    factory.getExtensions(),
    factory.getMimeTypes(),
    factory.getNames());
   // 得到當前的腳本引擎
   ScriptEngine engine = factory.getScriptEngine();
  }
 }
}
  上面的例子必須要在Java SE 6中編譯。其中import static java.lang.System.*是新的語法,將System中的所有靜態成員進行引用,以后就可以直接使用out、in或err了。

  通過運行java ListScriptEngines,將顯示如下信息

Name: Mozilla Rhino
Version: 1.6 release 2
Language name: ECMAScript
Language version: 1.6
Extensions: [js]
Mime types: [
application/javascript, application/ecmascript, text/javascript, text/ecmascript]
Names: [js, rhino, JavaScript, javascript, ECMAScript, ecmascript]
  在最下面一行是腳本的別名,也就是使用它們中的任意一個都可以。得到一個具體的腳本引擎有3種方法。

  ·根據擴展名得到腳本引擎

ScriptEngine engine = manager.getEngineByExtension("js");
  getEngineByExtension的參數就是Extensions:[js]中[…]里的部分。

  ·根據Mime類型得到腳本引擎

ScriptEngine engine = manager.getEngineByMimeType("text/javascript");
  getEngineByMimeType的參數可以是Mime types: [application/javascript, application/ecmascript, text/javascript, text/ecmascript]中的任何一個,可以將text/javascript改成text/ecmascript。

  ·根據名稱得到腳本引擎



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉峪关市| 婺源县| 江安县| 民勤县| 得荣县| 东兰县| 新田县| 蚌埠市| 谢通门县| 揭东县| 莱西市| 贺州市| 虹口区| 七台河市| 柳江县| 秭归县| 瑞安市| 安化县| 巩义市| 镶黄旗| 依兰县| 正定县| 泸州市| 卢氏县| 古田县| 丁青县| 肃宁县| 常山县| 舞钢市| 三台县| 淮滨县| 白玉县| 镇原县| 云南省| 玉屏| 安宁市| 巴林右旗| 银川市| 凤庆县| 木里| 金塔县|