OS X如何在Safari運行Java applet小程序

前言


說來都是淚,百度谷歌了很久就是不得其道,我不知道是不是因爲這對於別人來說是一個很不是問題的問題,至少也是困擾我一整天了,廢話不多說直接開工。

  • 運行環境
    操作系統: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)

當然了,配置完apache還不算完,還需要一些列的……

  • 爲站點添加信任 包括Safari和Java的信任
打開Apple偏好設置->Java 控制面板->安全選項卡->編輯站點列表
然後講你需要用於訪問applet的URL填寫進去比如
http://localhost/~bppleman/
http://www.javatester.org/installing.html
你可以添加多個
打開Safari訪問
http://localhost/~bppleman/
打開Safari偏好設置->安全性->確保啓用JavaScript、允許 WebGL、允許插件已打上勾->插件設置->選中Java->將你需要的網站設置爲始終允許

目前爲止大部分工作都已經完成了,如果對於apache的配置還不是很熟悉不願意折騰的話,可以先用
JavaTester
這個網站做實驗,只要能獲取到本機的JRE版本信息,那麼就說明本機的applet環境已經正確

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章