Rmi

5 respostas
Veneno

Ola pessoal eu tenho um programa rodando normal agora tenho que implementar ele usando rmi …
estou com algumas dificuldades alguem poderia me ajudar … eis o codigo

//Classe Iterface

package exemplormi;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Interface extends Remote {

  
  
   //devo colocar oq aqui ???? tah certo o setDados???
  
    public String getDadosClientes()  throws RemoteException;
    
    public void setDados(String nome,String endereco, String numero, String comp,
            String bairro, String cidade, String uf, String cep, 
            String cnpj, String insc_estadual, String cpf, 
        String rg, String data_nasc, String telefone, String email) throws RemoteException;
    
    public void delDados(Cliente c)   throws RemoteException;
    
    public void alteraDados(Cliente c)throws RemoteException;
        
    
   
    
  
 

}
*************************************************************************************************
//Classe Cadastro com a tela.. tah dando  erro no Inter.setDados(c);
package exemplormi;

import javax.swing.JOptionPane;
import java.util.ArrayList;

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.NotBoundException;
import java.net.MalformedURLException;
/**
 *
 * @author  ra0400105
 */
public class Cadastro extends javax.swing.JFrame {
    
    Interface Inter = (Interface) Naming.lookup( "rmi://localhost/ServicoCalculadora" );
    


   
    /** Creates new form Cadastro */
    public Cadastro() {
        initComponents();
        
        cod1.setEnabled(false);    
        //this.setSize(650,500);
    }

  private void SalvarActionPerformed(java.awt.event.ActionEvent evt) {                                       
        
       
        String nome = Nome1.getText();
        String endereco = Endereco1.getText();
        String numero = Numero1.getText();
        String cidade = Cidade1.getText();
        String cnpj = CNPJ1.getText();
        String insc_estadual = Insc1.getText();
        String cpf = CPF1.getText();
        String rg = RG1.getText();
        String data_nasc = Nasc1.getText();
        String telefone = Telefone1.getText();
        String email = email1.getText();
        String comp = comp1.getText();
        String uf = UF1.getText();
        String bairro = Bairro1.getText();
        String cep = CEP1.getText();
        
        
      
          Cliente c = new Cliente(nome, endereco, numero,comp, bairro, cidade, uf, cep,
                 //   cnpj, insc_estadual, cpf, rg, data_nasc, telefone, email ); 
            Inter.setDados(c);
           
            
                         
            
    }

********************************************************************************************
Classe Banco

package exemplormi;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.sql.Statement; 

import java.sql.ResultSetMetaData;
import javax.swing.table.DefaultTableModel;

import java.util.ArrayList;
import java.util.List;

//import java.sql.DriverManager;

public class Banco {
    
    private ConectaDB conectadb = new ConectaDB();
    private PreparedStatement ps;
    private ResultSet rs;
    private Connection connection;
    private boolean conn;
    
    
     int Codigo;
   String nome;
   String endereco;
   String CNPJ;
   String insc_estadual;
   String CPF;
   String RG;
   String data_nasc;
   String telefone;
   String email;
   String Cidade;
   String numero;
   private String comp;
   private String uf;
   private String bairro;
   private String cep;
   
    public Banco(int codigo, String nome,String endereco, String numero, String comp,
            String bairro, String cidade, String uf, String cep, 
            String cnpj, String insc_estadual, String cpf, 
        String rg, String data_nasc, String telefone, String email)
    { 
        this.Codigo = codigo;
        this.nome = nome;  
        this.CNPJ = cnpj;
        this.CPF = cpf;
        this.RG = rg;
        this.data_nasc = data_nasc;
        this.email = email;
        this.endereco = endereco;
        this.insc_estadual = insc_estadual;
        this.telefone = telefone;
        this.Cidade = cidade;
        this.numero = numero;
        this.bairro = bairro;
        this.cep = cep;
        this.comp = comp;
        this.uf = uf;
        
    }
    
    
    public Banco(){
        conn = conectadb.setConnection();
        connection = conectadb.getConnection();
    }

//aqui eu to usando a Classes Cliente precisa??? ela tem os metodos get e set  
//pode ser assim ??

 public void setDados(Cliente c){
        if(conn){
        	if(connection != null){
        		try{
                             ps = connection.prepareStatement("insert into Cliente(nome, endereco, " +
                     "numero, comp, bairro, cidade, uf, cep, cnpj, insc_estadual, cpf, rg, data_nasc, telefone, email) 

values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
                           
                            ps.setString(1,c.getNome());
                            ps.setString(2,c.getEndereco());
                            ps.setString(3,c.getNumero());
                            ps.setString(4,c.getComp());
                            ps.setString(5,c.getBairro());
                            ps.setString(6,c.getCidade());
                            ps.setString(7,c.getUf());
                            ps.setString(8,c.getCep());
                            ps.setString(9,c.getCNPJ());
                            ps.setString(10,c.getInsc_estadual());
                            ps.setString(11,c.getCPF());
                            ps.setString(12,c.getRG());
                            ps.setString(13,c.getData_nasc());
                            ps.setString(14,c.getTelefone());
                            ps.setString(15,c.getEmail());
                                                        
                            ps.executeUpdate();                            
                            
                        }
                        catch(SQLException e){
        			System.out.println(e.getMessage());
        		}
        	}        
        }		
    }

***************************************************************************************************

Classe Cliente
vou precisar dessa classe???? posso usa-la???

package exemplormi;

/**
 *
 * @author ra0400105
 */
public class Cliente {
   
   int Codigo;
   String nome;
   String endereco;
   String CNPJ;
   String insc_estadual;
   String CPF;
   String RG;
   String data_nasc;
   String telefone;
   String email;
   String Cidade;
   String numero;
   private String comp;
   private String uf;
   private String bairro;
   private String cep;
   
   public String toString(){
       return nome ;
   }
   
   public Cliente(String nome){
       this.nome = nome;
   }
   
   public Cliente(String nome, String cpf){
       this.nome = nome;
       this.CPF = cpf;
   }
   
    public Cliente(String nome,String endereco, String numero, String comp,
            String bairro, String cidade, String uf, String cep, 
            String cnpj, String insc_estadual, String cpf, 
        String rg, String data_nasc, String telefone, String email)
    { 
        this.Codigo = Codigo;
        this.nome = nome;  
        this.CNPJ = cnpj;
        this.CPF = cpf;
        this.RG = rg;
        this.data_nasc = data_nasc;
        this.email = email;
        this.endereco = endereco;
        this.insc_estadual = insc_estadual;
        this.telefone = telefone;
        this.Cidade = cidade;
        this.numero = numero;
        this.setBairro(bairro);
        this.setCep(cep);
        this.setComp(comp);
        this.setUf(uf);
        
    }
   
    public Cliente(String codigo, String nome,String end, String num, 
            String bairro, String cidade, String uf, String cep, 
            String tel)
    { 
        this.Codigo = Integer.parseInt(codigo);
        this.nome = nome;  
        this.endereco = end;
        this.numero = num;
        this.bairro = bairro;
        this.Cidade = cidade;
        this.setUf(uf);
        this.cep = cep;
        this.telefone = tel;
        
    }
    
    //todos + Codigo..
     public Cliente(int codigo, String nome,String endereco, String numero, String comp,
            String bairro, String cidade, String uf, String cep, 
            String cnpj, String insc_estadual, String cpf, 
        String rg, String data_nasc, String telefone, String email)
    { 
        this.Codigo = codigo;
        this.nome = nome;  
        this.CNPJ = cnpj;
        this.CPF = cpf;
        this.RG = rg;
        this.data_nasc = data_nasc;
        this.email = email;
        this.endereco = endereco;
        this.insc_estadual = insc_estadual;
        this.telefone = telefone;
        this.Cidade = cidade;
        this.numero = numero;
        this.setBairro(bairro);
        this.setCep(cep);
        this.setComp(comp);
        this.setUf(uf);
        
    }
    public Cliente(String nome, String endereco, String CPF, 
            String Numero, String Cidade){
        this.nome = nome;
        this.endereco = endereco;
        this.CPF = CPF;
    }    
    
    public String getNome(){
        return nome;
    }
   public void setNome(String nome){
       this.nome = nome;
   } 

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }
    public String getCNPJ(){
        return CNPJ;
    }
    public void setCNPJ(String CNPJ){
        this.CNPJ = CNPJ;
    }
    public String getCPF(){
        return CPF;
    }
    public void setCPF(String CPF){
        this.CPF = CPF;
    }

    public String getInsc_estadual() {
        return insc_estadual;
    }

    public void setInsc_estadual(String insc_estadual) {
        this.insc_estadual = insc_estadual;
    }

    public String getRG() {
        return RG;
    }

    public void setRG(String RG) {
        this.RG = RG;
    }

    public String getData_nasc() {
        return data_nasc;
    }

    public void setData_nasc(String data_nasc) {
        this.data_nasc = data_nasc;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
    public void setCodigo(int Codigo){
        this.Codigo = Codigo;
    }
    public int getCodigo(){
        return Codigo;
    }
    public String getCidade(){
        return Cidade;
    }
    public void setCidade(){
        this.Cidade = Cidade;
    }
    public String getNumero(){
        return numero;
    }
    public void setNumero(){
        this.numero = numero;
    }

    public String getComp() {
        return comp;
    }

    public void setComp(String comp) {
        this.comp = comp;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }
}

Obrigado …
vlw msm quem puder me ajudar …
:smiley:

5 Respostas

R

qual sua dificuldade?

Veneno

queria saber se eu preciso usar a classes cliente …
se na interface ta certo como eu declarei , como eu faço pra salvar no banco … pq dessa forma q eu to fazendo ta dando erro … eu nao sei o q passar pra interface…
to confuso pra caramba …
se puder me ajudar …
vlw veio abraço

Guerr

Algumas dicas:

  • Para usar a sua classe Usuario ela tem implementar Serializable
  • A classe que será disponibilizada remotamente precisa extender UnicastRemoteObject

Sugiro que você pegue um tutorial de RMI e faça um hello word antes de colocar isto na sua aplicação…

Veneno

Pessoal eu fiz alguma coisa e gostaria de testar…
mas nao ta dando certo …estou fzndo da seguinte forma

cd ExemploRmi
cd Build
cd Classes
rmic RmiBanco //que eh a minha classe com os metodos …
ta falando que rmic nao eh reconhecido como um comando interno ou externo … oq serah???tenho q fazer alguma coisa ???
please de me uma mao ai …
vlw …

furutani

coloque o diretorio C:\Arquivos de programas\Java\jdk1.6.0\bin na variavel PATH do seu windows, dentro desse diretorio tem o rmic

Criado 7 de dezembro de 2006
Ultima resposta 7 de dez. de 2006
Respostas 5
Participantes 4