按理说这种老掉牙的浏览器控件或者功能扩展技术应该没有人用了。但偏偏就还有大量的企业在用,尤其是中国企业。。。。,安全性不好说。不过反正现在年年都要搞攻防演练。
说到正事,还有客户就要在浏览器访问applet jnlp。
首先还是sun jdk 的安装。这个其他地方早有文章了。安装完配置好java javaws 这些alternative设置就好了。
不过对于java在浏览器里面安全上有很多烦人的提示。所以还要设置好jcontrol这个命令的alternative。
对于java applet,在浏览器里是以插件方式出现,目前基本上都是NPAPI插件方式。所以安装好sun jdk后,除了设置alternative,还要把浏览器插件给他搞上、
UOS浏览器插件位置 /usr/lib/mozilla/plugins/
sudo ln -s /usr/lib/jvm/jdk1.8.0_202/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins
搞完浏览器地址栏输入:chrome://plugins/确认一下是否安装好了。
然后需要访问一些demo了,下面是sun官网的一些applet demo.非常棒,在jdk1.4那个年代居然就有这样的功能。
老外也是敬业,sun都被收购了这么多年了。jdk1.4的demo都还在,要是国内公司,这些历史网页资源估计都化成灰了
默认会提示安全问题或者版本问题被阻值,不过可以jcontrol去添加需要访问的站点到例外站点里。添加完需要彻底关掉浏览器再开启才会生效,这样就可以访问web页面的applet了。
对于JNLP,要简单一些,因为他是下载到本地,能执行就行。
需要设置的就是javaws,下面这个就是我的设置。配置好同样设置安全站点,也可以启动jnlp了、
update-alternatives --display javaws
javaws - 手动模式
最佳链接版本为 /usr/lib/jvm/jdk1.8.0_202/jre/bin/javaws
链接目前指向 /usr/lib/jvm/jdk1.8.0_202/jre/bin/javaws
链接 javaws 指向 /usr/bin/javaws
从链接 javaws.1.gz 指向 /usr/share/man/man1/javaws.1.gz
/usr/lib/jvm/jdk1.8.0_202/jre/bin/javaws - 优先级 8888
/usr/share/icedtea-web/bin/javaws.sh - 优先级 1101
次要 javaws.1.gz:/usr/share/icedtea-web/man/man1/javaws.1.gz
顺便再白嫖点别人的成果吧
下面是AppletDemo.java
import java.applet.Applet;
import java.awt.Graphics;
public class AppletDemo extends Applet
{
@Override
public void paint(Graphics g)
{
g.drawString("Hello Applet!", 5, 30);//绘制文本
g.drawArc(80,50,40,40,20,360);//绘制一个圆形
}
}
<html>
<head>
<title>Applet</title>
</head>
<body>
<applet CODE = "AppletDemo.class" width = "300" height = "100"></applet>
</body>
<html>
然后javac AppletDemo.java ,这样就可以浏览器访问这个Html页面就可以验证applet是否成功配置好了。
当然人家官网的更好。
JNLP在线的demo,oracle 也有
https://docs.oracle.com/javase/tutorial/deployment/webstart/deploying.html