使用Rhino(mozilla犀牛)的优点

时间:2009-09-24 14:37:16

标签: java javascript rhino

我一直在阅读Rhino作为在我的Java代码中实现JavaScript的有用方法。

阅读了一段时间后,在谷歌和这里搜索,我找不到我在Java中使用JavaScript的真正原因。

您是否可以指出在使用Rhino进行常规Java应用程序时发现的一些现实世界优势?

5 个答案:

答案 0 :(得分:15)

请注意,自Java 6以来,脚本API位于标准Java库中 - 请参阅包javax.script的文档。 javax.script中的API是Rhino的改编版本。脚本API不仅支持JavaScript,还支持许多其他脚本语言。

请参阅Java Scripting Programmer's Guide

首页提到了一些您可能想要使用脚本的原因:

  
      
  • 应用程序扩展/自定义:您可以“外部化”应用程序的某些部分 - 例如配置脚本,业务逻辑/规则和财务应用程序的数学表达式。
  •   
  • 应用程序的“命令行”shell - 用于调试,运行时/部署时间配置等。目前,大多数应用程序都有基于Web的GUI配置工具。但是sysadmins / deployers经常更喜欢命令行工具。可以使用“标准”脚本语言,而不是为此目的发明特殊脚本语言。
  •   

示例:您可以使用Python脚本编写Oracle Weblogic脚本,例如配置应用程序服务器域,启动或停止服务器以及执行其他管理任务。

答案 1 :(得分:11)

  1. 与大多数Java XML API相比,使用Rhino和E4X处理XML是一种乐趣
  2. 您现有的JavaScript“只是有效”而且您不想重写它。如果您在客户端进行了一些计算或处理并将其移至服务器,则会发生这种情况。
  3. 各种简洁的缓存和代码加载技巧。
  4. 使用比Java更动态的语言可以更好地解决问题。
  5. 列表推导;)

答案 2 :(得分:5)

将javascript等脚本语言嵌入到您的软件中的好处是,您可以为其他人提供一种为您的软件编写插件的方法,而无需提供源代码。

使用另一种语言编写整个应用程序的一个原因是,您可以为在Java EE环境中部署它的公司编写应用程序,而无需学习Java。

答案 3 :(得分:4)

我们在其中一个产品中使用JS(通过Rhino)进行DSL。它不是一个伟大的DSL,但这是我们如何使用JS而不是Rhino的错误。

答案 4 :(得分:0)

如果您考虑使用.Net,我建议与Rhino相处。

除了Java环境,rhino是.NET环境中最好的性能解释器之一(使用IKVM)。另一方面,nashorn在.net上非常慢。

将您自己的Rhino项目移植到.NET并不是那么困难。