代码之家  ›  专栏  ›  技术社区  ›  user3198603

使用从java调用javascript,反之亦然?[已关闭]

  •  0
  • user3198603  · 技术社区  · 9 年前

    我正在学习java 8 Nashorn Javascript engine 但是我不知道它的实际用途。这是我的具体情况 问题

    从Java调用JavaScript

    1) 作为一名开发人员,我想从java调用javascript时,实际情况是什么?

    从Javascript调用Java

    2) 作为一名开发人员,我想从javascript调用java时,实际情况是什么?

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

    3 回复  |  直到 9 年前
        1
  •  1
  •   11thdimension    9 年前
    1) 作为一名开发人员,我想从java调用javascript时,实际情况是什么?
    1. 假设您正在用Java编写浏览器,那么您需要从Java运行JS解释器来显示页面并处理JS代码。
    2. 假设您想在Java中提供JS语法检查器,例如在eclipse中的JS编辑器。
    3. 或者你想运行一个JS教程网站,用户在浏览器中编写JS代码,然后你对其进行评估并显示错误,就像Learnstreet、Udacity等大多数网站所做的那样。
    4. 作为后端(服务器端)开发人员,您必须为前端(客户端)开发人员提供一种功能,他们可以向您发送JS代码,您可以在服务器上使用它。 Service Now Presto Mashups 下面是几个例子。
    5. 有一个JS API,您不需要先将其转换为Java代码就可以使用它。现在,支持Java和其他几种语言的JS库是一种常见的模式,因此它们可以与JS引擎一起运行,如 Mozilla Rhino Oracle Nashorn 没有太多麻烦。
    2) 作为一名开发人员,我想从javascript调用java时,实际情况是什么?
    1. 当您编写JS代码时,您将拥有整个Java API,答案是为什么不呢?
    2. 您正在使用JS引擎在服务器上运行一些JS代码,需要将输出传回JVM或调用一些事件。甚至可以列出目录,读取调用数据库的文件是JS代码的要求。
    3. 考虑 Node JS ,它只是一个JS解释器 written in C, C++ 它也在做同样的事情。它为JS开发人员提供了C和C++的强大功能。犀牛和纳肖恩也一样。从本质上讲,JS在浏览器上运行时功能有限,它需要一些额外的API来提高性能。我举了Node JS的例子,因为它的流行程度表明了这种加电是多么的必要。为了好玩,试试这个视频 interview Ryan Dahl .
    3) 如果是,浏览器将如何从javascript执行java。系统托管是否需要JRE,浏览器是否会使用它?
    1. 浏览器不会运行包含Java部件的JS代码。JS引擎用于在服务器端获取JS代码。这为JS开发人员提供了使用其JS技能编写服务器端代码的机会。然而,如果需要,浏览器可以将JS代码发送到服务器,以进行解释,就像Presto Jackbe Mashups的情况一样。
        2
  •  1
  •   Koen De Maesschalck    9 年前

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

        3
  •  0
  •   Deximus    9 年前

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

    2) 我不相信这是经常使用的,或者根本不使用,尤其是在Chrome和未来Firefox不支持NPAPI插件的情况下( source ). 尽管存在这些问题,javascript和java之间的通信可以用于为网站或应用程序添加功能,尽管这似乎不可行。

    3) 见上文。