Ajuda no metodo editar dados usando jsp e servlets

2 respostas
Z

bom dia ...
eu estou meio perdido em um metodo para atualizar dados no banco
usando jsp e servlets eu não estou conseguindo carregar os dados do banco
no meu formulario para fazer a edição dos dados, eu peço ajuda porque realmente ja não sei
continuar peço que se tiverem materia para me indicar eu fico desde ja agradecido.
ou mesmo um toque em como preceder eu sei que é uma bobeira que esta faltando mais não sei fazer..
A eu quero tentar fazer usando o codigo java mesmo sem FrameWork.
este é o meu codigo

package model;

/** @author JEFERSON SILVA SANTOS */
public class Administrador {

    private String nome = null;
    private String email = null;
    private String setor = null;
    private String usuario = null;
    private String senha = null;
    private int preFixo;
    private int telFixo;
    private int preCelular;
    private int telCelular;

    public Administrador() {
    }

    public Administrador(String nome, String email, String setor, String usuario,
            String senha, int preFixo, int telFixo, int preCelular, int telCelular) {
        this.nome = nome;
        this.email = email;
        this.setor = setor;
        this.usuario = usuario;
        this.senha = senha;
        this.preFixo = preFixo;
        this.telFixo = telFixo;
        this.preCelular = preCelular;
        this.telCelular = telCelular;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getPreCelular() {
        return preCelular;
    }

    public void setPreCelular(int preCelular) {
        this.preCelular = preCelular;
    }

    public int getPreFixo() {
        return preFixo;
    }

    public void setPreFixo(int preFixo) {
        this.preFixo = preFixo;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public String getSetor() {
        return setor;
    }

    public void setSetor(String setor) {
        this.setor = setor;
    }

    public int getTelCelular() {
        return telCelular;
    }

    public void setTelCelular(int telCelular) {
        this.telCelular = telCelular;
    }

    public int getTelFixo() {
        return telFixo;
    }

    public void setTelFixo(int telFixo) {
        this.telFixo = telFixo;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

}
------------------------

package interfaces;

import java.util.List;
import model.Administrador;

/** @author JEFERSON SILVA SANTOS*/

public interface AdminDAAOO {

     public void salvarDados(Administrador admin);
     public List<Administrador> listarDados();
     public void editarDados(Administrador admin);
     public void excluirDados(Administrador admin);

}
-------------------------------


package dao;

import interfaces.AdminDAAOO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import model.Administrador;

/** @author JEFERSON SILVA SANTOS*/

public class AdminDAO implements AdminDAAOO {

    public AdminDAO(){}

    Connection conexao;

    public AdminDAO(Connection conexao)
    {this.conexao = conexao;}

    public void salvarDados(Administrador admin)
    {
    String comando = "insert into app.ADMINISTRADOR(nome,email,setor,usuario," +
            "senha,preFixo,telFixo,preCelular,telCelular)values(?,?,?,?,?,?,?,?,?)";

    PreparedStatement p;

        try {p = this.conexao.prepareStatement(comando);
        p.setString(1, admin.getNome());
        p.setString(2, admin.getEmail());
        p.setString(3, admin.getSetor());
        p.setString(4, admin.getUsuario());
        p.setString(5, admin.getSenha());
        p.setInt(6, admin.getPreFixo());
        p.setInt(7, admin.getTelFixo());
        p.setInt(8, admin.getPreCelular());
        p.setInt(9, admin.getTelCelular());

        p.execute();

        } catch (Exception e) {System.out.println("Erro ao gravar Dados !!! erro no  " +
                "metodo salvarDados, Class AdminDAO");
        }
    }

    public void excluirDados(Administrador admin)
    {
    String comando ="DELETE FROM APP.ADMINISTRADOR WHERE NOME = ?";

    PreparedStatement p;

    try{
        p = this.conexao.prepareStatement(comando);
        p.setString(1, admin.getNome());
        p.executeUpdate();

    }catch (Exception e) {System.out.println("Erro ao excluir Dados !!! erro no  " +
                "metodo excluirDados, Class AdminDAO");
        }
    }

    public List<Administrador> listarDados()
    {
        String comando = "select * from app.ADMINISTRADOR";

    List<Administrador> admin = new ArrayList<Administrador>();

      try { PreparedStatement p = this.conexao.prepareStatement(comando);
           ResultSet rs = p.executeQuery();

                   while (rs.next())
                   {
               Administrador adm = new Administrador();

                String nome = rs.getString("nome");
                String email = rs.getString("email");
                String setor = rs.getString("setor");
                String usuario = rs.getString("usuario");
                String senha = rs.getString("senha");
                int preFixo = rs.getInt("preFixo");
                int telFixo = rs.getInt("telFixo");
                int preCelular = rs.getInt("preCelular");
                int telCelular = rs.getInt("telCelular");

                     adm.setNome(nome);
                     adm.setEmail(email);
                     adm.setSetor(setor);
                     adm.setUsuario(usuario);
                     adm.setSenha(senha);
                     adm.setPreFixo(preFixo);
                     adm.setTelFixo(telFixo);
                     adm.setPreCelular(preCelular);
                     adm.setTelCelular(telCelular);

                     admin.add(adm);

                   }

        } catch (Exception e) {
        }return admin;

    }
    public void editarDados(Administrador admin)
    {
    String comando = "UPDATE APP.ADMINISTRADOR SET nome=?, email=?, setor=?," +
   "usuario=?, senha=?, preFixo=?, telFixo=?, preCelular=?, telCelular=? WHERE nome=?";
    PreparedStatement p;
    
     try {p = this.conexao.prepareStatement(comando);
        p.setString(1, admin.getNome());
        p.setString(2, admin.getEmail());
        p.setString(3, admin.getSetor());
        p.setString(4, admin.getUsuario());
        p.setString(5, admin.getSenha());
        p.setInt(6, admin.getPreFixo());
        p.setInt(7, admin.getTelFixo());
        p.setInt(8, admin.getPreCelular());
        p.setInt(9, admin.getTelCelular());

        p.executeUpdate();
       
        } catch (Exception e)  {System.out.println("Erro ao Editar Dados !!! erro no  " +
                "metodo editarDados, Class AdminDAO");
        }
 
    }
    
    
}
----------------------------------------


package dao;

import java.sql.Connection;
import java.sql.DriverManager;

/** @author JEFERSON SILVA SANTOS */
public class FabricaConexao {

    public FabricaConexao() {
    }
    java.sql.Connection conexao;

    public Connection abreConexao() {
        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
            conexao = DriverManager.getConnection("jdbc:derby://localhost:1527/AGENDA", "zeimbic", "zeimbic");

        } catch (Exception e) {
            System.out.println("Erro ao abrir Conexao com " +
                    "o Banco de Dados!! erro na class FabricaConexao pacote DAO ");
        }
        return conexao;
    }

    public void fechaConexao() {
        try {
            conexao.close();

        } catch (Exception e) {
            System.out.println("Erro ao Fechar Conexao com " +
                    "o Banco de Dados!! erro na class FabricaConexao pacote DAO ");
        }
    }
}
------------------------------------

package controller;

import dao.AdminDAO;
import dao.FabricaConexao;
import java.io.IOException;
import java.sql.Connection;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Administrador;

/** @author JEFERSON SILVA SANTOS */

public class Admin extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String comando = request.getParameter("comando");


        if (comando == null || comando.equals("")) {
            response.sendRedirect("index.jsp");
        }

        if (comando.equals("salvarDados")) {
            salvarDado(request, response);
        }
        if (comando.equals("deletarDados")) {
            deletarDados(request, response);

        }
        if (comando.equals("listarDados")) {
            listarD(request, response);

        }
        if (comando.equals("carregarDados")) {
            carregarDados(request, response);
        }

        if (comando.equals("editarDados")) {
            editarDados(request, response);

        }

    }

    private void salvarDado(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        FabricaConexao fabrica = new FabricaConexao();
        Connection conexao = fabrica.abreConexao();

        String nome = request.getParameter("nome");
        String email = request.getParameter("email");
        String setor = request.getParameter("setor");
        String usuario = request.getParameter("usuario");
        String senha = request.getParameter("senha");
        int preFixo = Integer.parseInt(request.getParameter("preFixo"));
        int telFixo = Integer.parseInt(request.getParameter("telFixo"));
        int preCelular = Integer.parseInt(request.getParameter("preCelular"));
        int telCelular = Integer.parseInt(request.getParameter("telCelular"));

        Administrador novo = new Administrador();
        novo.setNome(nome);
        novo.setEmail(email);
        novo.setSetor(setor);
        novo.setUsuario(usuario);
        novo.setSenha(senha);
        novo.setPreFixo(preFixo);
        novo.setTelFixo(telFixo);
        novo.setPreCelular(preCelular);
        novo.setTelCelular(telCelular);

        AdminDAO dao = new AdminDAO(conexao);
        dao.salvarDados(novo);

        RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
        rd.forward(request, response);
        fabrica.fechaConexao();
    }

    private void deletarDados(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        FabricaConexao fabrica = new FabricaConexao();
        Connection conexao = fabrica.abreConexao();

        String recebeSelect = request.getParameter("selectListarNome");

        if (request.getParameter("selectListarNome") != null) {
            Administrador novo = new Administrador();
            AdminDAO dao = new AdminDAO(conexao);

            novo.setNome(recebeSelect);
            dao.excluirDados(novo);

            List<Administrador> listarOsDados = dao.listarDados();
            request.setAttribute("admin", listarOsDados);

            RequestDispatcher rd = request.getRequestDispatcher("listarDados.jsp");
            rd.forward(request, response);
            fabrica.fechaConexao();

        }
    }

    private void listarD(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        FabricaConexao fabrica = new FabricaConexao();
        Connection conexao = fabrica.abreConexao();
        AdminDAO dao = new AdminDAO(conexao);

        List<Administrador> listarOsDados = dao.listarDados();
        request.setAttribute("admin", listarOsDados);

        RequestDispatcher rd = request.getRequestDispatcher("listarDados.jsp");
        rd.forward(request, response);

        fabrica.fechaConexao();

    }

    private void carregarDados(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
    {
      
        FabricaConexao fabrica = new FabricaConexao();
        Connection conexao = fabrica.abreConexao();
        AdminDAO dao = new AdminDAO(conexao);

      List<Administrador> listarOsDados = dao.listarDados();
      request.setAttribute("admin", listarOsDados);



        String recebeSelect = request.getParameter("selectUpCarregarNome");

        if (recebeSelect != null) {

            String nome = recebeSelect;

            request.setAttribute("admin", nome);
          


        // List<Administrador> listarOsDados = dao.listarDados();
        //request.setAttribute("admin", listarOsDados);

        RequestDispatcher rd = request.getRequestDispatcher("editar.jsp");
        rd.forward(request, response);

       
        

        }


    }

    private void editarDados(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException
    {

        FabricaConexao fabrica = new FabricaConexao();
        Connection conexao = fabrica.abreConexao();

        String nome = request.getParameter("nome");
        String email = request.getParameter("email");
        String setor = request.getParameter("setor");
        String usuario = request.getParameter("usuario");
        String senha = request.getParameter("senha");
        int preFixo = Integer.parseInt(request.getParameter("preFixo"));
        int telFixo = Integer.parseInt(request.getParameter("telFixo"));
        int preCelular = Integer.parseInt(request.getParameter("preCelular"));
        int telCelular = Integer.parseInt(request.getParameter("telCelular"));

        Administrador novo = new Administrador();
        novo.setNome(nome);
        novo.setEmail(email);
        novo.setSetor(setor);
        novo.setUsuario(usuario);
        novo.setSenha(senha);
        novo.setPreFixo(preFixo);
        novo.setTelFixo(telFixo);
        novo.setPreCelular(preCelular);
        novo.setTelCelular(telCelular);

        AdminDAO dao = new AdminDAO(conexao);
        dao.editarDados(novo);

        RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
        rd.forward(request, response);
        fabrica.fechaConexao();
  
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);

    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }
}
------------------------------



<%-- 
    Document   : index
    Created on : 13/06/2012, 13:49:46
    Author     : xp
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Acesso</title>
    </head>
    <body>
        <form action="Fluxo?comando=salvarDados" method="post">

        Nome <input type="text" name="nome" value="" /><br>
        E-mail<input type="text" name="email" value="" /><br>
        Setor <select name="setor">
            <option>Administração</option>
            <option>Diretoria</option>
            <option>Dep.Pessoal</option>
            <option>Contabilidade</option>
        </select><br>
        Usuario<input type="text" name="usuario" value="" /><br>
        Senha <input type="text" name="senha" value="" /><br>
        PreFixo<input type="text" name="preFixo" value="" /><br>
        TelFixo<input type="text" name="telFixo" value="" /><br>
        PreCelular<input type="text" name="preCelular" value="" /><br>
        TelCelular<input type="text" name="telCelular" value="" /><br>
        <input type="submit" value="Gravar" />
        </form>

        <form action="Fluxo?comando=listarDados" method="post">

            <input type="submit" value="ExibirDados" />
        </form>

    </body>
</html>
----------------------

<%-- 
    Document   : listarDados
    Created on : 19/06/2012, 15:07:06
    Author     : JEFERSON SILVA SANTOS
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.List"%>
<%@page  import="model.Administrador" %>
<%@page  import="dao.AdminDAO" %>
<%@page  import="dao.FabricaConexao" %>
<%@page  import="controller.Admin" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Lista Adminstradores</title>
    </head>
    <body>

        <%
        
          List<Administrador> listarOsDados = (List)request.getAttribute("admin");

        %>
    
        <table border="1" cellpadding="10">
            <tr>
            <th>NOME</th><th>E-MAIL</th>
            <th>SETOR</th><th>USUARIO</th>
            <th>SENHA</th><th>DDD</th>
            <th>TEL.FIXO</th><th>DDD</th><th>TEL.CELULAR</th>
            </tr>

           <%for (Administrador adm : listarOsDados){%>
            <tr>
                <td><%= adm.getNome()%></td>
                <td><%= adm.getEmail()%></td>
                <td><%= adm.getSetor()%></td>
                <td><%= adm.getUsuario()%></td>
                <td><%= adm.getSenha()%></td>
                <td><%= adm.getPreFixo()%></td>
                <td><%= adm.getTelFixo()%></td>
                <td><%= adm.getPreCelular()%></td>
                <td><%= adm.getTelCelular()%></td>
            </tr>
           <%}%> 
        </table>

        <form action="Fluxo?comando=deletarDados" method="post">
        <select name="selectListarNome">

            <%for (Administrador adm : listarOsDados){%>
            <option><%= adm.getNome()%></option>
            
            <%}%>
          
        </select><br>
        <input type="submit" value="Delete" />
        </form>

         <form action="teste?comando=editar" method="post">
        <select name="selectUpCarregarNome">

            <%for (Administrador adm : listarOsDados){%>
            <option><%= adm.getNome()%></option>

            <%}%>

        </select><br>
        <input type="submit" value="Editar" />
        </form>
          

    
    </body>
</html>
---------------------------

<%-- 
    Document   : editar
    Created on : 02/08/2012, 11:19:10
    Author     : JEFERSON SILVA SANTOS
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.List"%>
<%@page  import="model.Administrador" %>
<%@page  import="dao.AdminDAO" %>
<%@page  import="dao.FabricaConexao" %>
<%@page  import="controller.Admin" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Manutenção de Cadastro</title>
    </head>
    <body>
       
 
      <form action="Fluxo?comando=editarDados" method="post">

        Nome <input type="text" name="nome" value="<%= request.getParameter("nome")%>" /><br>
        E-mail<input type="text" name="email" value="<%= request.getParameter("email")%>" /><br>
        Setor <select name="setor">
            <option><%= request.getParameter("setor")%></option>
            
        </select><br>
        Usuario<input type="text" name="usuario" value="<%= request.getParameter("usuario")%>" /><br>
        Senha <input type="text" name="senha" value="<%= request.getParameter("senha")%>" /><br>
        PreFixo<input type="text" name="preFixo" value="<%= request.getParameter("preFixo")%>" /><br>
        TelFixo<input type="text" name="telFixo" value="<%= request.getParameter("telFixo")%>" /><br>
        PreCelular<input type="text" name="preCelular" value="<%= request.getParameter("preCelular")%>" /><br>
        TelCelular<input type="text" name="telCelular" value= "<%= request.getParameter("telCelular")%>" /><br>

      
                         <input type="submit" value="atualizar" />

        </form>

    </body>
</html>

2 Respostas

A

e ai zeimbic blz, como você falou do editar fui direto na query que faz o update no DAO, ela espera receber 10 parametros e você só passa 9.
tenta incluir isso e ve se funciona
p.setString(10, admin.getNome());

Z

o getNome esta la é o primeiro do metodo…
eu na verdade não estou sabendo fazer quando chega ao Servlet e jsp

Criado 13 de agosto de 2012
Ultima resposta 13 de ago. de 2012
Respostas 2
Participantes 2