Olá pessoal estou com um pequeno projeto e estou com uma grande dúvida tenho uma servlet chamada removerJogador para deletar um jogador a partir de um parametro passado por uma página jsp que é o nome do jogador e tenho uma classe chamada JDBCJogadorDAO onde está implementado o método deletarJogador gente minha dúvida é na servlet na hora de pegar o jogador com o parametro passado pelo request.getParameter(nome) na servlet preciso passar um objeto do tipo jogador para o método deletarJogador se eu criar na servlet ele n vai encontrar no banco, gostaria de saber como faço pra deletar o jogador do banco cujo nome é passado pela jsp e pegado pela servlet.
segue as classes
package action;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Jogador;
import DAO.FabricaConexao;
import DAO.JDBCJogadorDAO;
public class removerJogador extends HttpServlet {
private static final long serialVersionUID = 1L;
public removerJogador() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String nome = request.getParameter("nome");
FabricaConexao fabrica = new FabricaConexao();
Connection conexao = fabrica.fazConexao();
String comando = "select * from jogadores where nome=?";
try {
java.sql.Statement stmt = conexao.createStatement();
ResultSet rs = stmt.executeQuery(comando);
JDBCJogadorDAO dao = new JDBCJogadorDAO(conexao);
while(rs.next()){
//preciso de um jogador para passar como parametro para o metodo equalsIgnoreCase
//e tbm para o metodo deletarJogador do dao.
if((request.getParameter(nome).equalsIgnoreCase(j.getNome()))){
dao.deletarJogador(j);
}
}
}catch (Exception e){
e.printStackTrace();
}
}
}
Classe JDBCJogadorDAO
package DAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import model.Jogador;
public class JDBCJogadorDAO implements JogadorDAO {
Connection conexao;
public JDBCJogadorDAO(Connection conexao) {
this.conexao = conexao;
}
public void InserirJogador(Jogador jogador) {
String comando = "insert into jogadores" + "(nome, ataque, defesa, vida, nivel, experiencia)"
+ "values(?,?,?,?,?,?)";
PreparedStatement p;
try {
p = this.conexao.prepareStatement(comando);
p.setString(1, jogador.getNome());
p.setInt(2, jogador.getAtaque());
p.setInt(3, jogador.getDefesa());
p.setInt(4, jogador.getVida());
p.setInt(5, jogador.getNivel());
p.setInt(6, jogador.getExperiencia());
p.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
public void deletarJogador(Jogador j) {
String comando = "delete from jogadores where nome =?";
PreparedStatement p;
try {
p = this.conexao.prepareStatement(comando);
p.setString(1, j.getNome());
p.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
public List<Jogador> listarTodos() {
List<Jogador> jogadores = new ArrayList<Jogador>();
String comando = "select * from jogadores";
try {
java.sql.Statement stmt = conexao.createStatement();
ResultSet rs = stmt.executeQuery(comando);
while (rs.next()) {
Jogador jogador = new Jogador();
String nome = rs.getString("nome");
int ataque = rs.getInt("ataque");
int defesa = rs.getInt("defesa");
int vida = rs.getInt("vida");
int nivel = rs.getInt("nivel");
int experiencia = rs.getInt("experiencia");
jogador.setNome(nome);
jogador.setAtaque(ataque);
jogador.setDefesa(defesa);
jogador.setVida(vida);
jogador.setNivel(nivel);
jogador.setExperiencia(experiencia);
jogadores.add(jogador);
}
} catch (Exception e) {
e.printStackTrace();
}
return jogadores;
}
public void atualizar(Jogador j) {
String comando = "update jogadores set nome=?,set ataque=?, set defesa=?, set vida=? set nivel=?, set experiencia=?";
PreparedStatement p;
try {
p = this.conexao.prepareStatement(comando);
p.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
}