这是来自http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html的示例,我剥离了很多功能,因为我只是试图使基本的applet正常工作,但是即使我直接从zip中运行其示例,这也会给我一个错误提示:

我还尝试将类归档到jar文件中,以查看是否有帮助,但仍然会继续给我同样的错误。

我认为问题出在文件夹/文件结构,但我不确定。

JavaScript和HTML

<script>
function enterNums(){
mathApplet.userName = "John Doe";
var greeting = mathApplet.getGreeting();
}
</script>
    <script src="http://www.java.com/js/deployJava.js"></script>
<script>
  var attributes = {
    id:'mathApplet',
    code:'jstojava.MathApplet',
    width:1,
    height:1
  } ;
  var parameters = {
    codebase:"/scripts/java/",
    jnlp_href:"math_applet.jnlp"
  } ;
  deployJava.runApplet(attributes, parameters, '1.7');
</script>
<p><a href="javascript:enterNums();">Launch Example</a></p>


JNLP文件

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+">
<information>
    <title>Math Applet - JavaScript to Java LiveConnect</title>
    <vendor>Sun</vendor>
</information>
<resources>
    <!-- Application Resources -->
    <j2se version="1.6+"
          href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="jstojava.jar" main="true" />

</resources>
<applet-desc
     name="Math Applet"
     main-class="MathApplet"
     width="1"
     height="1">
 </applet-desc>
 <update check="background"/>
</jnlp>


Java代码

package jstojava;
import java.applet.Applet;

public class MathApplet extends Applet{
  public String userName = null;

  public String getGreeting() {
    return "Hello " + userName;
  }
}

最佳答案

因此,在意识到之后,您可以在Java控制台中打开错误跟踪
控制面板> Java>高级>显示控制台

在控制台中,按5设置最高跟踪级别。

事实证明,由于Web服务器上不允许mime类型,因此未下载jnlp文件。

07-24 16:10