使用从java调用javascript,反之亦然?

时间:2016-01-02 18:10:34

标签: javascript java

我正在学习java 8 Nashorn Javascript engine。但我没有得到它的实际用途。这是我的具体情况 问题

从Java调用JavaScript

1)作为开发者我想从java调用javascript时的实际情况是什么?

从Javascript调用Java

2)作为开发者我想从javascript调用java的实际场景是什么?

3)如果是,浏览器将如何从javascript执行java。系统托管是否需要JRE,浏览器是否会使用它?

3 个答案:

答案 0 :(得分:1)

我没有从Javascript调用java的经验。但是我看到从Java调用Javascript。我看到的用例是最终客户端需要扩展Java框架的地方。这是通过让最终客户端在Javascript中添加逻辑来实现的。然后,实际的Javascript代码可以存储在数据库中,并在框架需要时执行。

答案 1 :(得分:1)

1)作为开发人员,我想从java调用javascript时的实际情况是什么?
  1. 假设您正在用Java编写浏览器,那么您需要从Java运行JS解释器来显示页面并处理JS代码。
  2. 假设您想在Java中提供JS语法检查器,例如eclipse中的JS编辑器。
  3. 或者您想运行JS的教程网站,用户在浏览器中编写JS代码并对其进行评估,并显示大多数网站(如Learnstreet,Udacity)所做的错误。
  4. 作为后端(服务器端)开发人员,您必须向前端(客户端)开发人员提供功能,他们可以向您发送JS代码,并在服务器上执行操作。 Service NowPresto Mashups就是一些例子。
  5. 您需要使用JS API,而不必先将其转换为Java代码。现在支持Java库以及其他几种语言的常用模式,以便它们可以使用Mozilla RhinoOracle Nashorn之类的JS引擎运行,而不需要太多任务。
  6. 2)作为开发人员我想从javascript调用java时的实际情况是什么?
    1. 在编写JS代码时,您将掌握完整的Java API,答案为什么不呢?
    2. 您正在使用JS引擎在服务器上运行一些JS代码,您需要将输出传递回JVM或调用某些事件。甚至可以列出目录,读取调用数据库的文件是JS代码的要求。
    3. 考虑Node JS,它只是一个JS解释器written in C, C++它正在做同样的事情。它为JS开发人员提供了C和C ++的强大功能。与Rhino和Nashorn一样。就其本质而言,JS具有有限的功能,因为它曾经在浏览器上运行,它需要一些额外的API来获得功率提升。我举了Node JS的例子,因为它的受欢迎程度显示了需要多少电力。只是为了好玩,试试这个视频interview Ryan Dahl
    4. 3)如果是,浏览器将如何从javascript执行java。系统托管是否需要JRE,浏览器是否会使用它?
      1. 浏览器不会运行包含Java部分的JS代码。 JS引擎意味着在服务器端获取JS代码。这为JS开发人员提供了使用他的JS技能编写服务器端代码的机会。但是,如果需要浏览器可以将JS代码发送到服务器进行解释,就像Presto Jackbe Mashups一样。

答案 2 :(得分:0)

1)Java中JavaScript引擎的实际应用是在创建或使用HTTP适配器时。在这种情况下,您需要能够处理所有javascript,以模拟真实的浏览器连接。处理JavaScript的Java HTTP Adapter的示例是HTMLUnit

2)我不相信这种情况经常使用,或者根本不会使用,特别是Chrome和NPAPI插件以及未来Firefox(source)的反对。尽管有这些要点,javascript和java之间的通信可以用来为网站或应用程序添加功能,虽然这似乎不可行。

3)见上文。

相关问题