Dica para um Servlet

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]

Do que você precisa ?!?

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

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.

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);

        }
    }

    
}   

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 java.io.;
import java.net.
;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.;
import javax.servlet.http.
;

/**
*

  • @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]