您的位置:首页 > 移动开发 > 微信开发

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环境已经正确
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息