2010-04-30 97 views
1

我在ASP.NET MVC应用程序中使用applet(使用嵌入标签)时测试服务器时遇到了一个奇怪的问题Applet在IE和Firefox浏览器本地都能正常工作,但是当部署到测试服务器时,只有Firefox的例外(IE工作正常)。Firefox中的Java Applet

请帮我在这

basic: exception: javax.xml.parsers.FactoryConfigurationError: Provider <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> not found. 
java.lang.RuntimeException: javax.xml.parsers.FactoryConfigurationError: Provider <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> not found 
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: javax.xml.parsers.FactoryConfigurationError: Provider <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> not found 
    at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source) 
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:772) 
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:696) 
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:471) 
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:125) 
    at org.apache.log4j.Logger.getLogger(Logger.java:105) 
     Exception: java.lang.RuntimeException: javax.xml.parsers.FactoryConfigurationError: Provider <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> not found 
Ignored exception: java.lang.RuntimeException: javax.xml.parsers.FactoryConfigurationError: Provider <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> not found 
basic: Starting applet teardown 
basic: Finished applet teardown 

回答

1

显然log4j的尝试访问一些XML配置文件,它期望他们无法找到他们。

+0

感谢您的回复PhiLho, 我有2个问题, 同样的代码在FireFox本地工作 为什么IE不会抛出这个异常? 我的脑袋正在旋转这个问题 – batwadi 2010-04-30 15:13:12

0

问题实际上是DTD无法找到。这可能是由applet运行的安全框中的访问限制引起的。IE可能更灵活,或者实际上在客户端缓存中。

这就是说,这表明log4j XML配置文件是用HTML doctype声明的。为什么在那里?这是一个XML文件,摆脱HTML文档类型。只需一个XML声明,最终一个log4j.dtd就足够了。