2010-01-14 74 views

回答

1

我還沒有做這件事很長時間(所以安全模型可能已經改變了我),但訣竅是配置服務器來處理一些翻譯。說你的網址:

http://example.com/applets/MyCode/1.0 

您設置的URL轉換,這樣你處理http://example.com/applets與CGI腳本,然後把它/MyCode/1.0PATH_INFO。你返回你需要返回的任何東西。

你爲什麼要這樣做?

0

the doc

出於安全原因,applet的 類加載器只能從applet的 啓動的 同一個代碼庫讀取。這意味着,檔案 archiveList中必須在同一 目錄,或者在, 代碼庫的子目錄

所以我懷疑這將是有問題的。

1

我能夠實現這一點。我使用的機制是將cgi腳本文件包裝在shell腳本中。這個包裝程序調用cgi腳本,然後它會在它作爲小程序的頁面中將特殊請求嵌入到原始URL中。然後腳本會再次運行並檢測到這個特殊請求。它會在沒有任何輸出的情況下中斷,但返回值是shell腳本會捕獲並輸出的jar/class文件。

Fetch.sh

run_the_cgi_script.cgi 

情況下$?在

0) #normal script operation without special requests 
    #do nothing more 
;; 

1) #a special request that maps to Test3.class 
echo "Content-type: application/java-archive" 
echo "" 
cat ./$myDIR/Test3.class;; 

2) #a special request that maps to someclass.class 
echo "Content-type: application/java-archive" 
echo "" 
cat ./$myDIR/someclass.class;; 

3) #a special request that maps to somejar.jar 
echo "Content-type: application/java-archive" 
echo "" 
cat ./$myDIR/somejar.jar;; 

ESAC

相關問題