Servlet + Mysql

4 respostas
gasabi

Pessoal seguinte, eu implementei um sistema de agenda em modo gráfico que está funcionando 100%, só que estou desenvolvendo o mesmo sistema em versão Web, mas o estranho que os dados do Banco não estão carregando… Se alguem puder me ajudar agradeço…


Minha Classe Servlet

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
import agenda.dao.ContatoDao;

import agenda.logica.Contato;

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.SQLException;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.swing.ListSelectionModel;

import javax.swing.table.DefaultTableModel;

/**
*

  • @author Cruel
    */
    public class agendadecontatos extends HttpServlet {

    // Minhas declarações
       DefaultTableModel tmContato = new DefaultTableModel(null, new String []{ "Id", "Nome","Telefone","Email","Endereço","Sexo"});
       List<Contato> contatos;
       ListSelectionModel lsmContato;
       String pesquisa = "a";
       String teste;
    
       // Fim de minhas declarações
    
       // Início de meus Métodos
    public void listarContatos() throws SQLException{
     
     ContatoDao dao = new ContatoDao();
    contatos = dao.getLista("%" + pesquisa + "%");
    mostraPesquisa(contatos);
    

    }

    private void mostraPesquisa(List<Contato> contatos) {
      while(tmContato.getRowCount()>0){
          tmContato.removeRow(0);
          teste = String.valueOf(contatos.size());
      }
     if(contatos.size() == 0){
        // JOptionPane.showMessageDialog(null, "Nenhum contato cadastrado!");
     } else{
         String[] linha = new String []{null,null,null,null,null,null};
         for (int i = 0; i < contatos.size(); i++){
             tmContato.addRow(linha);
             tmContato.setValueAt(contatos.get(i).getId(), i, 0);
             tmContato.setValueAt(contatos.get(i).getNome(), i, 1);
             tmContato.setValueAt(contatos.get(i).getTel(), i, 2);
             tmContato.setValueAt(contatos.get(i).getEmail(), i, 3);
             tmContato.setValueAt(contatos.get(i).getEndereco(), i, 4);
             tmContato.setValueAt(contatos.get(i).getSexo(), i, 5);
    
    
         }
     }
    }
    

// Fim dos meus Métodos

/** 
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */



protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
    response.setContentType("text/html;charset=UTF-8");

    PrintWriter out = response.getWriter();
    try {
out.println("");

out.println("");

out.println(“Minha Agenda de Contatos”);

out.println("");

out.println("");

out.println("");
out.println(“

Minha agenda de contatos

”);
out.println("

 

“);
out.println(”");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println(“");
//Aqui começa o loop para gerar a lista de contatos
for (int j = 0; j < tmContato.getRowCount(); j++){
out.println("<tr>");
out.println("<td>");
  out.println("<div align='center'>"+tmContato.getValueAt(j, 0)+"</div>");
out.println("</td>");
out.println("<td>");
  out.println("<div align='center'>"+tmContato.getValueAt(j, 1)+"<font color='#000000'></font></div>");
out.println("</td>");

out.println("<td>");
  out.println("<div align='center'>"+tmContato.getValueAt(j, 2)+"<font color='#000000'></font></div>");
out.println("</td>");
out.println("<td>");
  out.println("<div align='center'>"+tmContato.getValueAt(j, 3)+"<font color='#000000'></font></div>");
out.println("</td>");
out.println("<td>");
  out.println("<div align='center'>"+tmContato.getValueAt(j, 4)+"<font color='#000000'></font></div>");
out.println("</td>");
out.println("<td>");
  out.println("<div align='center'>"+tmContato.getValueAt(j, 5)+"<font color='#000000'></font></div>");
out.println("</td>");

out.println("");

// Fim do loop que gera a lista de contatos
}
out.println("

");
out.println(“
Código
”);
out.println("
");
out.println(“
Nome
”);
out.println("
");
out.println(“
Telefone
”);
out.println("
");
out.println(“
Endereço
”);
out.println("
");
out.println(“
Email
”);
out.println("
");
out.println(“
Sexo
”);
out.println("
");
out.println("

 

“);
out.println(”

 

“);
out.println(”");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("
");
out.println("
");
out.println("");
out.println("
");
out.println("
“);
out.println(“
Pesquisar
”);
out.println(”
");
out.println("

 

“);
out.println(”");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("
“);
out.println(“
Novo
”);
out.println(”
“);
out.println(“
Alterar
”);
out.println(”
“);
out.println(“
Excluir
”);
out.println(”
");
out.println("

 

“);
out.println(”");
out.println("

 

“);
out.println(”");
out.println("");
/* TODO output your page here
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet agendadecontatos</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet agendadecontatos at " + request.getContextPath () + "</h1>");
        out.println("</body>");
        out.println("</html>");
        */
    } finally { 
        out.close();
    }
}


// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** 
 * Handles the HTTP <code>GET</code> method.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
} 

/** 
 * Handles the HTTP <code>POST</code> method.
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
}

/** 
 * Returns a short description of the servlet.
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

Minha Classe Cria Conexão

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package agenda.bancodados;
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

/**
*

  • @author Cruel
    */
    public class CriaConexao {

    public static Connection getConexao() throws SQLException {

    try {
         Class.forName("com.mysql.jdbc.Driver");
       //  System.out.println("Conectando ao banco");
         return DriverManager.getConnection("jdbc:mysql://localhost/agendadb", "root", "aaa");
     } catch (ClassNotFoundException e) {
         throw new SQLException(e.getMessage());
    
     }
    

    }
    }

Minha Classe ContatoDao

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package agenda.dao;

import agenda.bancodados.CriaConexao;

import agenda.logica.Contato;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

/**
*

  • @author Cruel
    */
    public class ContatoDao {

    private Connection conexao;

    public ContatoDao() throws SQLException{
    this.conexao = CriaConexao.getConexao();

    }
    public void adiciona(Contato c1) throws SQLException{

    // prepara conexão
     String sql = "insert into contato (nome, endereco, telefone, email, sexo)" +
                   "values (?,?,?,?,?)";
     PreparedStatement stmt = conexao.prepareCall(sql);
    
     // Seta os valores
     stmt.setString(1, c1.getNome());
     stmt.setString(2, c1.getEndereco());
     stmt.setString(3, c1.getTel());
     stmt.setString(4, c1.getEmail());
     stmt.setString(5, c1.getSexo());
    
     // Executa o código SQL
     stmt.execute();
     stmt.close();
    

    }

    public List getLista(String nome) throws SQLException{

    String sql = "select * from contato where nome like ?";
     PreparedStatement stmt = this.conexao.prepareStatement(sql);
     stmt.setString(1, nome);
     ResultSet rs = stmt.executeQuery();
    
     List<Contato> minhalista = new ArrayList<Contato>();
    
     while(rs.next()){
         Contato c1 = new Contato();
         c1.setId(Long.valueOf(rs.getString("Id")));
         c1.setNome(rs.getString("nome"));
         c1.setEndereco(rs.getString("endereco"));
         c1.setTel(rs.getString("telefone"));
         c1.setEmail(rs.getString("email"));
         c1.setSexo(rs.getString("sexo"));
         minhalista.add(c1);
       }
     rs.close();
     stmt.close();
     return minhalista;
    

    }

    public void altera(Contato c1) throws SQLException{
    
    String sql = “update contato set nome=?, endereco=?, telefone=?, email=?, sexo=?” +
    
    “where id =?”;
    
    PreparedStatement stmt = conexao.prepareStatement(sql);
    
    
    // Seta os valores
     stmt.setString(1, c1.getNome());
     stmt.setString(2, c1.getEndereco());
     stmt.setString(3, c1.getTel());
     stmt.setString(4, c1.getEmail());
     stmt.setString(5, c1.getSexo());
     stmt.setLong(6, c1.getId());
    
     // Executa o código SQL
     stmt.execute();
     stmt.close();
    

    }

    public void remove(Contato c1) throws SQLException{
    
    String sql = “delete from contato where id =?”;
    
    PreparedStatement stmt = conexao.prepareStatement(sql);
    
    stmt.setLong(1, c1.getId());
    
    stmt.execute();
    
    stmt.close();
    

    }
    }

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

Minha Classe Contato

package agenda.logica;

/**
*

  • @author Cruel
    */
    public class Contato {

    private Long id;
    
    private String nome;
    
    private String endereco;
    
    private String tel;
    
    private String email;
    
    private String sexo;
    
    public String getEmail() {
    
    return email;
    
    }
    
    public void setEmail(String email) {
    
    this.email = email;
    
    }
    
    public String getEndereco() {
    
    return endereco;
    
    }
    
    public void setEndereco(String endereco) {
    
    this.endereco = endereco;
    
    }
    
    public Long getId() {
    
    return id;
    
    }
    
    public void setId(Long id) {
    
    this.id = id;
    
    }
    
    public String getNome() {
    
    return nome;
    
    }
    
    public void setNome(String nome) {
    
    this.nome = nome;
    
    }
    
    public String getSexo() {
    
    return sexo;
    
    }
    
    public void setSexo(String sexo) {
    
    this.sexo = sexo;
    
    }
    
    public String getTel() {
    
    return tel;
    
    }
    
    public void setTel(String tel) {
    
    this.tel = tel;
    
    }
    

}

E já tenho importada a biblioteca do Mysql.

Devo estar errando em alguma bobeirinha, se alguem puder me ajudar agradeço… VLW

4 Respostas

UMC

Quando for postar códigos use as tags de [code ] e [/ code]

Seu projeto exibi algum erro!
poste-o!

vlw

gasabi

Não estou conseguindo buscar as informações no meu banco mysql.

gasabi

Já resolvi meu problema, esqueci de usar a budega do método listarContatos, que por acaso é o método que pega os contatos do BancodeDados

mesmo assim obrigado!

VLw

UMC

gasabi:
Já resolvi meu problema, esqueci de usar a budega do método listarContatos, que por acaso é o método que pega os contatos do BancodeDados

mesmo assim obrigado!

VLw

Ok,
coloca o tópico como resolvido!

vw

Criado 3 de maio de 2010
Ultima resposta 4 de mai. de 2010
Respostas 4
Participantes 2