小程序中两种URL格式之间的差异

时间:2011-05-11 21:03:32

标签: java url applet

我有一个Applet,当我使用getCodeBase()时,我得到一个如下所示的普通网址:

http://localhost:8080/x/y/z/

我可以使用Applet之类的其他getImage(getCodeBase(), "images/img.gif")方法获取资源(例如本例中的图片)。

但是,如果我使用Applet.class.getResource("/images/img.gif"),我会看到如下所示的网址:

jar:http://localhost:8080/x/y/z/a/b/lib/myjar.jar!/images/img.gif

一种方式比另一方好吗?各自的优点和缺点是什么?

1 个答案:

答案 0 :(得分:3)

后者是类路径相对的。这意味着img.gif位于jar文件中(并且位于applet jvm的类路径中)

前者是常规URL,意味着gif文件存在于给定位置的服务器上。

它们在不同情况下使用,因此没有“好”或“坏”选项。需要考虑的一件事是:如果你只需要applet中的图像,你应该将它放在jar中,而不是放在jar中的任何其他位置。服务器。(但这不是普遍的)