有一种简单的方法可以在ASP.NET页面中合并Java小程序吗?

时间:2011-07-20 15:44:56

标签: java asp.net applet

我有一个java applet,我想在我的ASP.NET页面中包含它。 applet适用于常规的旧HTML页面。当我尝试在我的ASP.NET页面中包含applet时,Java似乎启动了(它显示了Java徽标和spinny蓝色圆圈),但是我的主类出现异常:

load: class com.myclass.Main.class not found. 
    java.lang.ClassNotFoundException: com.myclass.Main.class

我将applet放在页面中,代码如下 -

<applet
 code="com.xyz.Main.class"
 width="500"  height="500"
 archive="MyJar.jar"
>
    <param name="aParam" value="SomeValue"/>
</applet>

请注意,这与我用于将applet放入纯HTML页面的标记完全相同。我猜这个类没有找到异常的原因是当ASP编译页面时它把它放在其他地方?如果是的话,在哪里?请注意,我还没有将此页面实际部署到Web服务器,它只是在我的开发机器上本地运行。

2 个答案:

答案 0 :(得分:4)

为什么不简单地使用codebase attribute为applet指定绝对URI /誓言?这样你就不必担心不同系统相对路径的变幻莫测。

另外see here for a longer explanation。摘录:

指定小程序目录

默认情况下,浏览器在与具有标记的HTML文件相同的目录中查找applet的类和存档文件。 (如果applet的类在一个包中,那么浏览器使用包名在HTML文件目录下构建一个目录路径。)但是,有时将applet的文件放在其他地方是有用的。您可以使用CODEBASE属性告诉浏览器applet文件所在的目录:

    <APPLET CODE=AppletSubclass.class CODEBASE=aURL
            WIDTH=anInt HEIGHT=anInt>
    </APPLET>

如果aURL是相对URL,则相对于HTML文档的位置进行解释。通过使aURL成为绝对URL,您可以从几乎任何地方加载applet - 来自另一个HTTP服务器的事件。

答案 1 :(得分:0)

  1. 创建一个简单的Java Applet。
  2. 创建默认Web应用程序。
  3. 将Applet.class文件复制到Web应用程序文件夹。
  4. 向Web应用程序添加默认用户控件。
  5. 在用户控件中添加以下HTML代码。
  6.   

     <applet name="applet" code="applet.class" width="640" height="480" archive="applet.jar" 
        >     <param name="foreground" value="FFFFFF"/>
        >     <param name="background" value="008080"/>
        >     <param name="label" value="This string was passed from the HTML host."/>    </applet>
    
    1. 构建并运行Web应用程序

      不要忘记添加java.policy.applet。 欢呼,:))