Applet X MySQL

6 respostas
C

Olá Pessoal;

estou querendo cria um Applet que conecta ao MySQL, estou usando o JCreator
Pro, copilo é funciona bem pelo appletviewer cosultando bem a tabela do
MySQL. Só que quando vou rodar o applet via HTML eu clico no botão de Busca
para consultar a tabela não funciona. Já experimentei colocar o drive
mysql-connector-java-5.0.4-bin.jar na mesma pasta que se encotra a classe
mas não adiantou. Alguma dica que possa me ajudar ?

segue abaixo o codigo;

Gratro,
Carlos Geiser.

import java.awt.BorderLayout;

import javax.swing.JPanel;

import javax.swing.JApplet;

import javax.swing.JLabel;

import java.awt.Rectangle;

import java.awt.Font;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.text.DecimalFormat;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class Cadastro extends JApplet {

public int codigo;

Connection con = getConnection();

String q = “”;
String qtd = “”;

private JPanel jContentPane = null;

private JLabel jLabel = null;

private JLabel jLabel1 = null;

private JLabel jLabel11 = null;

private JTextField jTextFieldCodigo = null;

private JTextField jTextFieldCurso = null;

private JButton jButton = null;

private JButton jButton1 = null;

private JButton jButton2 = null;

private JButton jButton3 = null;

private JLabel jLabel111 = null;

private JTextField jTextFieldPreco = null;

private JTextField jTextFieldStatus = null;

/**

  • This is the xxx default constructor
    */
    public Cadastro() {
    super();
    }

/**

  • This method initializes this
  • @return void
    */
    public void init() {
    this.setSize(500, 400);
    this.setContentPane(getJContentPane());
    }

/**

  • This method initializes jContentPane
  • @return javax.swing.JPanel
    */

public static Connection getConnection() {
Connection con = null;

// System.out.println("-----------------------------");

try{

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

String url = jdbc:mysql://127.0.0.1/loja?user=root&password=123456;

con = DriverManager.getConnection(url);

//System.out.println("******************");

}

catch (SQLException ae) {
// status = ae.getMessage();

}

catch (ClassNotFoundException ae) {

// status = ae.getMessage();
}

catch (Exception e) {

// status = ae.getMessage();

}

return con;
}

private JPanel getJContentPane() {

if (jContentPane == null) {

jLabel111 = new JLabel();

jLabel111.setBounds(new Rectangle(32, 177, 90, 16));

jLabel111.setText(“Preço”);

jLabel11 = new JLabel();

jLabel11.setBounds(new Rectangle(32, 137, 90, 16));

jLabel11.setText(“Nome:);

jLabel1 = new JLabel();

jLabel1.setBounds(new Rectangle(32, 102, 90, 16));

jLabel1.setText(“Código:);

jLabel = new JLabel();

jLabel.setBounds(new Rectangle(111, 18, 472, 39));

jLabel.setFont(new Font(“Dialog”, Font.BOLD, 24));

jLabel.setText("[!CADASTRO DE CURSO-]");

jContentPane = new JPanel();

jContentPane.setLayout(null);

jContentPane.add(jLabel, null);

jContentPane.add(jLabel1, null);

jContentPane.add(jLabel11, null);

jContentPane.add(getJTextFieldCodigo(), null);

jContentPane.add(getJTextFieldCurso(), null);

jContentPane.add(getJButton(), null);

jContentPane.add(getJButton1(), null);

jContentPane.add(getJButton2(), null);

jContentPane.add(getJButton3(), null);

jContentPane.add(jLabel111, null);

jContentPane.add(getJTextFieldPreco(), null);

jContentPane.add(getJTextFieldStatus(), null);

}

return jContentPane;

}

/**

  • This method initializes jTextFieldCodigo
  • @return javax.swing.JTextField
    */
    private JTextField getJTextFieldCodigo() {
    if (jTextFieldCodigo == null) {
    jTextFieldCodigo = new JTextField();
    jTextFieldCodigo.setBounds(new Rectangle(126, 100, 90, 20));
    }
    return jTextFieldCodigo;
    }

/**

  • This method initializes jTextFieldCurso
  • @return javax.swing.JTextField
    */
    private JTextField getJTextFieldCurso() {
    if (jTextFieldCurso == null) {
    jTextFieldCurso = new JTextField();
    jTextFieldCurso.setBounds(new Rectangle(126, 136, 200, 20));
    }
    return jTextFieldCurso;
    }

/**

  • This method initializes jButton
  • @return javax.swing.JButton
    */
    private JButton getJButton() {
    if (jButton == null) {
    jButton = new JButton();
    jButton.setBounds(new Rectangle(55, 233, 126, 25));
    jButton.setText(“Alterar”);
    }
    return jButton;
    }

/**

  • This method initializes jButton1
  • @return javax.swing.JButton
    */
    private JButton getJButton1() {
    if (jButton1 == null) {
    jButton1 = new JButton();
    jButton1.setBounds(new Rectangle(187, 233, 126, 25));
    jButton1.setText(“Incluir”);
    jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
});

}

return jButton1;

}

/**

  • This method initializes jButton2
  • @return javax.swing.JButton
    */
    private JButton getJButton2() {
    if (jButton2 == null) {
    jButton2 = new JButton();
    jButton2.setBounds(new Rectangle(319, 233, 126, 25));
    jButton2.setText(“Excluir”);

jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {

jTextFieldStatus.setText("O curso .......");



}

}
);

}

return jButton2;

}

/**

  • This method initializes jButton3

  • @return javax.swing.JButton
    
    */
    
    private JButton getJButton3() {
    
    if (jButton3 == null) {
    
    jButton3 = new JButton();
    
    jButton3.setBounds(new Rectangle(337, 97, 128, 25));
    
    jButton3.setText(Buscar);
    
    jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
    
    public void mouseClicked(java.awt.event.MouseEvent e) {
    

    jTextFieldStatus.setText(“O curso :”);

    try{

    jTextFieldStatus.setText("Mensagem do sistema…: ");

    Statement st = con.createStatement();
    
    q = " select * from loja.cursos where codigo = " +
    
    jTextFieldCodigo.getText() ;
    
    ResultSet rs = st.executeQuery(q);
    
    while (rs.next()) {
    
    String codigo = rs.getString(codigo);
    
    String curso = rs.getString(curso);
    
    String preco = rs.getString(preco);
    
    // System.out.println(“Codigo:”+codigo +" Nome dO curso : “+ curso +”
    
    Preço:"+ preco);
    
    jTextFieldCurso.setText(curso);
    jTextFieldPreco.setText(preco);
    jTextFieldStatus.setText("O curso : "+jTextFieldCodigo.getText()+"
    

foi localizado com sucesso com sucesso");
}

}catch (SQLException ae) {

   jTextFieldStatus.setText("Mensagem do sistema...: "+ae.getMessage());

   // System.out.println("Mensagem do sistema...: "+ae.getMessage());
   }
}
}

);

}

return jButton3;

}

/**

  • This method initializes jTextFieldPreco
  • @return javax.swing.JTextField
    */
    private JTextField getJTextFieldPreco() {
    if (jTextFieldPreco == null) {
    jTextFieldPreco = new JTextField();
    jTextFieldPreco.setBounds(new Rectangle(126, 175, 84, 20));
}

return jTextFieldPreco;

}

/**

  • This method initializes jTextFieldStatus
  • @return javax.swing.JTextField
    */
    private JTextField getJTextFieldStatus() {
    if (jTextFieldStatus == null) {
    jTextFieldStatus = new JTextField();
    jTextFieldStatus.setBounds(new Rectangle(21, 275, 464, 20));
    }
    return jTextFieldStatus;
    }

}

6 Respostas

T

Applets não devem acessar diretamente bancos de dados. É erro de design.

Se realmente você precisa fazer isso (mas aviso que é um erro de design), você deve fazer o seguinte:

  • Copiar o driver do banco de dados para o diretório jre/lib/ext do JRE que está sendo usado pelo browser (onde fica isso? Fica como exercício)
  • Assinar digitalmente a sua applet.

Acho mais fácil converter sua aplicação para uma stand-alone (ou seja, solicitar que o usuário dê um clique duplo em um arquivo .JAR).

C

Olá Thingol,
nas pesquisa que estou fazendo web sobre Java eu achei textos que falam que Apple e Servlet fazem uma boa dupla. Fiquei quase 4 hotas pesquisansando o Google atras de exemplos de como trabalhar com Apple com Servlet, não achei nada. Voce poderia informar algum site que aborda o assunto ?

cv1

Tem alguma coisa na sua aplicacao que realmente a faca precisar de applets? Do contrario, XHTML e Servlets fazem o servico muito bem :wink:

Luiz_Aguiar

Amigo eu uso applets com servlets sem o menor problema, o seu caso parece ser algo errado no seu projeto (ex. path), tente verificar isso, colocou algo nas tags do html?

C

Eu estou iniciando no mundo Java, estou fazendo o corso pela www.learning.com.br, ainda não conheço as barbadas do mundo Java. Eu achei o Applet muito interessante pois tem como criar aplicações Web muito parecida com aplicações Descktop onde iria facilitar a vida dos meu clientes que usam as minhas aplicações Desktop. Como eu, vi nas minhas pesquinas no Google, falaram bem da dupla Applet X Servilet então ressolvi busca mais informações, exemplo, etc.

C

Olá Luiz Aguiar,
Eu já estou conseguindo criar formulários, etc em Applets e roda-los no Browse, também executei alguns exemplos Servlet com sucesso e deu para entender algumas coisa. O que precisa era de algumas exemplos de como usar Servlet com Applet, exemplos negócios tipo uma busca de dados com o select ao banco de dados e apresentar nos campos do formulário e depois alterar esse dados e gravar de volta ao banco. Ou seja, saber onde posicionar as instruções SQL no Applet.

Criado 9 de janeiro de 2007
Ultima resposta 15 de jan. de 2007
Respostas 6
Participantes 4