众所周知,java.applet包现在已过时,浏览器将不再支持Java applet。关于使用HTML5和JavaScript代替Applets的建议很多,我认为HtmlCanvas元素,使用DOM的输入控件和可访问性足以构造类似的功能。
除此之外,我真的想对这些问题有满意的答案:
1-删除Applet支持的真正原因是什么?它与Java反射有关吗? (因为可以通过在运行时访问对象来更改安全特权和其他事情)
2-是否有任何Applet病毒使用1中提到的一种漏洞?有Applet病毒的公开可用源代码吗?
3-如果基本原因是漏洞,那么我们是否可以考虑Java的发展不受控制或缺乏成功的设计?如果在Java Applet被视为易受攻击之前Java是开源的,那将会是什么? (在Applet支持终止后,Oracle宣布将继续使用Java Web Start技术代替Applets来实现类似的功能,但是在Java 9之后,他们宣布将再次取消对Java Web Start的支持。
4-嵌入诸如Flash和Java Applets之类的外部对象是移动平台中的另一个问题。这是取消支持的原因吗?
我们大多数人都喜欢Applet,并且发现Applet在许多情况下(包括教育方面)都非常有用,也许我们可以谨慎设计(如果这当然是设计问题),以防止编程语言将来出现问题。
先谢谢您。
编辑:我知道,在this stackoverflow条目中,第1,2和4项给出了类似的问题和答案;但是我想将这个问题扩展到设计问题上,以不受控制的方式扩展语言,打开代码和更改许可证的重要性,为什么软件测试不足以成为一款好的软件,尤其是在编程语言设计中?需要程序来以编程语言添加新功能而又没有副作用(例如漏洞等)等。