如何从javascript运行java代码?

如何从javascript运行java代码?,java,javascript,ajax,Java,Javascript,Ajax,我有一些java类文件,我想从javascript运行。他们收进一根绳子,吐出一根绳子。我试图找出从javascript中执行类文件的最佳/最简单的方法,以便获得/使用它的响应。据我所知,这里是我的选择 Javascript ajax请求到php,然后可能exec()jar Javascript对我的类文件的ajax请求重新实现为servlet 将类文件重写为javascript,到此为止 1并不理想,因为如果可以的话,我不会避免使用php。2太糟糕了,因为我不想运行ApacheTomcat。3

我有一些java类文件,我想从javascript运行。他们收进一根绳子,吐出一根绳子。我试图找出从javascript中执行类文件的最佳/最简单的方法,以便获得/使用它的响应。据我所知,这里是我的选择

  • Javascript ajax请求到php,然后可能
    exec()
    jar
  • Javascript对我的类文件的ajax请求重新实现为servlet
  • 将类文件重写为javascript,到此为止
  • 1并不理想,因为如果可以的话,我不会避免使用php。2太糟糕了,因为我不想运行ApacheTomcat。3号很自然


    长话短说,我用java编写了一个漂亮的a*实现,我想在我用js编写的游戏中使用它,而不需要重写它。你会怎么做?

    如果不使用HTML,完全独立地通过Javascript运行Java是不可能的。然而,这并非不可能

    首先需要将Java游戏(.JRE文件)转换为小程序。要做到这一点,您可以将
    publicstaticmain
    void并用
    Applet
    initialization()替换它。这可能看起来很乏味,但当你真的这么做的时候,就不会那么困难了

    然后,使用Javascript的HTML文档对象模型(),您可以轻松地执行以下操作:

    document.write('<embed src="foo.class">');
    
    document.write(“”);
    
    另外,请记住,HTML5不支持
    标记。如上图所示,您可以使用
    标记,也可以使用
    标记


    老实说,PD。

    如果代码没有那么复杂,我可能会用javascript重写。你能把它实现为一个真正简单的CGI脚本吗?这基本上是一个命令行脚本,它作为环境变量传递请求信息。在最坏的情况下,您可以使用shell脚本作为包装而不是PHP。您可以使用javascript创建一个a*实现,这可能比进行ajax调用所需的往返时间要快。在我看来,这是最明智的选择。是的,所以我想答案是重写。这不是什么可怕的消息,我可能知道这是正确的选择。实际上,我想更多地了解shell脚本包装器的想法。这可能真的很有效。我想问题是如何从js运行bash脚本。从js调用bash脚本,或者更确切地说从AJAX调用bash脚本,是很简单的—配置web服务器以执行CGI,并将脚本放在正确的位置。当您转到该URL或使用AJAX请求它时,脚本将使用一些标准环境变量运行。我没有写答案的原因是,我不知道调用Java并传递这些变量的脚本是什么样子的。是的,然后你的页面将只在安装了工作的、半当前Java的浏览器上工作。这已经不像以前那么普遍了,部分原因是利用Java的安全漏洞永无休止。几年前,我在我管理的所有计算机上都禁用了Java,我享受着不必维护它,也不必担心安全问题。因为没有Java,我找不到我想使用的网站。我的意思是,如果提问者希望在一个网站上实现一个基于Java的游戏,那么他们必须接受安全原因。Java是一种简单而伟大的编程语言,必要时也可以非常先进。大多数主流浏览器都支持Java小程序,而且它们快速、易于使用。它不是基于Java的游戏。这是一款HTML和Javascript浏览器游戏,他们碰巧想使用Java中现有的一些功能。明确的答案是用Javascript重写该功能。是的,可以这样做。选择您愿意在服务器上运行的软件和您强制用户在其浏览器中运行的软件之间有很大的区别。