首页
|
Vista
|
WinXP
|
Java
|
程序开发
|
SEO优化
|
网络应用
|
硬件资讯
|
计算机等级认证
|
网站建设
|
问题帮助
|
图形图象
|
程序论坛
微软认证
|
思科认证
|
Java认证
|
Linux认证
|
Oracle认证
|
程序员
|
电子商务
|
网络工程
|
信息系统
|
软件设计
|
信息技术
|
网络管理
Java首页
|
Applets
|
Socket编程
|
JSP
|
Java与XML
|
JavaMail
|
JavaDelphi
|
JavaBeans
|
J2SE
|
J2ME
|
EJB
|
热门:
计算机
Java
vista
服务器
系统
计算机考试
数据库
SQL
北大青鸟
使用技巧
您现在的位置:
立珊计算机专业网
>
程序开发
>
编程语言
>
Java
>
J2EE
>> 文章内容
站内搜索
动态调用动态语言之Java脚本API
2008-01-15 10:09:25 来源:立珊网络计算机专业网
推荐给好友
收藏本页
保存本文
ScriptEngine 接口
如前所述,代码将使用 ScriptEngine 实例执行脚本。脚本引擎充当脚本代码和最后执行代码的底层语言解释器或编译器之间的中间程序。这样,我们就不需要了解各个解释器使用哪些类来执行脚本。比如说,JRuby 脚本引擎可以将代码传递给 JRuby 的 org.jruby.Ruby 类的一个实例,首先将脚本编译成中间形式,然后再调用它计算脚本并处理返回值。脚本引擎实现隐藏了一些细节,包括解释器如何与 Java 代码共享类定义、应用程序对象和输入/输出流。
图 1 显示了应用程序、Java 脚本 API 和 ScriptEngine 实现、脚本语言解释器之间的总体关系。我们可以看到,应用程序只依赖于脚本 API,它提供了 ScriptEngineManager 类和 ScriptEngine 接口。ScriptEngine 实现组件处理使用特定脚本语言解释器的细节。
您可能会问:如何才能获取脚本引擎实现和语言解释器所需的 JAR 文件呢?最好的方法是在 java.net 上托管的开源 Scripting 项目中查找脚本引擎实现(请参阅 参考资料)。您可以在 java.net 上找到许多语言的脚本引擎实现和其他网站的链接。Scripting 项目还提供了各种链接,通过这些链接可以下载受支持的脚本语言的解释器。
在 清单 1 中,main() 方法将 ScriptEngine 传递给各个方法用于计算该方法的 JavaScript 代码。第一个方法如清单 2 所示。invokeHelloScript() 方法调用脚本引擎的 eval 方法计算和执行 JavaScript 代码中的特定字符串。ScriptEngine 接口定义了 6 个重载的 eval() 方法,用于将接收的脚本当作字符串或 java.io.Reader 对象计算,java.io.Reader 对象一般用于从外部源(例如文件)读取脚本。
清单 2. invokeHelloScript 方法
private static void invokeHelloScript(ScriptEngine jsEngine) throws ScriptException {
jsEngine.eval("println('Hello from JavaScript')");
}
脚本执行上下文
HelloScriptingWorld 应用程序中的示例脚本 使用 JavaScript println() 函数向控制台输出结果,但是我们拥有输入和输出流的完全控制权。脚本引擎提供了一个选项用于修改脚本执行的上下文,这意味着我们可以修改标准输入流、标准输出流和标准错误流,同时还可以定义哪些全局变量和 Java 对象对正在执行的脚本可用。
invokeHelloScript() 方法中的 JavaScript 将 Hello from JavaScript 输出到标准输出流,在本例中为控制台窗口。(清单 6 含有运行 HelloScriptingWorldApplication 时的完整输出。)
转贴于:立珊网络计算机专业网站
共6页:
上一页
[1]
[2]
3
[4]
[5]
[6]
下一页
相关关键字:
动态
脚本
语言
调用
Java
引擎
方法
使用
代码
对象
上一篇:
Spring集成XFire开发WebService
下一篇:
使用Java操作Windows系统注册表
【
设为主页
】【
加入收藏
】【
打印本文
】【
回到顶部
】【
关闭此页
】
点击查看
已有
0
位对此新闻感兴趣的网友发表了看法
我的通行证:
密码:
验证码:
匿名
注册通行证
相关文章
·
使用Java操作Windows系统注册表
·
Java 6.0 操作脚本语言基础
·
彻底明白 Java 语言中的IO系统
·
为Java程序中添加播放MIDI音乐功能
·
Spring破冰之旅 始于足下
·
RMI(Remote Method Invocation)
·
JNDI(Java Naming Directory Interface)
·
JDBC Connection Pool
·
开发完整J2EE解决方案的八个步骤 1
·
开发完整J2EE解决方案的八个步骤 2
推荐文章
·
为Java程序中添加播放MIDI音乐功能
·
Spring破冰之旅 始于足下
·
彻底明白 Java 语言中的IO系统
·
Java 6.0 操作脚本语言基础
·
用纯JAVA语言编程读取MAC地址的实现
·
Java关于Cookie的操作
·
Java开发中的事件驱动模型实例详解
·
用RMI和CORBA进行分布式Java编程
·
在eclipse下配置jboss401配置问题
·
超简单的servlet配置
JavaBeans
·构造Jsp/javabean开发和发布环境的简单办
·Jsp中的Application使用
·jsp中javaBean的运用
·JBOSS3.0.4配置及使用初步
·J2EE'SEJBTechnology
·连接数据库的类
·Petstore源码追踪记(3)-商业逻辑处理(五
·Petstore源码追踪记(3)-商业逻辑处理(四
·Petstore源码追踪记(3)-商业逻辑处理(三
·Petstore源码追踪记(3)-商业逻辑处理(二
J2SE
·这是我们公司总结的一些关于中文乱码问题
·JAR文件包及jar命令详解
·让Java程序自带JRE
·使用J2SE API读取Properties文件的
·JAR 文件揭密
·native2ascii详解
·JavaMail API简介
·利用iText写PDF心得
·简化范式匹配
·MSN历史记录合并工具MSNHistoryCombiner
Java与XML
判断数字、整数的方法 isNumeric
java中判断字符串是否数字的两种
在DOM4J中使用XPath
Web Service初步体验:自定
Getting Start: Apach
构建适用不同客户端的J2EE网络应
Web Service初步体验:Hell
利用JBuilder2005开发Web应用程
Java编程获取硬盘空间
关于站点
-
广告服务
-
联系我们
-
版权隐私
-
免责声明
-
网站地图
-
意见反馈
立珊计算机IT网 版权所有. . 对本站有任何建议、意见或投诉,可以联系我们.
Copyright©2007-2010 Www.Lis123.Com All Rights Reserved.