Erro ao conectar no banco mysql - ubuntu

52 views
Skip to first unread message

Robinho de Morais

unread,
Jan 1, 2013, 8:43:17 PM1/1/13
to gwt-b...@googlegroups.com
Realizei todos os testes que queria no eclipse + gwt + tom cat + mysql, de tanto sofrimento, persistensia e principalmente ajudar do Vagner Araujo eu consegui fazer...agora sei exatamente o que quero e então vou persisti nele....mas já quero começar pelo certo.

Montei uma maquina virtual com o ubuntu 12.04, configurei o tom cat e mysql nele, tá funcionando tranquilo, então criei o mesmo projeto de sistemaloginrpc no eclipse e fiz todas as configurações....conforme os arquivos abaixo;

Nome do projeto SistemaLoginRPC

Arquivo : SistemaLoginRPC.gwt.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
  When updating your version of GWT, you should also update this DTD reference,
  so that your app can take advantage of the latest GWT module capabilities.
-->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.0//EN"
<module rename-to='sistemaloginrpc'>
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User'/>

  <!-- Inherit the default GWT style sheet.  You can change       -->
  <!-- the theme of your GWT application by uncommenting          -->
  <!-- any one of the following lines.                            -->
  <inherits name='com.google.gwt.user.theme.clean.Clean'/>
  <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->

  <!-- Other module inherits                                      -->

  <!-- Specify the app entry point class.                         -->
  <entry-point class='br.com.videoaulas.client.SistemaLoginRPC'/>

  <!-- Specify the paths for translatable code                    -->
  <source path='client'/>
  <source path='shared'/>

</module>

Arquivos do client

loginInterface.java


package br.com.videoaulas.client;



import com.google.gwt.user.client.rpc.RemoteService;

import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;



@RemoteServiceRelativePath("loginrpc")

public interface loginInterface extends RemoteService{

public String validaUsuarioSenha(String usuario, String senha);

}


arquivo do loginInterfaceAsync.java

package br.com.videoaulas.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface loginInterfaceAsync  {
  public void validaUsuarioSenha(String usuario, String senha, AsyncCallback<String> callback);
}


Arquivo SistemaLoginRPC.java

package br.com.videoaulas.client;



import com.google.gwt.core.client.EntryPoint;

import com.google.gwt.core.shared.GWT;

import com.google.gwt.event.dom.client.ClickEvent;

import com.google.gwt.event.dom.client.ClickHandler;

import com.google.gwt.user.client.Window;

import com.google.gwt.user.client.rpc.AsyncCallback;

import com.google.gwt.user.client.ui.Button;

import com.google.gwt.user.client.ui.Label;

import com.google.gwt.user.client.ui.PasswordTextBox;

import com.google.gwt.user.client.ui.RootPanel;

import com.google.gwt.user.client.ui.TextBox;





public class SistemaLoginRPC implements EntryPoint {



public static loginInterfaceAsync getServico(){

return GWT.create(loginInterface.class); 

}



public void onModuleLoad() {


final AsyncCallback<String> callback = new AsyncCallback<String>() {



@Override

public void onFailure(Throwable caught) {

Window.alert("Problema na comunicacao " + caught.getMessage());

}



@Override

public void onSuccess(String result) {

Window.alert(result);


if (result.equals("valido"))

               {

                   

                 // new menuPrincipal().show();

Window.alert(result);

               

               } else

                   Window.alert("Usuario e/ou senha invalidos");  


}


};


Label lbUsu = new Label("Usuario:");

Label lbSen = new Label("Senha:");


final TextBox tbUsu = new TextBox();

final PasswordTextBox psSen = new PasswordTextBox();


Button btEnviar = new Button("Enviar");


btEnviar.addClickHandler(new ClickHandler() {


@Override

public void onClick(ClickEvent event) {

getServico().validaUsuarioSenha(tbUsu.getText(), psSen.getText(), callback);

}

});


RootPanel.get().add(lbUsu);

RootPanel.get().add(tbUsu);

RootPanel.get().add(lbSen);

RootPanel.get().add(psSen);

RootPanel.get().add(btEnviar);


}

}

no server

Arquivo loginInterfaceImpl.java

package br.com.videoaulas.server;



import br.com.videoaulas.client.loginInterface;

import br.com.videoaulas.server.utilitarios.conexao;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;



public class loginInterfaceImpl extends RemoteServiceServlet implements loginInterface{



/**


*/

private static final long serialVersionUID = 1L;



@Override

public String validaUsuarioSenha(String usuario, String senha) {

//return "Do servidor retornou o usu�rio : "+ usuario + " e senha " + senha;

  return conexao(usuario, senha);

}

   conexao conUsuario;

   public String valido = "valido";



   public String conexao(String usuario, String senha) {





       try {

           conUsuario = new conexao();

           conUsuario.conecta();

           String sql = "select * from LOGIN where USUARIO LIKE '" + usuario

                   + "' and SENHA like '" + senha + "'";

           conUsuario.executeSQL(sql);



           if (conUsuario.resultset.first() == true) {

               valido = "valido";

           } else {

               valido = "invalido";

           }

       } catch (Exception erro) {

           valido = "invalido";

       }

       return valido;

   }




}

e no server.utilitarios

conexao.java

package br.com.videoaulas.server.utilitarios;



import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;



public class conexao {



    String driver = "com.mysql.jdbc.Driver";

    String url = "jdbc:mysql://localhost:3306/login";

    String usuario = "root";

    String senha   = "123";



    private Connection conexao;

    public Statement statement;

    public ResultSet resultset;

    

   public boolean conecta(String driver, String url, String usuario, String senha, String banco)

   {

        boolean result = true;

        try 

        {

            Class.forName(driver);

            conexao = DriverManager.getConnection(url, usuario, senha);

        }

        catch(ClassNotFoundException Driver) 

        {

           result = false;

        }

        catch(SQLException Fonte) 

        {

            result = false;

        }

        return result; 

   }

   

     public boolean conecta()

   {

        boolean result = true;

        try 

        {

            Class.forName(driver);

            conexao = DriverManager.getConnection(url, usuario, senha);

            statement = conexao.createStatement(

                    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

        }

        catch(ClassNotFoundException Driver) 

        {

           result = false;

        }

        catch(SQLException Fonte) 

        {



            result = false;

        }

        return result; 

   }

   

   public void desconecta()

   {

        boolean result = true;

        try 

        {

            conexao.close();

        }

        catch(SQLException fecha) 

        {

           // JOptionPane.showMessageDialog(null,"N�o foi possivel "+

           //         "fechar o banco de dados: "+fecha);

            result = false;

        }



   }

   

   public void executeSQL(String sql)

   {

        try 

        {

            statement = conexao.createStatement(

                    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

            resultset = statement.executeQuery(sql);

        }

        catch(SQLException sqlex) 

        {

           //JOptionPane.showMessageDialog(null,"N�o foi poss�vel "+

           //        "executar o comando sql,"+sqlex+", o sql passado foi "+sql);

        }



   }

    

}


e no web.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <!-- Servlets -->
  
  <servlet>
    <servlet-name>SistemaLoginRPC</servlet-name>
    <servlet-class>br.com.videoaulas.server.loginInterfaceImpl</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>SistemaLoginRPC</servlet-name>
  <url-pattern> /sistemaloginrpc/loginrpc</url-pattern>
  </servlet-mapping>
  
  
  
  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>SistemaLoginRPC.html</welcome-file>
  </welcome-file-list>

  <servlet>
    <servlet-name>SystemServiceServlet</servlet-name>
    <servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
    <init-param>
      <param-name>services</param-name>
      <param-value/>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>SystemServiceServlet</servlet-name>
    <url-pattern>/_ah/spi/*</url-pattern>
  </servlet-mapping>

</web-app>

executei ele pelo app engine
 gerou o link


abriu certinho, porém ao testar ele retorna:

Problema na comunicacao 500 The call failed on the server; see server log for details


Onde vejo esse log ? o que pode ser ?

Ai também testei pelo tom cat...criei um link simbolico assim:

ln -sf ~/workspace/SistemaLoginRPC/war /opt/apache-tomcat-7.0.34/webapps/SistemaLoginRPC


e executei assim


mas ai fala que não é possivel conectar no 127.0.01:8080

o que estou fazendo de errado com o tom cat também ?



Robinho de Morais

unread,
Jan 1, 2013, 9:17:54 PM1/1/13
to gwt-b...@googlegroups.com
Pessoal......caraca....consegui resolver....

o problema inicial foi no conexao.java

aqui;....

 String sql = "select * from LOGIN where USUARIO LIKE '" + usuario

                    + "' and SENHA like '" + senha + "'";

peguei esse sql e rodei no banco ai deu erro na tabela LOGIN, ai mudei para minusculo login ai deu certo....no windows vai tranquilo, mas no linux já barrou....acho que por isso que é melhor eu começar direto no linux....já que meu servidor vai ser linux....e depois o tom cat não estava executando por causa de permissão na pasta ai dava os erros....

mas agora tá show pelo app engine e com tom cat....

Alguém se precisar com a comunicação mysql com tom cat pode falar que ajudo.....porque acho que agora aprendi...rsrs

Obrigado galera.
Reply all
Reply to author
Forward
0 new messages