applet notinited的解决方案

本文记录了解决Applet加载失败的问题过程,分析了错误原因并给出了正确的Applet配置方式,最终通过调整路径解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目当中正好使用到了applet,这个很少接触过的东东。

大体是在页面当中使用一个applet生成一个文本文件。

 

奇怪的是页面一直报错。

 

java.lang.ClassNotFoundException: framework.applet.FileUtil.class

at sun.applet.AppletClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.applet.AppletClassLoader.loadCode(Unknown Source)

at sun.applet.AppletPanel.createApplet(Unknown Source)

at sun.plugin.AppletViewer.createApplet(Unknown Source)

at sun.applet.AppletPanel.runLoader(Unknown Source)

at sun.applet.AppletPanel.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.io.IOException: open HTTP connection failed.

at sun.applet.AppletClassLoader.getBytes(Unknown Source)

at sun.applet.AppletClassLoader.access$100(Unknown Source)

at sun.applet.AppletClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

... 10 more


applet在页面的配置如下
<Applet width="0" height="0" id="TestApplet"
	code="framework.applet.FileUtil.class"
	codebase="/jsp/lms/wms/sorting/grandIntfTask/" >
</Applet>
 
class文件放置路径如下
--jsp
       --lms
                --wms
                          --sorting 
                                        --grandIntfTask
                                                                 --framework
                                                                                     --applet
                                                                                                   FileUtil.class

从路径上来看并没有发现问题。


上网搜索了很多资料,说法有很多。

一种说法是可能由于JDK自动升级导致,编译applet的版本和升级后的版本冲突,建议在控制面板中删除新升级的版本。

还有一种说法是如果该applet引用了其他的第三方工具类,必须和第三方工具类一起打jar包,再使用签名来实现。


使用这两种方法都没能解决上述问题。


最后无意中发现了问题所在。

在IE中调出java控制面板。将跟踪级别调高。观察日志。

etwork: 未找到高速缓存项 [url: http://localhost:8088/jsp/lms/wms/sorting/grandIntfTask/framework/applet/FileUtil.class,版本: null]
network: 正在使用代理 DIRECT 连接 http://localhost:8088/jsp/lms/wms/sorting/grandIntfTask/framework/applet/FileUtil.class
network: 未找到高速缓存项 [url: http://localhost:8088/jsp/lms/wms/sorting/grandIntfTask/framework/applet/FileUtil/class.class,版本: null]
network: 正在使用代理 DIRECT 连接 http://localhost:8088/jsp/lms/wms/sorting/grandIntfTask/framework/applet/FileUtil/class.class

可以看到applet的地址明显是错误的,路径中没有包括服务名


修改后的代码如下
<Applet width="0" height="0" id="TestApplet"
	code="framework.applet.FileUtil.class"
	codebase="<%=request.getContextPath() %>/jsp/lms/wms/sorting/grandIntfTask/">
	
</Applet>
 

在前面加入contextPath,问题顺利解决。

IE版本:8.0
JRE版本:1.6



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值