2013-01-04 78 views
0

我想知道當我的瀏覽器轉到像這樣的網頁時會發生什麼。當我嘗試谷歌的「瀏覽器」和「小程序」大多數時,它發現如何將小程序添加到瀏覽器和故障排除,但不是如何工作。瀏覽器如何處理applet?

<html> 
<head><title>My Applet</title></head> 
<body> 
    <applet code="org/mypackage/MainClass.class" archive="MyApplet.jar,libA.jar,libB.jar" width="1600" height="860"></applet> 
</body> 
</html> 

如果網頁是遠程的話,我想瀏覽器在archive參數下載所有提到的罐子一些臨時文件夾,然後瀏覽器要求Java插件旁邊處理。所以這個插件會發現那個有MainClass的jar,並且會啓動Java程序的執行。

我的理解是否正確?

我的小程序需要很多外部的罐子,所以我只打包我的類到MyApplet.jar。然後,在一個單獨的文件夾,我把

MyApplet.jar 
libA.jar 
libB.jar 
applet.hmtl 

,並雙擊applet.html

在艙單MyApplet.jar有

Rsrc-Class-Path: ./ libA.jar libB.jar 
Class-Path: . 

真的有必要把這些線表現?

+0

'碼= 「組織/ mypackage中/ MainClass.class」'應該是'碼= 「org.mypackage.MainClass」' - 完全限定的類名稱,而不是相對文件路徑/名稱。 –

回答

1

我的理解是否正確?

基本上,禁止使用Java Web Start部署小程序,並根據需要或編程方式延期下載庫Jars。

真的有必要把這些行放在清單中嗎?

如果Jars如下所示,則不需要在清單中引用它們。

  • 列出了applet元素的archive屬性。
  • 作爲jar元素在JNLP的resources部分中列出。
+0

JWS是下一步。但在這個例子中,瀏覽器真的會下載所有的罐子? –

+0

「如果罐子如下」如何?在同一個文件夾中? –

+0

*「在同一個文件夾?」*這是最簡單的。把它們放在由代碼庫表示的相同路徑中。 –

0

這是從Java控制檯回答我的問題:

CacheEntry[http://localhost/applet/MyApplet.jar]: updateAvailable=true,lastModified=Tue Jan 08 16:10:19 KST 2013,length=2128455 
network: Connecting http://localhost/applet/MyApplet.jar with proxy=DIRECT 
network: Connecting http://localhost:80/ with proxy=DIRECT 
network: Downloading resource: http://localhost/applet/MyApplet.jar 
    Content-Length: 2,128,450 
    Content-Encoding: null 

network: Wrote URL http://localhost/applet/MyApplet.jar to File C:\Users\Nikolay\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\0\1367c940-4740e460-temp 
security: The jar file isnt signed so the blacklist check will be skipped 
security: Trusted libraries list file not found 

cache: Replacing MemoryCache entry (cnt=0) for http://localhost/applet/MyApplet.jarwas=com.sun.deploy.cache.CacheEntry (749595) now=com.sun.deploy.cache.CacheEntry (15535897) 
basic: Applet loaded. 
basic: Applet resized and added to parent container 
basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 1039162 us, pluginInit dt 903077 us, TotalTime: 1942239 us