applet的jar包问题以及解决办法

1 篇文章 0 订阅
1 篇文章 0 订阅

建议: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)
在这里插入图片描述
文件目录如下:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值