2011-07-20 77 views
1

我有一個java小程序,我想包括在我的ASP.NET頁面。該小程序在常規的舊HTML頁面上工作。當我嘗試包括但在我的ASP.NET頁面的小程序,Java的出現啓動(它顯示了Java標誌和spinny藍圈),但好發於我的主類的異常:有沒有一種簡單的方法將Java applet合併到ASP.NET頁面中?

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

我我把小程序在頁面下面的代碼 -

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

注意,這正是我用來放小程序到一個普通的HTML頁面相同的標籤。我猜這個類沒有發現異常的原因是,當ASP編譯頁面時,它把它放在其他地方?如果是這樣,在哪裏?請注意,我還沒有真正將此頁面部署到Web服務器,它只是在我的開發計算機上本地運行。

+0

「拋出java.lang.ClassNotFoundException」 對不起,我亂放空間 – Alex

+0

「載:類com.myclass.Main.class找不到 拋出java.lang.ClassNotFoundException:com.myclass。主要。類」 – Alex

+0

謝謝。:-)早先的評論刪除,編輯CNFE質疑。..和現在其實我看着它,它讓我意識到,在'code'屬性'.class'除了不需要時,充分com.xyz.Main'的'限定類名就可以了(或失敗)一樣好。這顯然不是這裏真正的問題(這是下到代碼庫,如已經被保羅提及)。 –

回答

4

爲什麼不簡單地用codebase attribute指定一個絕對的URI /誓言給你的小程序?這樣你就不必擔心不同系統的相對路徑的變幻莫測。

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

指定小程序目錄

默認情況下,瀏覽器會在同一個目錄中具有標籤的HTML文件的applet的類和歸檔文件。 (如果小應用程序的類位於一個包中,則瀏覽器使用包名稱在HTML文件的目錄下構建目錄路徑。)但是,有時將小應用程序的文件放在其他位置很有用。您可以使用代碼屬性告訴在哪個目錄applet的文件所在的瀏覽器:

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

如果aURL是一個相對URL,那麼它的解釋相對於HTML文件的位置。通過使aURL成爲絕對URL,您可以從任何地方加載小程序 - 來自另一個HTTP服務器的事件。

+0

我嘗試將代碼庫設置爲jar文件所在的絕對目錄(例如 - 「c:\ aDirectory \」),但那不起作用。我目前正在嘗試從我的開發機器運行此頁面,但它尚未。部署到真正的Web服務器,但(我也不甚至有一個),這是因爲我工作的頁面是概念頁的快速和骯髒的驗證的一部分 編輯 - 當我說沒」 t的工作,我的意思是一個小綠色的「圖片」圖標出現在左上角的一個地方應該是pplet,但我沒有收到錯誤消息 – Alex

+0

代碼庫必須是URL/URI而不是本地計算機路徑。這樣想:這是另一個國家的瀏覽器需要能夠打開的東西...因此它必須是一個URL。 –

+0

就像我上面說過的,我無處可放.jar,因此使用相對路徑。 – Alex

0
  1. 創建一個簡單的Java Applet。
  2. 創建一個默認的Web應用程序。
  3. 將Applet.class文件複製到Web應用程序文件夾。
  4. 將默認用戶控件添加到Web應用程序。
  5. 在用戶控件中添加以下HTML代碼。

<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。 歡呼,:)

相關問題