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;
<?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>
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
<!-- 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
Problema na comunicacao 500 The call failed on the server; see server log for details