2016-08-04 60 views
-3

我无法理解为什么以及在什么样的场景下我想在服务器端的JVM中运行脚本语言。我的意思是我们已经在JAVA中有很好的库...为什么我不使用它们来做东西而不是在JVM中运行脚本? 请帮我理解这个概念,有人可以告诉我一个或两个在服务器端运行JVM脚本的用例比使用JAVA库更有优势。为什么我想在JVM中执行脚本语言

+0

这是一个基于意见的问题。但无论如何,有更多的选择并不能带走一些东西。此外,Java有很多图书馆,但它们是否涵盖了一切?没有。始终选择最适合当前任务的工具。有时候是Java,有时候是Javascript,有时甚至是PERL。 –

回答

2

这里的更普遍的问题是:“我为什么要在< 一些脚本语言>在Java中执行代码?”,其中JavaScript是这样一种语言的简单一个例子。

报价this article

有些Java应用程序的需求使集成有必要的脚本语言。例如,用户可能需要编写用于驱动应用程序,扩展应用程序或包含循环和其他流控制结构的脚本。在这种情况下,支持可以读取用户脚本的脚本语言解释程序是明智的,然后在Java应用程序的类中运行它们。

基本上:如果你想允许你的用户以一种需要丰富的编程语言来定制你的应用程序。

为什么选择Javascript?这取决于你的应用程序。可能有理由选择它(例如,你的目标用户已经知道Javascript),或者没有(例如,Lua在游戏行业中更受欢迎的脚本)。

0

有一点我能想到的是:

  • Javascript引擎可用于评估算术表达式 这是在一个字符串格式。

example :: String expression =“2 + 4”;

以下是使用java脚本引擎执行此操作的示例的链接。

https://stackoverflow.com/a/3423360/4626402

+0

“Java不提供任何方式来实现这一点”当然它确实如此。您可以用Java实现算术表达式解析器和评估器。 –

+0

@AndyTurner我的意思是java没有内置的方法来实现这一点,至少据我所知。如果有,请回复。无论如何,我已经从我的答案中删除了该陈述。 – Abhishek