我想知道当我的浏览器进入这样的网页时会发生什么。当我尝试谷歌搜索“浏览器”和“小程序”时,它主要找到如何将小程序添加到浏览器和故障排除,但不是如何工作。
<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
参数中所有提到的jar下载到某个临时文件夹,然后浏览器要求Java插件接下来处理。所以插件会找到具有MainClass
的jar并启动Java程序执行。
我的理解是否正确?
我的applet需要很多外部jar,因此我只将我的类打包到MyApplet.jar
。然后在一个单独的文件夹中我放
MyApplet.jar
libA.jar
libB.jar
applet.hmtl
然后双击applet.html
在MyApplet.jar的manifest中有
Rsrc-Class-Path: ./ libA.jar libB.jar
Class-Path: .
是否真的有必要将这些行放入清单?
答案 0 :(得分:1)
我的理解是否正确?
基本上,禁止使用Java Web Start部署的applet,并根据需要或以编程方式下载库Jars。
是否真的有必要将这些行放入清单?
如果Jars如下,则不需要在清单中引用它们。
archive
元素的applet
属性中。resources
部分列为jar
元素。答案 1 :(得分: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