按理说这种老掉牙的浏览器控件或者功能扩展技术应该没有人用了。但偏偏就还有大量的企业在用,尤其是中国企业。。。。,安全性不好说。不过反正现在年年都要搞攻防演练。
说到正事,还有客户就要在浏览器访问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