今天遇到一个非常棘手的问题,事关公司项目的进度,望javaeye中高手不吝赐教。
问题如下:
公司项目中有一个业务功能用到了applet。我把要用的class类都放入了applet.jar中,用签名工具进行了签名。我把这块功能放置在公司内部开发和测试两台服务器上部署,进行测试都没有问题。但是我部署到客户现场的测试系统就有问题。applet.jar包和签名文件都是直接copy过去的(文件一定是一致的)。
环境配置:web服务器采用了webSphere 4.*
JDK 采用jdk1.4.2
applet.jar编译采用jdk1.5
每次运行applet.jar包程序报:
Java Plug-in 1.5.0_10
使用 JRE 版本 1.5.0_10 Java HotSpot(TM) Client VM
用户主目录 = C:\Documents and Settings\Administrator
----------------------------------------------------
c: 清除控制台窗口
f: 终结在结束队列上的对象
g: 垃圾收集
h: 显示此帮助消息
l: 转储类载入程序列表
m: 打印内存使用
o: 触发日志记录
p: 重新载入代理配置
q: 隐藏控制台
r: 重新载入策略配置
s: 转储系统和部署属性
t: 转储线程列表
v: 转储线程堆栈
x: 清除类载入程序高速缓存
0-5: 设置跟踪级别为<n>
----------------------------------------------------
log4j:ERROR Parsing error on line 3 and column 7
log4j:ERROR Document root element "html", must match DOCTYPE root "null".
log4j:ERROR Parsing error on line 3 and column 7
log4j:ERROR Document is invalid: no grammar found.
log4j:ERROR Parsing error on line 5 and column 10
log4j:ERROR Invalid byte 1 of 1-byte UTF-8 sequence.
log4j:ERROR Could not parse input source [org.xml.sax.InputSource@84cc09].
org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:665)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
at org.apache.log4j.Logger.getLogger(Logger.java:85)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370)
at org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37)
at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)
at cn.enrising.materialFlow.client.SearchProductCommandServiceLocator.<init>(SearchProductCommandServiceLocator.java:12)
at cn.enrising.materialFlow.appletClient.ScanerApplet.initMaterialNamesList(ScanerApplet.java:638)
at cn.enrising.materialFlow.appletClient.ScanerApplet.init(ScanerApplet.java:293)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.
java.util.MissingResourceException: Can't find resource for bundle org.apache.axis.i18n.ProjectResourceBundle, key engineFactory
at java.util.ResourceBundle.getObject(Unknown Source)
at java.util.ResourceBundle.getObject(Unknown Source)
at java.util.ResourceBundle.getString(Unknown Source)
at org.apache.axis.i18n.MessageBundle.getMessage(MessageBundle.java:193)
at org.apache.axis.i18n.MessageBundle.getMessage(MessageBundle.java:101)
at org.apache.axis.utils.Messages.getMessage(Messages.java:80)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:141)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:160)
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)
at cn.enrising.materialFlow.client.SearchProductCommandServiceLocator.<init>(SearchProductCommandServiceLocator.java:12)
at cn.enrising.materialFlow.appletClient.ScanerApplet.initMaterialNamesList(ScanerApplet.java:638)
at cn.enrising.materialFlow.appletClient.ScanerApplet.init(ScanerApplet.java:293)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.util.MissingResourceException: Can't find resource for bundle org.apache.axis.i18n.ProjectResourceBundle, key engineFactory
at java.util.ResourceBundle.getObject(Unknown Source)
at java.util.ResourceBundle.getObject(Unknown Source)
at java.util.ResourceBundle.getString(Unknown Source)
at org.apache.axis.i18n.MessageBundle.getMessage(MessageBundle.java:193)
at org.apache.axis.i18n.MessageBundle.getMessage(MessageBundle.java:101)
at org.apache.axis.utils.Messages.getMessage(Messages.java:80)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:141)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:160)
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)
at cn.enrising.materialFlow.client.SearchProductCommandServiceLocator.<init>(SearchProductCommandServiceLocator.java:12)
at cn.enrising.materialFlow.appletClient.ScanerApplet.initMaterialNamesList(ScanerApplet.java:638)
at cn.enrising.materialFlow.appletClient.ScanerApplet.init(ScanerApplet.java:293)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
还望高手指点,在线等待!!!也期待直接QQ联系:405629073 谢谢!
分享到:
相关推荐
4. **权限问题**:由于安全限制,Applet运行在沙箱环境中,不能访问本地文件系统或网络资源。如果Applet试图执行超出其权限的操作,会抛出异常。 5. **编译错误**:Applet的源代码可能存在语法错误或逻辑错误,导致...
Java虚拟机为Applet运行提供了一个“沙箱”环境,限制了Applet的某些操作,以防止恶意代码的执行。例如,Applet不能随意调用其他程序、进行文件读写、加载本地库或与非提供Applet的主机建立socket连接。这些限制确保...
### 在JDK和Eclipse下Java Applet的编写与运行详解 #### 一、Java Applet简介 Java Applet是一种可以嵌入到网页中的小型Java应用程序。它可以在支持Java的Web浏览器上运行,使得开发者能够利用Java的强大功能来...
3. **代码访问限制**:由于安全原因,Java Applet运行在沙箱环境中,对本地文件系统的访问受到限制。如果图片位于本地文件系统而非Web服务器,可能需要通过`JApplet.getAppletContext().getDocumentBase()`或`...
- **兼容性问题**:需要注意的是,随着Java版本的发展,某些旧版Applet可能不再支持最新的JRE环境。因此,在开发过程中应确保所使用的Java版本与Applet兼容。 - **安全性考虑**:出于安全原因,现代浏览器已经逐步...
1. **安全性问题**:由于Applet运行在用户的机器上,因此对安全性的要求较高。Java提供了沙箱机制来限制Applet的权限,防止恶意代码执行。如果Applet试图突破这些限制,可能会导致安全问题。 2. **兼容性问题**:...
- **安全沙箱**:为了防止恶意代码的执行,Applet运行在一个称为“安全沙箱”的环境中,它限制了Applet对本地系统的访问权限。默认情况下,Applet不能读取、写入或执行本地文件,也不能打开网络连接。 - **数字...
1. **相对路径问题**:当图片文件与Applet不在同一目录下,或者Applet运行时找不到图片文件的正确路径,图片将无法加载。确保图片文件的路径相对于Applet类文件是正确的。如果图片与Applet类在同一目录下,可以使用...
Applet是Java的一种早期特性,它允许开发者创建可以在Web浏览器中运行的小型交互式程序。在这个特定的案例中,开发者通过编写代码实现了将数学中的三角函数——正弦函数的图像动态地展示出来。 【描述】提到“程序...
- 由于Applet运行在用户机器上,为了安全考虑,Java插件会限制Applet的权限,例如不能访问本地文件系统,除非用户明确授权。 - Applet可以使用`signed`方式签名,以获取更多的系统权限,但这样可能会带来安全风险...
对于Applet来说,由于它运行在用户的浏览器中,内存泄漏问题可能会对整个浏览器的性能造成严重影响。 首先,"Applet_JVM.doc"可能详细介绍了Applet与Java虚拟机(JVM)的关系。在Java中,每个Applet都运行在自己的...
在Java的早期版本中,Applet是一种通过Web浏览器运行的小型Java程序,它可以在用户的计算机上执行。然而,出于安全考虑,Applet默认被限制在沙箱环境中运行,无法访问本地资源或执行某些敏感操作。当需要Applet执行...
JavaApplet运行在用户的浏览器上,由Java Virtual Machine (JVM)支持,因此它具有跨平台的能力。 一、JavaApplet的基本概念 1. 小应用程序:JavaApplet就是一个在Web浏览器中运行的Java程序,通常嵌入到HTML页面中...
标题中的“firefox applet”指的是在Firefox浏览器中尝试运行Java小应用程序(Applet)时遇到的问题。Applet是Java编程语言的一种早期应用形式,它允许开发者创建可以在网页中嵌入的交互式内容。然而,随着技术的...
java Applet程序的特色,是不能够自行运行的,它必须要进行内嵌网页后才有有完整的网络运行能力。java Applet内嵌网页后,我们能够支持文字、图案、音频和视频等的处理。因此,为了能够在HTML网页中使用相关功能,要正确...
4. **签名和安全**: 由于applet是在客户端运行,因此存在安全性问题。未签名的applet受到安全沙箱的限制,不能访问本地文件系统或网络资源,而签名的applet可以请求更多的权限。 **创建和运行Applet** 1. **编写...
Java Applet 是一种基于Java平台的小程序,它可以在支持Java的Web浏览器中运行,为用户提供交互式的用户体验。在20世纪90年代中期,Java Applet是互联网上动态内容的一种流行方式,允许开发者创建可嵌入网页的动态...
安全是Applet的一个重要考虑因素,因为它们可以在用户的机器上运行。为防止恶意代码,Java的沙箱模型限制了Applet的一些权限,比如访问本地文件系统和网络资源。因此,开发者必须确保Applet代码的安全性,遵循良好的...
- 由于Applet运行在用户机器上,为防止恶意代码,Java提供了安全沙箱模型,限制了Applet对本地系统的访问权限。 - 签名的Applet可以通过数字签名来获得更多的权限,但这也增加了安全风险。 6. **替代技术** - ...