Dica para um Servlet

5 respostas
analistaerick

Boa tarde pessoa, preciso de uma ajuda no desenvolvimento desse Servler:

primeiramente vou passar o código do pacote pessoa:

[code]
package br.com.invest;

public class Pessoa {

private int idPessoa;

private String nome;

private String telefone;

private String email;

private String senha;

private boolean administrador;

public Pessoa(int idPessoa, String nome, String telefone, String email, String senha, Boolean administrador) {
this.idPessoa = idPessoa;
this.nome = nome;
this.telefone = telefone;
this.email = email;
this.senha = senha;
this.administrador = administrador;
}

public Pessoa(){
}

public int getIdPessoa() {
return idPessoa;
}

public void setIdPessoa(int idPessoa) {
this.idPessoa = idPessoa;
}

public String getNome() {
return nome;
}

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

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 String getSenha() {
return senha;
}

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

/**
* @return the administrador
*/
public boolean getPerfilAdm() {
return administrador;
}

/**
* @param administrador the administrador to set
*/
public void setPerfilAdm(boolean pAdm) {
administrador = pAdm;
}


}
[code]

Agora para o Servlet preciso de get para PerfilAdm (Boolean pAdm)
No servlet está assim

[code]

// Inicio do Servlet

public class ServletPessoas extends HttpServlet {

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

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

if(cmd==null)
cmd = "principal";

DAO dao;
Pessoa pessoa = new Pessoa( );
if(cmd!=null || !cmd.equalsIgnoreCase("principal")){
try {
String idPessoa = request.getParameter("idPessoa");
if(idPessoa!=null)
pessoa.setIdPessoa(Integer.parseInt(idPessoa));

pessoa.setNome(request.getParameter("nome"));
pessoa.setTelefone(request.getParameter("telefone"));
pessoa.setEmail(request.getParameter("email"));
pessoa.setSenha(request.getParameter("senha"));
pessoa.setPerfilAdm(strTo(request.getParameter("administrador"));// SOLUÇÃO PARA ESTA LINHA

request.setAttribute("mensagem", "Usuário ("+pessoa.getNome()+") gravado com sucesso!");
} catch (Exception ex) {
request.setAttribute("mensagem", "Problemas com a gravação: "+ex.getMessage());
ex.printStackTrace( );

}

}

try {

dao = new PessoaDAOImp( );
RequestDispatcher rd = null;
if(cmd.equalsIgnoreCase("listar")){

List pessoaList = dao.todosPessoas( );
request.setAttribute( "pessoaList", pessoaList );
rd = request.getRequestDispatcher( "/mostrarAutoresCads.jsp" );

} else if( cmd.equalsIgnoreCase( "adc" ) ){

dao.salvar( pessoa );
rd = request.getRequestDispatcher( "ServletPessoas?cmd=listar" );

} else if( cmd.equalsIgnoreCase( "exc" ) ){

dao.excluir( pessoa );
rd = request.getRequestDispatcher( "ServletPessoas?cmd=listar" );

} else if( cmd.equalsIgnoreCase( "atu" ) ){

pessoa = dao.procurarPessoa(pessoa.getIdPessoa( ));
HttpSession session=request.getSession(true);
session.setAttribute( "pessoa", pessoa );
rd = request.getRequestDispatcher( "/formAtuAutor.jsp" );

} else if( cmd.equalsIgnoreCase( "atualizar" ) ){

dao.atualizar( pessoa );
rd = request.getRequestDispatcher( "ServletPessoas?cmd=listar" );

} else if( cmd.equalsIgnoreCase( "principal" ) ){

rd = request.getRequestDispatcher( "/formInserindoDados.jsp" );

}

rd.forward( request, response );

} catch( Exception e ) {
e.printStackTrace( );
throw new ServletException( e );
}

} // Fim do Servlet

[code]

5 Respostas

marciobarroso

Do que você precisa ?!?

analistaerick
pessoa.setPerfilAdm(strTo(request.getParameter("administrador"));// SOLUÇÃO PARA ESTA LINHA
marciobarroso

Verifique primeiro se o atributo que procura esta setado na request. Se estiver, simplemente chame o set do seu pojo passando como parametro o valor recuperado.

analistaerick

Amigo Marcio, veja o set:

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

package br.com.integrator.dao;

import br.com.integrator.Pessoa;
import br.com.integrator.util.Conexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


/**
 * A classe  <B>PessoarDAOImp</B> cria o CRUD necessário 
 * para manipular a tabela Autores e implementa <I>DAO</I>
 * @author Edson Gonçalves
 * @since 05-12-2007
 * @version 1.1
 */
public class PessoaDAOImp implements DAO {
    
    private Connection conn;
    
     /**
     * Método construtor que se conecta ao banco de dados
     * @throws java.lang.Exception se não houver conexão
     */
    public PessoaDAOImp( ) throws Exception{
        try {
            this.conn = Conexao.getConnection( );
            
            
        } catch( Exception e ) {
            throw new Exception( "Erro: " +
                    "\n" + e.getMessage( ) );
        }
    }
   
    @Override  
    public void salvar(Pessoa pessoa)  throws Exception{
        PreparedStatement ps = null;
        Connection conn = null;
        if (pessoa == null)
            throw new
                    Exception("O valor passado não pode ser nulo");
        
        try {
            String SQL = "INSERT INTO pessoa (nome, telefone, email, senha, administrador) "+
                         "values (?,?,?,?,?)";
            conn = this.conn;
            ps = conn.prepareStatement(SQL);
            ps.setString(1, pessoa.getNome( ));
            ps.setString(2, pessoa.getTelefone( ));
            ps.setString(3, pessoa.getEmail( ));
            ps.setString(4, pessoa.getSenha( ));
            ps.setBoolean(5,pessoa.getPerfilAdm());
            
            

            ps.executeUpdate( );
            
        } catch (SQLException sqle) {
            throw new
                    Exception("Erro ao inserir dados "+ sqle);
        } finally {
            Conexao.closeConnection(conn, ps);
            
        }
    }
  
    @Override
    public List todosPessoas( )  throws Exception{
        PreparedStatement ps = null;
        Connection conn = null;
        ResultSet rs = null;
        
        try {
            conn = this.conn;
            ps = conn.prepareStatement("select * from pessoa");
            rs = ps.executeQuery( );
            List<Pessoa> list = new ArrayList<Pessoa>( );
            while( rs.next( ) ) {
                Integer idPessoa = rs.getInt( 1 );
                String nome = rs.getString( 2 );
                String telefone = rs.getString( 3 );
                String email = rs.getString( 4 );
                String senha = rs.getString( 5 );
                Boolean administrador = rs.getBoolean( 6 ) ;
                
                list.add( new Pessoa(idPessoa, nome, telefone, email, senha, administrador) );
                
            }
            return list;
            
        } catch (SQLException sqle) {
            throw new Exception(sqle);
        } finally {
            Conexao.closeConnection(conn, ps, rs);
        }
    }
    
    
    public Pessoa procurarPessoa(Integer idPessoa)
    throws  Exception {
        PreparedStatement ps = null;
        Connection conn = null;
        ResultSet rs = null;
        
        try {
            conn = this.conn;
            ps = 
		conn.prepareStatement("select * from pessoa where idPessoa=?");
            ps.setInt(1, idPessoa);
            rs = ps.executeQuery( );
            if( !rs.next( ) ) {
                throw new
                        Exception( "Não foi encontrado nenhum" +
                        " registro com o ID: " + idPessoa );
            }
            
            String nome = rs.getString( 2 );
            String telefone = rs.getString( 3 );
            String email = rs.getString( 4 );
            String senha = rs.getString( 5 );
            Boolean administrador = rs.getBoolean( 6 ) ;
            
            return new Pessoa (idPessoa, nome, telefone, email, senha, administrador) ;
            
        } catch (SQLException sqle) {
            throw new  Exception(sqle);
        } finally {
            Conexao.closeConnection(conn, ps, rs);
            
        }
    }
    
    @Override
    public void excluir(Pessoa pessoa) throws Exception {
        PreparedStatement ps = null;
        Connection conn = null;
        
        if (pessoa == null)
            throw new
                    Exception("O valor passado não pode ser nulo");
        
        try {
            conn = this.conn;
            ps = 
		conn.prepareStatement("delete from pessoa where idPessoa=?");
            ps.setInt(1, pessoa.getIdPessoa( ));
            ps.executeUpdate( );
            
            
        } catch (SQLException sqle) {
            throw new
                    Exception("Erro ao excluir dados:" + sqle);
            
        } finally {
            Conexao.closeConnection(conn, ps);
        }
        
    }
    
    public void atualizar(Pessoa pessoa)  throws Exception {
        PreparedStatement ps = null;
        Connection conn = null;

        if (pessoa == null)
            throw new
                    Exception("O valor passado não pode ser nulo");

        try {
            String SQL = "UPDATE pessoa SET nome=?, " +
                    " telefone=?, " +
                    " email=?, " +
                    " senha=?, " +
                    " administrador=? " +
                    "where idPessoa=?";
            conn = this.conn;
            ps = conn.prepareStatement(SQL);
            ps.setString(1, pessoa.getNome( ));
            ps.setString(2, pessoa.getTelefone( ));
            ps.setString(3, pessoa.getEmail( ));
            ps.setString(4, pessoa.getSenha( ));
            ps.setBoolean(5,pessoa.getPerfilAdm());
            
            ps.setInt(6, pessoa.getIdPessoa( ));

            ps.executeUpdate( );

        } catch (SQLException sqle) {
            throw new
                    Exception("Erro ao atualizar dados: "+ sqle);
        } finally {
            Conexao.closeConnection(conn, ps);

        }
    }

    
}
analistaerick

Preciso de uma dica neste servlet, onde pessoa.setPerfilAdm é setado como boolean, mas com o este getParameter dá erro, alguém poderia dá uma dica, resto do código segue acima

[quote]
package br.com.qualquer

import br.com.integrator.Pessoa;

import br.com.integrator.dao.PessoaDAOImp;

import br.com.integrator.dao.DAO;

import <a href="http://java.io">java.io</a>.<em>;

import <a href="http://java.net">java.net</a>.</em>;
import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.List;

import javax.servlet.<em>;

import javax.servlet.http.</em>;

/**
*

  • @author Administrador
    */
    public class ServletPessoas extends HttpServlet {

    protected void processRequest(HttpServletRequest request,
    
    HttpServletResponse response)
    
    throws ServletException, IOException {
    
    String cmd = request.getParameter( "cmd" );
    
     if(cmd==null)
         cmd = "principal";
    
    
     DAO dao;
     Pessoa pessoa = new Pessoa( );
     if(cmd!=null || !cmd.equalsIgnoreCase("principal")){
         try {
             String idPessoa = request.getParameter("idPessoa");
             if(idPessoa!=null)
             pessoa.setIdPessoa(Integer.parseInt(idPessoa));
    
             pessoa.setNome(request.getParameter("nome"));
             pessoa.setTelefone(request.getParameter("telefone"));
             pessoa.setEmail(request.getParameter("email"));           
             pessoa.setSenha(request.getParameter("senha"));
             pessoa.setPerfilAdm(request.getParameter("administrador")); // PRECISO DE OPINIÃO PARA ESTA LINHA          
            
         request.setAttribute("mensagem", "Usuário ("+pessoa.getNome()+") gravado com sucesso!");
         } catch (Exception ex) {
             request.setAttribute("mensagem", "Problemas com a gravação: "+ex.getMessage());
             ex.printStackTrace( );
             
         }
    
     }
    
     try {
    
         dao = new PessoaDAOImp( );
         RequestDispatcher rd = null;
         if(cmd.equalsIgnoreCase("listar")){
    
             List pessoaList = dao.todosPessoas( );
             request.setAttribute( "pessoaList", pessoaList );
             rd = request.getRequestDispatcher( "/mostrarAutoresCads.jsp" );
    
    
         } else if( cmd.equalsIgnoreCase( "adc" ) ){
    
             dao.salvar( pessoa );
             rd = request.getRequestDispatcher( "ServletPessoas?cmd=listar" );
    
         } else if( cmd.equalsIgnoreCase( "exc" ) ){
    
             dao.excluir( pessoa );
             rd = request.getRequestDispatcher( "ServletPessoas?cmd=listar" );
    
         } else if( cmd.equalsIgnoreCase( "atu" ) ){
    
             pessoa = dao.procurarPessoa(pessoa.getIdPessoa( ));
             HttpSession session=request.getSession(true);
             session.setAttribute( "pessoa", pessoa );
             rd = request.getRequestDispatcher( "/formAtuAutor.jsp" );
    
         } else if( cmd.equalsIgnoreCase( "atualizar" ) ){
    
             dao.atualizar( pessoa );
             rd = request.getRequestDispatcher( "ServletPessoas?cmd=listar" );
    
         } else if( cmd.equalsIgnoreCase( "principal" ) ){
    
             rd = request.getRequestDispatcher( "/formInserindoDados.jsp" );
    
         }
    
         rd.forward( request, response );
    
     } catch( Exception e ) {
         e.printStackTrace( );
         throw new ServletException( e );
     }
    

    }

[quote]

Criado 17 de dezembro de 2012
Ultima resposta 21 de dez. de 2012
Respostas 5
Participantes 2