建议:Applet是个过时的东西啦,不要再用了,就像win2003和winxp一样,终将离我们远去,研究一下是可以的。
简介:
Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同。
含有Applet的网页的HTML文件代码中部带有 和这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。
支持情况:
- Chrome(谷歌浏览器)从版本45开始,不再支持NPAPI插件,而Java Applet依赖于NPAPI插件,所以Chrome
版本45以后都不再支持Java Applet。 - FireFox(火狐浏览器)从53.0不支持,不再支持NPAPI插件,而Java Applet依赖于NPAPI插件,所以FireFox版本53.0以后都不再支持Java Applet。
- 只有IE还在支持Java Applet。
对于chrome和firefox不支持这样的情况,官网也给出了是js辅助实现的,很鸡肋(为了实现而实现,还不如不用),还是那句话,它已经离我们远去啦。
测试环境:
- win7的IE11
- jdk1.6(测试用于编译代码的)
- jdk1.7(测试用于编译代码的)
- jdk1.8.191(测试用于编译代码的)
- tomcat7
- jre1.8.251(IE调用的)
下面我都是用win7下面的IE11进行测试的。
1.applet运行需要jre
用IE访问地址-》免费java下载-》下载后下一步,下一步的按提示安装,最后安装成功关闭向导。
2.我测试了applet类打成jar包和不打jar的存在问题
- 打jar包后需要把jar包和html页面放在同一个目录下,而且必须是默认的包下,就类中没有package XXX这一行才行(有人可以在不同目录下成功的,留言告知,我没成功)
- 不打jar包的,直接访问class的话,不同目录下可以
3.源码
3.1.1打jar的源码
import java.applet.Applet;
import java.awt.Graphics;
public class DefaultHelloWorldApplet extends Applet {
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
g.drawString("Hello World", 25, 50);
super.paint(g);
}
}
3.1.2打jar的html
<html>
<title>The Hello, World Applet</title>
<hr>
<applet codebase="." code="DefaultHelloWorldApplet.class" width=200 height=200 archive="DefaultHelloWorldApplet.jar">
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</applet>
<hr>
</html>
3.2.1不打jar的源码
package test;
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet {
private static final long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
g.drawString("Hello World", 25, 50);
super.paint(g);
}
}
3.2.2不打jar的html
<html>
<title>The Hello, World Applet</title>
<hr>
<applet code="test.HelloWorldApplet.class" width=200 height=200>
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</applet>
<hr>
</html>
4.编译命令:
javac DefaultHelloWorldApplet.java
javac HelloWorldApplet.java
5.生成秘钥库(我测试时候写的密码是123456,信息随意填,你也随意)
keytool -genkey -keystore test.store -alias test
6.打jar
jar -cvf DefaultHelloWorldApplet.jar DefaultHelloWorldApplet.class
7.给jar签名
jarsigner -keystore test.store DefaultHelloWorldApplet.jar test
8.说明:
IE访问html的时候,会出现java的安全警告,请到:
控制面板-》java-》安全下,添加自己的html的l连接,即可解决问题,再问是否运行的时候,点运行,就好了,图如下:
9.附录:
打jar成功的:
不打jar成功的(class)
文件目录如下: