猿问

没有读写文件过程?具体需要怎么实现?

需求: 
jar文件以base64格式编码存在数据库中。(都是字符串) 
客户端applet,根据用户操作要去请求不同的jar,后天从数据库里取出jar,传给applet,客户端使用Classloader加载jar。 

目前方法: 客户端接收base64字符串后,解码,解码结果出保存在buffer里,buffer写道本地文件xx.jar,然后用URLClassloader 从本地加载jar。 

存在问题:读写本地文件需要权限问题,这个通过数字签名可以解决。另外,在硬盘上读写文件效率太低,耗时太多。 

请问,能不能自定义一个Classloader 直接从byte数组buffer里找相应的class和resource ,没有读写文件过程?具体需要怎么实现?

德玛西亚99
浏览 155回答 2
2回答

largeQ

<applet code="analyzer.c_analyzer.class" archive="analyzer.jar;jfreechart.jar" width="100%" height="100%">&nbsp;&nbsp;&nbsp;</applet>&nbsp;&nbsp;analyzer.jar,jfreechart.jar放在同级目录。&nbsp;1.不过如果你的jfreechart.jar太大,会导致用户在使用applet的时候从服务器下载jfreechart.jar时间过长.&nbsp;2.提供两个解决方案,&nbsp;&nbsp; a.你可以把涉及到jfreechart.jar包的相关功能放到服务器上,做成servlet,然后在applet里面使用java.net包下url类访问此servlet拿到http的response,然后解析获取你自己需要的东西。&nbsp;&nbsp; b.把jfreechart.jar包的相关功能发布成一个webservice,在applet里面去调用这个webservice的方法

沧海一幻觉

URLClassLoader&nbsp;&nbsp; 这个可以解决远程加载类的问题,不用把jar文件从服务器读到本地,然后再加载本地文件。
随时随地看视频慕课网APP

相关分类

JQuery
我要回答