How to Debug and Sign a Java Applet

最近玩了玩java applet, 总结一下其中各种痛苦经历>_<

(1) HTML <applet> 标签中的archive 属性是指那些主class依赖的jar包, 我使用的时候直接用这个标签然后加上编译完了的class字节码file在浏览器中运行applet。Oracle貌似不推荐这种方法而是使用一种叫做jnlp的机制然后加上javascript进行deployment, 参见官方教程:  deploying an applet

(2) applet 的那个debug真心痛苦, 强烈建议打开java自带的control console就是java 控制台, 这样在运行applet的时候所有的错误或者exception就会在这个控制台输出, window 7下如何找到和打开这个控制台比较tricky, 我一开始查其他一些网上的资料感觉被误导了, 参见我自己的这篇文章《如何在windows 7下找到 java control panel 并显示 java console

(3) 一般的applet只是运行在自己的sandbox的小程序,只有很有限的权限, 想access本地文件或者create classloader之类的都不行, 这样就很麻烦,限制了applet的功能, 想要给applet应有的权限完成更多的功能就需要注册这个applet, 也就是加数字签名, 注册以后的applet第一次运行会让用户选择是否允许这个applet的数字签名, 允许的话,这个applet就有了本地的一些权限。如何给applet加认证(sign applet)我是参考了下面这篇文章,觉得还不错:  “How to sign a Java applet”

Written on March 19, 2013