java - 在 Web 浏览器中运行 Java

标签 java browser

有没有一种方法可以按照这个 Ruby 网页在网页中运行 Java 命令行:

http://tryruby.org/levels/1/challenges/0

目标是能够为完全的新手提供一个非常简单的语言介绍,而不必担心 IDE、编译等。

最佳答案

好吧,因为 Java 是一种编译语言并且没有 REPL ,没有这样的“命令行”。但我可以理论上想到实现这个想法的可能方法。

  • Applet 可能不是真正的解决方案。我不知道在有限的权限下你能走多远。出于安全考虑,您可能只能在沙箱中操作和/或不能编译/执行代码。

  • Java WebStart 应用程序可能具有此类权限。提供一个精简的 IDE 是一项类似的任务。或制作 Bluej从 WebStart 运行。

  • 提供一个 Web 应用程序,该应用程序仅向服务器提交请求,服务器编译和执行代码并返回结果。我假设(我不确定)许多在线 REPL 都是这样工作的。 (通过浏览 try python 的 JavaScript,我认为它会提交 AJAX 请求)但是仍然存在安全问题,比如如果程序开始随机删除文件怎么办? Google Appengine 具有先进的安全机制来防止误用。要为“尝试 java”实现它们,需要付出更多的努力。

  • 下一个想法是将所有内容限制为 Java 语言的一个子集。为了提供一个简短的介绍、一个带有预定义答案的小教程以及一些基础数学知识,您可以在客户端编写一些 JavaScript 来确定学习者的答案是否正确。

  • 不要忘记当前正在开发基于 Web 的 IDE,例如 Eclipse Orion .也许您可以观察这些项目的发展并将它们用于此类目的。目前我只看到在那里编辑的 JavaScript 代码,执行 JS 是网络浏览器的自然功能之一。我不知道他们将支持哪些编程语言,或者是否支持代码执行。

关于java - 在 Web 浏览器中运行 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9923357/

相关文章:

java - jReddit Java 异常

java - 在 Java 中如何将二维数组转换为一维数组

java - 为什么 Throwable.class.getClassLoader() 返回 null?

android - 在浏览器中打开链接?

ios - Google 登录 - 在应用程序浏览器与移动浏览器中

java - 升级到 jdk1.6 时 MockEJB 失败

java - 实现基本的 REST API - ServletException

html - 如何在调整浏览器窗口大小时使导航栏保持在其原始位置?

android - 如何打开默认浏览器

python - Cookie 未保存在浏览器中