-1
JOptionPane.showMessageDialog(null, "User Account already Exist !!", "Signup", JOptionPane.ERROR_MESSAGE);
response.sendRedirect("http://localhost:8084/app/index.html");

我在servlet中编写了上面的代码。

第一个问题:

我在本地机器上得到对话框,但是在对话框之后,页面没有重定向到index.html. 我的意思是它仍然在同一个屏幕上。

第二个问题:

当我尝试使用 IP 地址(如http://xxx.xxx.xxx.xxx:8084/app/index.html. 在这种情况下,对话框显示在服务器机器上而不是在客户端机器上。

请帮我解决这些问题。另外,对话框总是显示在浏览器后面,有什么办法,它会显示在浏览器前面的屏幕上吗?

4

2 回答 2

1

这是因为您使用的是独立的 Swing JdialogBox,不能在 Web 应用程序上使用。如果您需要为客户端显示任何对话框,那么最好使用如下所示的 Javascript 警报

function x()
{
alert("user account already exists");
}

看看这个 javascript 警报是如何工作的

关联

于 2013-09-05T07:45:44.213 回答
1

您不能Java Swing在中使用组件Servlet.

相反,您可以显示Javascript Alert

//servlet code
PrintWriter out = response.getWriter();  
response.setContentType("text/html");  
out.println("<script type=\"text/javascript\">");  
out.println("alert('User Account already Exist !!');");  
out.println("</script>");

编辑(我已经尝试过自己并且它有效)

我的小服务程序

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class JavaScriptAlertServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public JavaScriptAlertServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        response.setContentType("text/html");
        out.println("<script type=\"text/javascript\">");
        out.println("alert('User Account already Exist !!');");
        out.println("</script>");
    }

}

工作证明

于 2013-09-05T07:48:17.193 回答