Pessoal deem uma força aqui por favor, estou tentando validar um login utilizando struts2 + hibernate com criteria.
Não sou nenhum profissional no assunto(alias sou bem iniciante), já pesquisei bastante na net e tentei varias maneiras mas não funciona :x
O código de verificação no banco(nele que eu acho que esta o problema) esta assim:
public boolean verificaUsuario( Usuario usuario){
Criteria crt = this.session.createCriteria(Usuario.class);
crt.add(Restrictions.eq("login",usuario.getLogin()));
crt.add(Restrictions.eq("senha",usuario.getSenha()));
boolean verifica = crt.uniqueResult() != null;
return verifica;
}
Action:
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.hibernate.Session;
import br.com.estudo.hibernate.HibernateUtil;
import br.com.estudo.hibernate.Usuario;
import br.com.estudo.hibernate.UsuarioDAO;
public class LoginAction {
private Session session;
private Usuario usuario;
@Action( value="login", results={
@Result( name="ok", location="/menu.jsp"),
@Result( name="invalido", location="/login.jsp")
})
public String login(){
session = new HibernateUtil().getSession();
UsuarioDAO dao = new UsuarioDAO(session);
if( dao.verificaUsuario( usuario ) ){
return "ok";
}
else{
System.out.println("nao encontrou");
return "invalido";
}
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}
jsp:
<html>
<body>
<h2>Página de Login</h2>
<form action="login" method="post">
Login: <input type="text" name="usuario.login"><br />
Senha: <input type="password" name="usuario.senha"><br />
<input type="submit" value="Logar" />
</form>
</body>
</html>
Creio eu que o problema esta no método verificaUsuario, estou usando Criteria do jeito errado? Se estou alguem poderia ensinar o jeito correto?
Agradeço desde já 