我有一个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
一种方式比另一方好吗?各自的优点和缺点是什么?
答案 0 :(得分:3)
后者是类路径相对的。这意味着img.gif
位于jar文件中(并且位于applet jvm的类路径中)
前者是常规URL,意味着gif文件存在于给定位置的服务器上。
它们在不同情况下使用,因此没有“好”或“坏”选项。需要考虑的一件事是:如果你只需要applet中的图像,你应该将它放在jar中,而不是放在jar中的任何其他位置。服务器。(但这不是普遍的)