Апплет падает при запуске во второй раз - журнал ошибок предоставлен
У нас есть приложение, которое запускается на странице входа, а затем переходит на вторую страницу, с которой загружается апплет. Все отлично работает. Когда пользователь выходит из системы, браузер возвращается к экрану входа. Если пользователь снова входит в систему, происходит сбой браузера при инициализации частей апплета. Это происходит только при второй загрузке апплета. Кэширование отключено в браузере, но браузер никогда не закрывается полностью, поэтому я прав, если предположим, что апплет, загруженный при первом входе в систему, все еще существует?
Дополнительная информация. Консоль Sun Java появляется при загрузке апплета. Когда пользователь выходит из системы и возвращается к экрану входа, консоль Sun Java все еще работает, хотя экран входа не использует Java (только html и javascript). Я думаю, что что-то не инициализируется повторно, когда пользователь выходит из системы, но апплет останавливается и уничтожается, так что же все еще может зависать?
Как ни странно, это происходит только на одной тестовой машине, но не на других.
Ниже приведен журнал ошибок от SJC:
java.lang.NullPointerException
at javax.swing.text.html.parser.Parser.errorContext(Unknown Source)
at javax.swing.text.html.parser.Parser.parse(Unknown Source)
at javax.swing.text.html.parser.DocumentParser.parse(Unknown Source)
at javax.swing.text.html.parser.ParserDelegator.parse(Unknown Source)
at javax.swing.text.html.HTMLEditorKit.read(Unknown Source)
at javax.swing.JEditorPane.setText(Unknown Source)
at ReportPane.setDescription(ReportPane.java:577)
at ReportPane.doDefineLoad(ReportPane.java:608)
at ReportPane.<init>(ReportPane.java:565)
at RevApp2.createGui(RevApp2.java:640)
at RevApp2.access$0(RevApp2.java:414)
at RevApp2$1.run(RevApp2.java:393)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
asDescription-><font face="CENTURY SCHOOLBOOK">Use to assign accounts to coders.</font>
java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
at RevApp2.init(RevApp2.java:389)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at javax.swing.text.html.parser.Parser.errorContext(Unknown Source)
at javax.swing.text.html.parser.Parser.parse(Unknown Source)
at javax.swing.text.html.parser.DocumentParser.parse(Unknown Source)
at javax.swing.text.html.parser.ParserDelegator.parse(Unknown Source)
at javax.swing.text.html.HTMLEditorKit.read(Unknown Source)
at javax.swing.JEditorPane.setText(Unknown Source)
at AdminPane.setDescription(AdminPane.java:197)
at AdminPane.<init>(AdminPane.java:174)
at RevApp2.createGui(RevApp2.java:656)
at RevApp2.access$0(RevApp2.java:414)
at RevApp2$1.run(RevApp2.java:393)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
netscape.javascript.JSException: Unspecified error invoking method or accessing property "accountfocus"
at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)
at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)
at sun.plugin2.main.client.MessagePassingJSObject.call(Unknown Source)
at RevApp2.start(RevApp2.java:2045)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: netscape.javascript.JSException: Unspecified error invoking method or accessing property "accountfocus"
2 ответа
Если вы воспользуетесь Google "javax.swing.text.html.parser.Parser.errorContext", вы обнаружите, что у других были похожие проблемы, и они сообщили о них на какой-либо доске обсуждений оракула:
http://forums.oracle.com/forums/thread.jspa?messageID=8297744&tstart=0
Они говорят об обходном пути для этого - возможно, это может соответствовать вашему случаю.
Qute с форума:
Я не понимал, правильно ли это было, но смог уклониться от этого, когда сделал это таким образом.
JEditorPane htmlPane = new JEditorPane ("text / html", html);
Обойти эту проблему можно следующим образом:
editorPane.setEditorKit(new HTMLEditorKit() {
protected Parser getParser() {
try {
Class c = Class
.forName("javax.swing.text.html.parser.ParserDelegator");
Parser defaultParser = (Parser) c.newInstance();
return defaultParser;
} catch (Throwable e) {
}
return null;
}
});