我在我的模块中使用JOptionPane.showMessageDialog(null,ExNull)
。
Exnull
是陷阱中陷阱的SQLException
。
我的问题是在Tomcat服务器上进行相同的测试时,JOptionPane
效果很好,但是当在Weblogic服务器上部署相同内容时,弹出窗口似乎不会弹出。
有人可以在这里帮忙,或者建议替代方案吗?
我得到的错误是:
java.awt.HeadlessException
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
at java.awt.Window.<init>(Window.java:431)
at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1673)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:846)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:592)
答案 0 :(得分:0)
开发Web应用程序时,不应使用GUI来报告错误。显然,WebLogic甚至不允许在无头模式下运行(即不能显示GUI元素)。
在服务器应用程序中报告错误的常用方法是记录它(例如将堆栈跟踪写入文件)。周围有许多日志库(例如Apache commons-logging,log4j或SLF4J),简单的日志库甚至在Java的核心API中,请参阅API documentation of the java.util.logging
package。
编辑:如果您真的想要显示GUI(我建议不要使用它),应该可以修改WebLogic配置:查找-Djava.awt.headless=true
并将其更改为{{1 }}
根据您的想法,您可以考虑多种替代解决方法:
false
。最后两个解决方法还可让您从开发人员计算机监控Web应用程序,而无需远程控制服务器。