java - showMessageDialog() 方法导致程序卡在 Java Web Project 中

标签 java eclipse swing web

我正在使用 eclipse 开发 Java Web 动态项目。调用函数时:

JOptionPane.showMessageDialog(null, "Invalid Username or Password");

无论是运行还是调试,程序都会卡住,并且不出现警告窗口。并且该程序永远无法转发。

我在 eclipse Java EE 中使用 Tomcat 8.0 Server 来测试该项目。以下是我的一段代码:

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    JOptionPane.showMessageDialog(null, "Invalid Username or Password");
}

并且证明了doPost的功能是正确的。那么程序卡住的原因是什么以及如何解决呢?

最佳答案

JOptionPane 是一个 Swing 组件,而不是您通常在 Web 项目中使用的组件。 showMessageDialog是一个阻塞函数,这就解释了为什么会卡住。 doPost 是服务器端,需要向客户端返回错误。您不应在此处执行 UI 操作。当 POST 返回并在响应中包含错误时,客户端必须显示错误。

关于java - showMessageDialog() 方法导致程序卡在 Java Web Project 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39169104/

相关文章:

java - 函数定义前@Produces、@GET、@Path 和@QueryParam 的意义

java - 如何将 Eclipse java 项目部署到 jar 文件中

java - 如何从 JPanel 触发 ActionEvent

java - 需要 JButton 事件支持

java - 如何在 LinearLayout 中实现 ListView?

Java Matcher 组输出问题

java - 从 Java 正确调用 ffmpeg

java - Thread 类的 join() 方法是如何工作的?

java - Weblogic 12c 与 Eclipse Luna RC3

Java:即使设置了 `setVerticalScrollBarPolicy` 和其他选项,滚动条也不会出现