0

我现在有一个很大的疑问,在我的 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);
    } 
4

3 回答 3

1

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

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

http://jquery.com/

希望这会有所帮助。

干杯!!

于 2013-07-17T14:01:30.437 回答
1

好的,我找到了解决方案..

有了这个:

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "www.google.es");

www.google.es 将是一个页面,我可以在该页面上通知用户他做了任何坏事,这样您就可以告诉客户有什么问题,并且您只需要服务器中的一个网页即可。

现在一切都解决了,如果验证不正确,我强制数据库中的咨询失败,然后我的 jsp ctach 失败并从服务器发送警报消息。

这样就不必再做另一个 servle 来更改 servlet。

于 2013-07-18T07:26:29.817 回答
0

这应该让你的事情变得容易。

http://www.easywayserver.com/jsp/JSP-form-validation.htm

于 2013-07-17T20:11:00.753 回答