需求: jar文件以base64格式编码存在数据库中。(都是字符串) 客户端applet,根据用户操作要去请求不同的jar,后天从数据库里取出jar,传给applet,客户端使用Classloader加载jar。 目前方法: 客户端接收base64字符串后,解码,解码结果出保存在buffer里,buffer写道本地文件xx.jar,然后用URLClassloader 从本地加载jar。 存在问题:读写本地文件需要权限问题,这个通过数字签名可以解决。另外,在硬盘上读写文件效率太低,耗时太多。 请问,能不能自定义一个Classloader 直接从byte数组buffer里找相应的class和resource ,没有读写文件过程?具体需要怎么实现?
2 回答
largeQ
TA贡献2039条经验 获得超7个赞
<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 关注
- 153 浏览
添加回答
举报
0/150
提交
取消