Olá amigos. Estou iniciando um programa de banco de dados. Primeiramente peço desculpas se o post ficar enorme, mas já tomei um comes de outra pessoa pq passei poucas informações e como eu q estou pedindo ajuda quero parecer o mais claro possível.
Eu tentei fazer o seguinte comando na class DAO que criei:
package br.com.engcordeiroelectronic.jdbc.testando123;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class Usuariodao {
Connection con = Conect.conectar();
public String salvar (Usuario usu) {
String resposta = null;
if (usu.getId()!=null && usu.getId()!=0) {
if (usu.getNome()==null || usu.getNome()=="0" ) {
if (usu.getLogin()=="admin" && usu.getSenha()=="8759") {
excluir(usu);
resposta = "Excluido com sucesso!";
}else {
resposta = "Sem permissão para isso!";
}
}else {
alterar(usu);
resposta = "alterado com sucesso!";
}
} else {
cadastrar(usu);
resposta = "cadastrado com sucesso!";
}
return resposta;
}
public void cadastrar (Usuario usuario) {
String sql = "insert into usuario (nome, login, senha) values (?,?,?)";
PreparedStatement preparador;
try {
preparador = con.prepareStatement(sql);
preparador.setString(1, usuario.getNome());
preparador.setString(2, usuario.getLogin());
preparador.setString(3, usuario.getSenha());
preparador.execute();
preparador.close();
System.out.println("Cadastramento bem sucedido!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List<Usuario> mostrar (){
String sql = "select * from usuario";
List<Usuario> lista = new ArrayList<Usuario>();
PreparedStatement preparador;
try {
preparador = con.prepareStatement(sql);
ResultSet resultado = preparador.executeQuery();
while (resultado.next()) {
Usuario usu = new Usuario ();
usu.setId(resultado.getInt("id"));
usu.setNome(resultado.getString("nome"));
usu.setLogin(resultado.getString("login"));
usu.setSenha(resultado.getString("senha"));
lista.add(usu);
}
preparador.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return lista;
}
public Usuario autenticar (Usuario usuario) {
String sql = "select * from usuario where login = ? and senha = ?";
Usuario usu = null;
PreparedStatement preparador;
try {
preparador= con.prepareStatement(sql);
preparador.setString(1, usuario.getLogin());
preparador.setString(2, usuario.getSenha());
ResultSet resultado = preparador.executeQuery();
if (resultado.next()) {
usu = new Usuario ();
usu.setNome(resultado.getString("nome"));
}
preparador.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return usu;
}
public void alterar (Usuario usuario) {
String sql = "update usuario set nome = ?, login = ?, senha = ? where id = ?";
PreparedStatement preparador;
try {
preparador = con.prepareStatement(sql);
preparador.setString(1, usuario.getNome());
preparador.setString(2, usuario.getLogin());
preparador.setString(3, usuario.getSenha());
preparador.setInt(4, usuario.getId());
preparador.execute();
preparador.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void excluir (Usuario usuario) {
String sql = "delet usuario where id = ?";
PreparedStatement preparador;
try {
preparador = con.prepareStatement(sql);
preparador.setInt(1, usuario.getId());
preparador.execute();
preparador.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Logo no inicio da classe no método salvar nos escadas de if else no comparador :
if (usu.getLogin()==“admin” && usu.getSenha()==“8759”) {
excluir(usu);
resposta = "Excluido com sucesso!";
}
esta pulando esse if como se a condição não fosse verdadeira. rodei o programa com o debug e o estranho é q mostra o usu. com os parâmetro login: admin juntamente com a senha: 8759 ou seja deveria estar dando verdadeira. vou postar o restante das classes abaixo para quem quiser testar tbm.
package br.com.engcordeiroelectronic.jdbc.testando123;
public class Usuario {
private Integer id;
private String nome;
private String login;
private String senha;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
a classe servlets :
package br.com.engcordeiroelectronic.jdbc.testando123;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
-
Servlet implementation class UsuController
*/
@WebServlet("/usucontroller.do")
public class UsuController extends HttpServlet {
private static final long serialVersionUID = 1L;/**
-
@see HttpServlet#HttpServlet()
*/
public UsuController() {
super();
// TODO Auto-generated constructor stub
}
/**
-
@see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/*Usuariodao usudao = new Usuariodao ();
List lista = usudao.mostrar();
PrintWriter resposta = response.getWriter();
resposta.println(lista);
*/
}
/**
-
@see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String id = request.getParameter(“id”);
String nome = request.getParameter(“nome”);
String login = request.getParameter(“login”);
String senha = request.getParameter(“senha”);Usuario usu = new Usuario ();
if (id!="") {
usu.setId(Integer.parseInt(id));
}
if (nome!="")
usu.setNome(nome);usu.setLogin(login);
usu.setSenha(senha);Usuariodao usudao = new Usuariodao ();
String resposta = usudao.salvar(usu);PrintWriter resp = response.getWriter();
resp.println(resposta);// TODO Auto-generated method stub
doGet(request, response);
}
-
@see HttpServlet#HttpServlet()
}
e o html :
CadastrodeUsuario <form action="usucontroller.do" method="post">
<label>ID:</label>
<input type = "text" name = "id" value = "" size = "40"/>
<label>Nome:</label>
<input type = "text" name = "nome" value = "" size = "40"/>
<label>Login:</label>
<input type = "text" name = "login" value = "" size = "40"/>
<label>Senha:</label>
<input type = "password" name = "senha" value = "" size = "40" maxlength="6"/>
<input type = "submit" value = "Salvar"/>
</form>