需求: jar文件以base64格式編碼存在數據庫中。(都是字符串) 客戶端applet,根據用戶操作要去請求不同的jar,后天從數據庫里取出jar,傳給applet,客戶端使用Classloader加載jar。 目前方法: 客戶端接收base64字符串后,解碼,解碼結果出保存在buffer里,buffer寫道本地文件xx.jar,然后用URLClassloader 從本地加載jar。 存在問題:讀寫本地文件需要權限問題,這個通過數字簽名可以解決。另外,在硬盤上讀寫文件效率太低,耗時太多。 請問,能不能自定義一個Classloader 直接從byte數組buffer里找相應的class和resource ,沒有讀寫文件過程?具體需要怎么實現?
2 回答

largeQ
TA貢獻2039條經驗 獲得超8個贊
<applet code="analyzer.c_analyzer.class" archive="analyzer.jar;jfreechart.jar" width="100%" height="100%">
</applet>
analyzer.jar,jfreechart.jar放在同級目錄。
1.不過如果你的jfreechart.jar太大,會導致用戶在使用applet的時候從服務器下載jfreechart.jar時間過長.
2.提供兩個解決方案,
a.你可以把涉及到jfreechart.jar包的相關功能放到服務器上,做成servlet,然后在applet里面使用java.net包下url類訪問此servlet拿到http的response,然后解析獲取你自己需要的東西。
b.把jfreechart.jar包的相關功能發布成一個webservice,在applet里面去調用這個webservice的方法
- 2 回答
- 0 關注
- 183 瀏覽
添加回答
舉報
0/150
提交
取消