OS X如何在Safari运行Java applet小程序
2016-05-20 23:47
489 查看
前言
说来都是泪,百度谷歌了很久就是不得其道,我不知道是不是因为这对于别人来说是一个很不是问题的问题,至少也是困扰我一整天了,废话不多说直接开工。运行环境
操作系统:OS X 10.11.1
浏览器:Safari 9.0.1
Java环境:JRE 1.8u92
代码
本文所需要到的一些测试代码,由于是很基础的东西,就不多说了,直接上代码
// 很简单一段Java applet的小程序代码,就是画一个红色正方形出来 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.Color.*; public class FirstApplet extends JApplet { public void paint(Graphics g) { g.setColor(Color.RED); g.fillRect(0,0,100,100); } }
// 很简单的一段html,因为接下来的操作需要用到jar包,所以说明一下 // code是指定类文件用的,根据自己的类名来写就好,archive是指定jar <!DOCTYPE html> <html> <body> <applet codebase="." code="FirstApplet.class" archive="test.jar" name="TestApplet" width="400" height="300" hspace="0" vspace="0" align="middle"></applet> </body> </html>
编译java文件生成jar包
首先把xxxx.java 和 xxxx.html(xxxx就是你自己取的名字)放在同一个文件夹,打开终端cd到该目录,我放在了~/Sites目录
cd ~/Sites javac xxxx.java jar -cvf xxxx.jar xxxx.class
这就生成好jar包了
生成密匙证书 并为jar包签名
1、产生密匙库
keytool -genkey -keystore test.store -alias test
2、产生证书
//把一下命令写在同一行,为避免复制粘贴导致分行,请分别复制,务必保证 //以下命令块是一个完整的 keytool -export -keystore test.store -alias test -file test.cert
3、用密匙库为jar包签名
jarsigner -keystore test.store xxxx.jar test
4、查看一下是否签名成功
jarsigner -verify -verbose -certs xxxx.jar
那么证书的生成和代码签名都完成了,启示之前我一直就是没搞清楚,Safari对于Java web程序严格到必需签名才能运行applet
接下来要配置http服务器
经过我的无数次试验,直接双击打开本地的.html文件是没办法运行Java applet的,即使已经签名,我不知道为什么,似乎是因为不能配置信任站点
OS X很早以前就自带Apache了,所以我们配置也很简单,我就不再多说了,自己百度下,教程很多,我的配置是将用户的DirectoryRoot目录和系统的DirectoryRoot目录分开
要访问系统/Library/WebServer/Documents目录的index.html文件可以通过三种方式进行访问index 站点
http://localhost http://127.0.0.1 http://(本机的内网或外网IP,当然前提是映射了80端口)
同样的,要访问用户站点也是三种方式
此处"username"指的是你OS X的用户名,引号不要 http://localhost/~"username" http://127.0.0.1/~"username" http://192.168.1.1/~"username"(本机的内网或外网IP,当然前提是映射了80端口,假设是192.168.1.1)[/code]
当然了,配置完apache还不算完,还需要一些列的……
为站点添加信任 包括Safari和Java的信任打开Apple偏好设置->Java 控制面板->安全选项卡->编辑站点列表 然后讲你需要用于访问applet的URL填写进去比如 http://localhost/~bppleman/ http://www.javatester.org/installing.html 你可以添加多个打开Safari访问 http://localhost/~bppleman/[/code]打开Safari偏好设置->安全性->确保启用JavaScript、允许 WebGL、允许插件已打上勾->插件设置->选中Java->将你需要的网站设置为始终允许
目前为止大部分工作都已经完成了,如果对于apache的配置还不是很熟悉不愿意折腾的话,可以先用
JavaTester
这个网站做实验,只要能获取到本机的JRE版本信息,那么就说明本机的applet环境已经正确
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Manifest 用法
- Android学习笔记(二九):嵌入浏览器
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- PropertyChangeListener简单理解
- 广告行业抱怨 Safari 的防追踪技术 ITP 太有效,严重影响收入
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器