Quero fazer esta servlet passar um objeto Bean para uma classe que ira fazer a inserção e etc… no banco e apos retornar para uma página.
como posso fazer isto…?
O que falta no código que comecei da Servlet? Estou iniciando em java…
[color=“blue”]public class ServletUsuario extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException
{
BeanUsuario user = new BeanUsuario();
user.setLogin(req.getParameter("login"));
user.setSenha(req.getParameter("senha"));
user.setNivel(req.getParameter("nivel"));
}
}[/color]
Primeiro então crie sua classe responsavel por fazer a insercao no banco, e entao, num dos metodos, que fará o INSERT, passe seu bean.
O problema é como fazer o metodo que recebe o bean e como passar o bean.
Tipo:
MetodoInsertClient(BeanUsuario usuario)
{
…
}
para passar o Objeto Bean:
MetodoInsertCliente(user);
Seria assim ou como seria?
Perfeito!
Vc pode até criar uma classe DAO, que faz os acessos ao Banco. Exemplo:
[code]public class BeanUsuarioDAO {
public void inserir( BeanUsuario bean ) {
//aqui vc pega a conexao
//cria o SQL
//e faz o insert
}
public void deletar( BeanUsuario bean ) {
//aqui vc pega a conexao
//cria o SQL
//e faz o delete
}
public void update( BeanUsuario bean ) {
//aqui vc pega a conexao
//cria o SQL
//e faz o update
}
public BeanUsuario selectPK( Integer codigo ) {
//aqui vc pega a conexao
//cria o SQL, buscando pela chave "codigo"
// faz o select
//e retorna o objeto com os dados do banco
}
}[/code]
Primeiramente quero agradecer pelas dúvidas que você já me esclareceu…
Gostaria de saber se estou indo no caminho correto com o meu código, é que sou iniciante mesmo e tenho que entregar um trabalho em 30 dias, que é meu TCC, vou fazer um Servidor helpdesk de manutencao, que poderá ser acessado tanto pelo Browser quanto pelo celular para requisitar chamadas de manutenção, pretendo fazer utilizando Servlets para a parte de negócio, JSP apresentação(MIDP celular), e MySQL banco, se vc tiver umas dicas quentes ficaria muito grato dependo deste trabalho para me formar…sei que existem vários recursos em java tipo Hibernate etc…mas vou fazer o feijão com arroz porque o tempo é curto se alguem tiver algunas codigos simples de exemplos ficaria muito grato também…
[code]public class ClassUsuario {
Conexao con=null;
private String pagina=null;
public void InsereUsuario(BeanUsuario usuario)
{
try
{
con = new Conexao();
con.executeUpdate("insert into TbUsuario values ("+con.retornaIDMax("TbUsuario") +" , '"+usuario.getLogin() +"', '" +usuario.getSenha() +"' , '"+ usuario.getNivel() +"')");
pagina = "/sucesso.jsp";
} catch (SQLException ex) {
if (ex.getErrorCode() == 1062) {
usuario.setErros("login", "login já existe!");
pagina = "RetryUsuario.jsp";
}
System.out.println(ex);
} finally {
if (con != null)
con.fecharConexao();
con = null;
}
if (pagina == null)
pagina = "/erro.jsp";
}
public void DeleteUsuario(BeanUsuario usuario)
{
}
public void UpdateUsuario( BeanUsuario bean )
{
}
// public BeanUsuario selectPK(integer codigo) {
//aqui vc pega a conexao
//cria o SQL, buscando pela chave "codigo"
// faz o select
//e retorna o objeto com os dados do banco
// }
}[/code]
É quase isso, você está chegando lá.
Acho que não há a necessida de se usar a sua classe Conexão, já que o JDBC oferece a interface java.sql.Connection.
Você, no lugar, poderia criar uma classe que gerencie suas conexões (ex: ConnectionManager), que seria como uma Factory de Connection.
public class ConnectionManager {
public Connection ConnectioManager.pegarUmaConexao() {
// cria e retorna uma conexão
}
}
Em segundo lugar, o seu DAO NUNCA deve saber qual a página de retorno a ser exibida, pois a única função do DAO é acessar o banco de dados (ou outra fonte de dados).
Outras classes podem saber para qual página remeter. Por exemplo o seu Servlet.
Dá uma procurada aqui no fórum sobre Connection Pool e sobre MVC.
Boa sorte e abraços