Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Javascript运行.jar方法_Javascript_Java_Html_Google Chrome_Jar - Fatal编程技术网

如何从Javascript运行.jar方法

如何从Javascript运行.jar方法,javascript,java,html,google-chrome,jar,Javascript,Java,Html,Google Chrome,Jar,我有一个java jar,里面有类。我需要能够调用其中一个类中的方法。它必须在本地客户端,而不是对服务器的ajax调用,而不是Web服务。我的html页面旁边有一个.jar,我需要能够从javascript/html调用java方法 我只需要一种调用java方法的方法,我尝试的这些方法甚至可能不是最好的方法。只是想寻求帮助 我已经尝试了多种方法,但都没有成功。也许我做错了什么,或者 Java类在.jar中 import java.applet.Applet; public class Met

我有一个java jar,里面有类。我需要能够调用其中一个类中的方法。它必须在本地客户端,而不是对服务器的ajax调用,而不是Web服务。我的html页面旁边有一个.jar,我需要能够从javascript/html调用java方法

我只需要一种调用java方法的方法,我尝试的这些方法甚至可能不是最好的方法。只是想寻求帮助

我已经尝试了多种方法,但都没有成功。也许我做错了什么,或者

Java类在.jar中

import java.applet.Applet;


public class MethodInvocation extends Applet{

    public String helloWorld() {
        System.out.println("Hello World!");
        return "Hello JavaScript, I came from Java";
    }

}
第一次尝试-无效,收到该消息


非常感谢您的帮助。

您没有在JS代码中定义
app
变量。有关从JS运行和调用小程序的示例,请参见


实际上这样做可能不是一个好主意,最好在纯JS中实现您想要做的事情。在过去几年中,JS引擎的速度大大加快,浏览器对java浏览器插件的要求也变得更加严格,这是因为在java浏览器插件中发现/利用了许多安全缺陷

您没有在JS代码中定义
app
变量。有关从JS运行和调用小程序的示例,请参见


实际上这样做可能不是一个好主意,最好在纯JS中实现您想要做的事情。在过去几年中,JS引擎的速度大大加快,浏览器对java浏览器插件的要求也变得更加严格,这是因为在java浏览器插件中发现/利用了许多安全缺陷

我怀疑你不能做你想做的事。即使applet仍然可以工作,你也不能把任何旧的.jar文件当作applet来处理。我也有一个非常类似的问题,我在Oracle网站上到处都看到过。当不使用jar ie.
时,一切都能完美工作。我一尝试jar类文件,就得到了“错误:调用NPObject上的方法时出错!”在控制台中。我不知道该怎么做才能解决这个问题。我就是这样尝试使用jar文件的:
。在Oracle站点上,有很多关于清单文件安全问题的讨论。我不认为我对我的担忧有那么多,但也许我应该这么做。我已经将我的简单清单文件添加到jar中,但得到了相同的错误。顺便说一下,我使用的是最近下载的Firefox,我怀疑您将无法完成您尝试的操作。即使applet仍然可以工作,你也不能把任何旧的.jar文件当作applet来处理。我也有一个非常类似的问题,我在Oracle网站上到处都看到过。当不使用jar ie.
时,一切都能完美工作。我一尝试jar类文件,就得到了“错误:调用NPObject上的方法时出错!”在控制台中。我不知道该怎么做才能解决这个问题。我就是这样尝试使用jar文件的:
。在Oracle站点上,有很多关于清单文件安全问题的讨论。我不认为我对我的担忧有那么多,但也许我应该这么做。我已经将我的简单清单文件添加到jar中,但是得到了相同的错误
    <applet archive="JavaLibrary.jar" code="MethodInvocation.class" name="myApplet" width="1" height="1"></applet>

    <script language="javascript">
        var javaMessage = document.myApplet.helloWorld();
        console.log("Java Message Received: " + javaMessage);
    </script>
<object type="application/x-java-applet" height="300" width="550">
    <param name="id" value="app">
    <param name="code" value="MethodInvocation">
    <param name="archive" value="JavaLibrary.jar">
</object>

<script language="javascript">
    app.helloWorld();
</script>