为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

德玛西亚99 2023-04-08 22:18:15
需求: 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的方法

查看完整回答
反对 回复 2023-04-12
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

URLClassLoader   这个可以解决远程加载类的问题,不用把jar文件从服务器读到本地,然后再加载本地文件。

查看完整回答
反对 回复 2023-04-12
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信