模块 java.scripting
Package javax.script
脚本API由定义Java脚本引擎的接口和类组成,并为它们在Java应用程序中的使用提供了框架。 此API旨在供希望在其Java应用程序中执行用脚本语言编写的程序的应用程序编程人员使用。 脚本语言程序通常由应用程序的最终用户提供。

javax.script包的功能主要包括

脚本执行 :脚本是用作脚本引擎执行的程序源的字符流。 脚本执行使用eval的ScriptEngine方法和Invocable接口的方法。

绑定 :此工具允许Java对象作为命名变量公开给脚本程序。 Bindings和ScriptContext类用于此目的。

编译 :此功能允许重复存储和执行脚本引擎前端生成的中间代码。 这有利于多次执行相同脚本的应用程序。 这些应用程序可以提高效率,因为引擎的前端只需要每个脚本执行一次,而不是每次执行脚本一次。 请注意,此功能是可选的,脚本引擎可能会选择不实现它。 呼叫者需要使用instanceof检查来检查Compilable接口的可用性。

调用 :此功能允许重用脚本引擎前端生成的中间代码。 编译允许重新执行由中间代码表示的整个脚本,而调用功能允许重新执行脚本中的各个过程/方法。 与编译的情况一样,并非所有脚本引擎都需要提供此功能。 来电者必须检查Invocable的可用性。

脚本引擎发现 :写入Scripting API的应用程序可能对脚本引擎有特定要求。 一些可能需要特定的脚本语言和/或版本,而其他可能需要特定的实现引擎和/或版本。 脚本引擎以指定的方式打包,以便可以在运行时发现引擎并查询属性。 引擎发现机制基于ServiceLoader类中描述的服务提供者加载工具。 ScriptEngineManager包括getEngineFactories方法,以获取使用此机制发现的所有ScriptEngineFactory实例。 ScriptEngineFactory具有查询脚本引擎属性的方法。

从以下版本开始:
1.6

    接口摘要

接口 描述
Bindings
键/值对的映射,其所有键都是 Strings 。
Compilable
ScriptEngines实现的可选接口,其方法将脚本编译为可以重复执行而无需重新编译的表单。
Invocable
ScriptEngines实现的可选接口,其方法允许在先前已执行的脚本中调用过程。
ScriptContext
实现类的接口用于在托管应用程序中将脚本引擎与对象(如作用域绑定)连接起来。
ScriptEngine
ScriptEngine是基本接口,其方法必须在本规范的每个实现中完全起作用。
ScriptEngineFactory
ScriptEngineFactory用于描述和实例化 ScriptEngines 。

    类摘要

类 描述
AbstractScriptEngine
为 eval方法的几个变体提供标准实现。
CompiledScript
通过存储编译结果的类进行扩展。
ScriptEngineManager
ScriptEngineManager为 ScriptEngine类实现了发现和实例化机制,并且还维护了一组键/值对,用于存储由Manager创建的所有引擎共享的状态。
SimpleBindings
由 HashMap或其他指定的 Map支持的Bindings的简单实现。
SimpleScriptContext
ScriptContext的简单实现。

    异常摘要

异常 描述
ScriptException
The generic 异常 class for the Scripting APIs.

Package javax.script相关推荐

  1. javax.script包

    1.概述 javax.script包是后端java语言和前端语言javascript语言进行交互的中介.Java Scripting API 包含一组类和接口,这是一个相对比较小的 package包, ...

  2. Exception in thread “main“ java.lang.NoClassDefFoundError: javax/script/Compilable

    scala的交互模式启动时出现这个问题: 完整报错如下: $scala Shell 传递参数实例! 执行的文件名:/home/appleyuchi/scripts/scala/scala.sh Exc ...

  3. javax.script.ScriptException: ReferenceError: xxx is not defined in eval

    大家好,我是烤鸭:     今天使用 javax.script.ScriptEngine 遇到一个奇怪的问题,无法识别js方法. 1. 报错内容: javax.script.ScriptExcepti ...

  4. java scriptengine e-_Java使用ScriptEngine(javax.script)

    1.可用的脚本引擎 Java 6提供对执行脚本语言的支持,这个支持来自于JSR223规范,对应的包是javax.script.默认情况下,Java 6只支持javascript脚本,它底层的实现是Mo ...

  5. 启动 Scala REPL 报错:java.lang.NoClassDefFoundError:javax/script/Compilable

    启动 Scala REPL 报错:java.lang.NoClassDefFoundError:javax/script/Compilable 启动 Scala REPL 报错:Exception i ...

  6. java中script类_在Scripting java(javax.script)中导入一个类

    我想将我在项目中创建的类导入到我的脚本中 我这样做但它不起作用: function doFunction(){ //Objectif Mensuel importPackage(java.lang); ...

  7. package javax.servlet.jsp.tagext does not exist的错误消息如何解决

    我有一个简单的jsp文件,里面有这样一行import语句: import javax.servlet.jsp.tagext.*; ant编译报错: 直接执行javac src\action\Hello ...

  8. Package javax.naming

    提供用于访问命名服务的类和接口. 该包定义了Java命名和目录接口的命名操作(JNDI). JNDI为使用Java编程语言编写的应用程序提供命名和目录功能. 它旨在独立于任何特定的命名或目录服务实现. ...

  9. [转]提示错误 package javax.servlet.jsp does not exist package javax.servletr.jsp.tagext does not exist...

    你在JAVA servlet容器运行的时候没配置servlet-api.jar,tools.jar,rt.jar,jsp-api.jar的classpath 我的classpath= .;%JAVA_ ...

最新文章

  1. 网络抓包工具wireshark and tcpdump 及其实现基于的libpcap
  2. 深入理解es module
  3. SecureCRT的logon action登录跳转设置
  4. Linux内核原子操作及函数
  5. 蜗牛星际A单千兆群晖系统崩溃恢复记录
  6. 驳《驳〈论OIer谈恋爱的必要性〉》
  7. pcl::MovingLeastSquares滑动最小二乘
  8. statsmodels︱python常规统计模型库
  9. 解决网页中文字无法选中的问题
  10. 路由器:分类、定义及标准
  11. 强烈安利一波,程序猿学习网站
  12. IComponent2 Interface 学习
  13. 从执行计划的预估行数看执行计划是否正确
  14. 报头压缩-ROHC压缩系统
  15. getMonth()函数的问题
  16. 银联在线支付5100030异常
  17. 利用文本相似度进行英文文本分类(C++实现)
  18. ie下ajax请求不到数据库,解决IE下Ajax请求无效
  19. ACPI相关(11)- PCC实例
  20. Android4.2.2 Gallery2源码分析(2)——发现Gallery.java

热门文章

  1. 利用diskman来做数据恢复
  2. PCL——超体素(SuperVoxel)、超体聚类分割
  3. MacVim中文乱码解决
  4. 图像处理之高斯混合模型
  5. Java实现 蓝桥杯 历届试题 波动数列
  6. 健康的荷斯坦奶牛-USACO-USACO阶梯-第2章.更大的挑战
  7. 阿里云域名购买至备案流程
  8. 小米note刷android8.1,小米note安卓8.1.0刷机包
  9. js第13天(事件绑定方式)
  10. 2022广东省安全员A证第三批(主要负责人)试题及模拟考试