【问题标题】:Running Java through server通过服务器运行 Java
【发布时间】:2018-08-29 09:51:14
【问题描述】:

我有一个网站。我想做以下事情:

有一个用户可以输入java程序的输入框。然后,他们可以按“运行”,它会输出标准输出。我怎样才能做到这一点?

我尝试考虑在 php 中使用 exec("javac $filename") 并编译并运行 java 程序,但这似乎不起作用。有任何想法吗?

我正在尝试创建一个“学习 Java”网站,我需要用户能够通过在我的网站上输入空格来玩代码。我只是不知道如何使用 php、html 或类似的东西来运行 Java。

【问题讨论】:

标签: java php html javac


【解决方案1】:

是的,可以按照您所描述的方式进行。然而,这是一个巨大的安全风险。您不想让未知/不受信任的人能够在您的服务器上执行任意代码。至少你要非常小心这个想法,可能更好的是,修改这个想法,以便不能输入和执行任意代码。

【讨论】:

  • 我想让您知道,您无需在帖子上手动签名,因为您的名字已经在帖子中可见。请参阅this 了解更多信息。我为你编辑了它。
  • 我没有用我的名字在帖子上签名。关于安全风险,我只是使用基本代码,用户只会实现功能,他们不会被允许导入任何东西,所以他们不可能做任何疯狂的事情。既然你说可以做到,那你能描述一下方法吗?
  • @Robert:对不起,我在和@Peter 说话。 :)
  • 您无需导入即可运行任意 java 代码。您可以在代码中显式命名包。 java.io.File f = new java.io.File();
【解决方案2】:
  1. 不要不要这样做!让人们运行小程序或其他东西。除了安全隐患之外,您的服务器也可能会停止运行。
  2. 如果您忽略 (1),只需使用适当的应用服务器并让人们编写自己的 jsps(确保缓存已关闭)。这是一个非常简单的文件 IO。

【讨论】:

    【解决方案3】:

    您可能会研究 Quercus。它是一个运行 PHP 的 Java Web 服务器。然后,您也许可以直接在 Web 服务器中运行 java 代码。 http://www.caucho.com/resin-3.0/quercus/

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 2019-11-22
      • 2012-07-09
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 2021-05-26
      • 2017-02-26
      相关资源
      最近更新 更多