java - 从服务器到客户端的警报消息

标签 java servlets client alert

我现在有一个很大的疑问,在我的 j2ee 应用程序中,我在 ddbb 中进行咨询的类中做了一些验证,我的问题是在某些情况下我需要向客户端发送警报消息,但是我认为这是不可能的,问题是我无法在 from 部分或 servlet 中进行验证,因为验证是在不同数据库中的不同查询之间进行的,那么我认为我必须硬编码,以处理外部验证,我的问题是...

我如何向客户端发送警报消息?

我过去了一些代码:

   public String [] modificarTablaAdmin (Connection conexion, String [] datosModificar){
        String [] resultado=new String[0];

        String modificacion = "";
        Statement stmt=null;
        String [] condicion = null;
        String[] condicionB=null;
        String dia="";
        String mes="";
        String condicionGeneral = null;
        String horas="";
        String minutos="";
        String annio = "";
        String segundos="";
        String ojo ="";
        String ojo2 ="";
        String base= null;
        int traza= 0;
        int mesInt = 0;

        ArrayList<String> elementos=new ArrayList<String>();


        Statement stmt2=null;
        Statement stmt3=null;
        String cadenaBusqueda = datosModificar (datosModificar);
        String [] condicionZ=cadenaBusqueda.split("ESTDEF");

        System.out.println("los importantes son"+ condicionZ[0]);
        System.out.println("los datos son"+ condicionZ[1]);

        String [] condicionW=cadenaBusqueda.split("'");
        System.out.println("el 0 dato es"+ condicionW[0]);
        System.out.println("el 1 dato es"+ condicionW[1]);
        System.out.println("el 2 dato es"+ condicionW[2]);
        System.out.println("el 3 dato es"+ condicionW[3]);
        System.out.println("el 4 dato es"+ condicionW[4]);
        System.out.println("el 5 dato es"+ condicionW[5]);
        System.out.println("el 6 dato es"+ condicionW[6]);
        System.out.println("el 7 dato es"+ condicionW[7]);


        String [] condicionZA=condicionZ[1].split("DESLOT");
        System.out.println("los importantes para otra validacion son"+ condicionZA[0]);
        System.out.println("los datos validacion de la muerte son"+ condicionZA[1]);
        String [] condicionZAW=condicionZA[1].split("'");

        System.out.println("el 0 dato es"+ condicionZAW[0]);
        System.out.println("el 1 dato es"+ condicionZAW[1]);
        System.out.println("el 2 dato es"+ condicionZAW[2]);
        System.out.println("el 3 dato es"+ condicionZAW[3]);
        System.out.println("el 4 dato es"+ condicionZAW[4]);

        try{

            stmt2 = conexion.createStatement();

            String q2 = "select estad from O02CSFE0.PAI_MAESTRA WHERE APLIC = '" + condicionW[3] + "' AND FORM = '" + condicionW[5] + "' AND VERS = '" + condicionW[7] + "'";

            System.out.println(q2);
            ResultSet rset2 = stmt2.executeQuery(q2);

            while (rset2.next())
            {
            ojo=rset2.getString("Estad");
            System.out.println ("ojoooooooooo  " + ojo);
            }

        }catch(SQLException e){
            e.printStackTrace();


        }finally{
        try{
            if(stmt2!=null){
                stmt2.close();
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        }

        try{

            stmt3 = conexion.createStatement();

            String q3 = "select estad from O02CSFE0.PAI_MAESTRA WHERE APLIC = '" + condicionW[3] + "' AND FORM = '" + condicionW[5] + "' AND VERS = '" + condicionW[7] + "'";

            System.out.println(q3);
            ResultSet rset3 = stmt3.executeQuery(q3);

            while (rset3.next())
            {
            ojo2=rset3.getString("Tipfor");
            System.out.println ("ojoooooooooo nuevo " + ojo2);
            }

        }catch(SQLException e){
            e.printStackTrace();


        }finally{
        try{
            if(stmt3!=null){
                stmt3.close();
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        }



        if ((ojo.equals("P")==true)||(ojo.equals("R")==true))
        {

        try{
            stmt = conexion.createStatement();
            //System.out.println("los datos de alta son completos:   " +  datosModificar(datosModificar));


            for (int i=0;i<datosModificar.length;i++)
            {
                //System.out.println("probando muy importante" + datosModificar[i]);

                condicionB=datosModificar[i].split("~");
                condicion=datosModificar[i].split("~");
                int entrada = 0;    

                if( condicionB[0].equals("NRBE")==true)     
                {
                condicionGeneral = condicionB[0] + " = '" +  condicionB[1] + "'";

                entrada = 1;
                }

                if (condicionB[0].equals("APLIC")==true)
                {
                    entrada = 1;
                    condicionGeneral += " and " + condicionB[0] +  "='" + condicionB[1] + "'";


                }

                if (condicionB[0].equals("FORM")==true)
                {
                    entrada = 1;
                    condicionGeneral += " and " + condicionB[0] +  "='" + condicionB[1] + "'";
                }

                if (condicionB[0].equals("VERFOR")==true)
                {
                    entrada = 1;
                    condicionGeneral += " and " + condicionB[0] +  "='" + condicionB[1] + "'";
                }

                if(condicionB[0].equals("TIPPAP")==true)
                {

                    if((condicion[1].equals("AA")==true)||(condicion[1].equals("AC")==true)||(condicion[1].equals("NE")==true)||(condicion[1].equals("NC")==true))
                    {
                        if (ojo2.equals("04")==true)

                        {
                            traza = 1;
                        }                                   
                    }

                    if((condicion[1].equals("AB")==true)||(condicion[1].equals("NF")==true))
                    {
                        if (ojo2.equals("12")==true)

                        {
                            traza = 1;

                        }                                   
                    }

                    if((condicion[1].equals("AG")==true)||(condicion[1].equals("NG")==true))
                    {
                        if (ojo2.equals("11")==true)

                        {
                            traza = 1;
                        }                                   
                    }



                }


                if (entrada==0)
                {

                    modificacion+= condicion[0] + "='" + condicion[1] + "',";
                }

            }

                Calendar c = Calendar.getInstance();

                annio = Integer.toString(c.get(Calendar.YEAR));

                if(c.get(Calendar.DATE)<10)
                {
                    dia = "0" + Integer.toString(c.get(Calendar.DATE));
                }   
                else
                {
                    dia = Integer.toString(c.get(Calendar.DATE));
                }

                mesInt = c.get(Calendar.MONTH);
                mesInt = mesInt + 1;

                if (mesInt == 13)
                    {
                        mesInt = 1;

                    }

                if(mesInt<10)
                    {
                    mes = "0" + Integer.toString(mesInt);
                }   
                else
                {
                    mes = Integer.toString(mesInt);
                }

                if(c.get(Calendar.HOUR_OF_DAY)<10)
                {
                    horas = "0" + Integer.toString(c.get(Calendar.HOUR_OF_DAY));
                }   
                else
                {
                    horas = Integer.toString(c.get(Calendar.HOUR_OF_DAY));
                }

                if(c.get(Calendar.MINUTE)<10)
                {
                    minutos = "0" + Integer.toString(c.get(Calendar.MINUTE));
                }   
                else
                {
                    minutos = Integer.toString(c.get(Calendar.MINUTE));
                }

                if(c.get(Calendar.SECOND)<10)
                {
                    segundos = "0" + Integer.toString(c.get(Calendar.SECOND));
                }   
                else
                {
                    segundos = Integer.toString(c.get(Calendar.SECOND));
                }

            String horaTotal = (horas  + minutos  +segundos);
            String fecha = (annio + mes + dia);
            String modificaciones= "FECMOD = '" + fecha + "', HORMOD = '" + horaTotal + "'";
            String q = "update O02CSFE0.PAI_ADMINISTRACION set " + modificacion + modificaciones + " where "  + condicionGeneral;

            /*JOptionPane.showMessageDialog( null, q );*/

            System.out.println(q);
            if (traza == 1)
            {
            ResultSet rset = stmt.executeQuery(q);
            resultado=new String[elementos.size()];
            }
            else
            {


                System.out.println("NI POR PETERRRRRRRRRR");

            }


        }catch(SQLException e){
            e.printStackTrace();


        }finally{
        try{
            if(stmt!=null){
                stmt.close();
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }}
        else 
        {

            System.out.println("valor no modificables");
            resultado=new String[0];

        }


        return elementos.toArray(resultado);
    } 

最佳答案

如果您只想调用服务器进行验证,您可以使用 AJAX 来调用服务器。如果验证失败,您可以将适当的消息返回给客户端并使用 JavaScript 在 GUI 上显示它们。

为了更好地使用 AJAX,请使用一些 javascript 库,建议使用 JQUERY。

http://jquery.com/

希望这有帮助。

干杯!!

关于java - 从服务器到客户端的警报消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17701141/

相关文章:

java - 如何使用泛型方法在数组中查找整数

java - 在 Eclipse IDE 中保存操作以将 java 代码转换为菱形表示法

java - 如何在Java中正确实现equals

android - GCM 发送图像而不是消息

c - 与 irc 服务器的连接

java - 用 <、=、> 比较两个固定的 double 。真的有问题吗?

java - 如何使用java从查询字符串中读取参数和值?

java - GetServletContext 在扩展 HttpServlet 的类中返回 null

go - 每次请求后关闭 http2 客户端连接

android - Android Serversocket似乎不接受模拟器上的连接