Pessoal tenho uma servlet que consulta se o usuário tem ou não permisão para entrar no sistema. se ele digita a senha errada ou usuário errado quero dar uma mensagem de alerta pelo JavaScript, só que não estou conseguido fazer. estou conseguindo dar essa mensagem mas pelo console do eclipse, mas no caso o usuário não ver. tem como mandar essa msg pelo javascript?
minha Servlet
[code]//Instanciando a classe selectBd
selectBD select = new selectBD();
//Instaciando a classe cadLogin
cadLogin cad = new cadLogin();
cad.setNome(request.getParameter("user_"));
cad.setSenha(request.getParameter("password_"));
//aqui passo o cad que recebeu o nome e a senha
int status = select.buscaUser(cad);
if(status == 1){
//aqui estou criando uma sessão para o usuario
HttpSession session = request.getSession(true);
//aqui passo qualquer nome para recuperar no filter para ver se a pessoa estar logada
session.setAttribute("logado", true);
session.setAttribute("usuarioLogado", cad.getNome());
response.sendRedirect("/projetoWeb/admin/logado.jsp");
}else{
System.out.println("Usuario ou senha incorreto"); //aqui estou dando a msg de erro
response.sendRedirect("/projetoWeb/index.jsp");
}[/code]
[code]minha classe que verifica se o usuario e a senha existe
public int buscaUser(cadLogin login){
//Instanciando a classe de conexão como o BD
conectaBD carrega = new conectaBD();
Connection con = carrega.getConnection();
PreparedStatement ps = null;
String select = "SELECT * FROM cadlogin WHERE cadlogin_nome = ? and cadlogin_senha = ?";
try {
ps = con.prepareStatement(select);
ps.setString(1, login.getNome());
ps.setString(2, login.getSenha());
ResultSet rs = ps.executeQuery();
if(rs.next()){
return 1;
}
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}[/code]
Tem como fazer isso utilizando AJAX.
Dá uma olhada nesse tutorial e vê se te ajuda:
http://javapapers.com/ajax/getting-started-with-ajax-using-java/
só tem indo pelo AJAX? sou novo em programação, então não sei muita coisa…
response.getWriter().write("<html><script>alert('Usuario ou senha invalido!')</script></html>");
não funcionou mauricioadl…
segue onde coloquei o codigo
[code] //Instanciando a classe selectBd
selectBD select = new selectBD();
//Instaciando a classe cadLogin
cadLogin cad = new cadLogin();
cad.setNome(request.getParameter("user_"));
cad.setSenha(request.getParameter("password_"));
//aqui passo o cad que recebeu o nome e a senha
int status = select.buscaUser(cad);
if(status == 1){
//aqui estou criando uma sessão para o usuario
HttpSession session = request.getSession(true);
//aqui passo qualquer nome para recuperar no filter para ver se a pessoa estar logada
session.setAttribute("logado", true);
session.setAttribute("usuarioLogado", cad.getNome());
response.sendRedirect("/projetoWeb/admin/logado.jsp");
}else{
//System.out.println("Usuario ou senha incorreto");
response.getWriter().write("<html><script>alert('Usuario ou senha invalido!')</script></html>");
response.sendRedirect("/projetoWeb/index.jsp");
}[/code]
esqueça oq eu falei antes, coloque isso na sua login.jsp
<%
if(request.getSession().getAttribute("logado") != null) {
out.print("<script>alert('Usuario e/ou senha invalido!')</script>");
}
%>
mauricioadl primeiramente obrigado pela ajuda que esta me dando.
Infelizmente tbm não funcionou…
coloquei de duas maneiras
1ª
[code][/code]
e a 2ª
<%
if(request.getSession().getAttribute("logado") != null) {
out.print("<script>alert('Usuario e/ou senha invalido!')</script>");
}
%>
Nessa parte q vc estar recuperando a sessão, aqui estar falando se for diferente de null, eu coloquei igual a null, o único problema e que quando vc já entra ele ja da erro. Mas dessa forma funcionou, o certo seria q da primeira vez não desse essa msg pois a pessoa acabou de entrar no login
<%
if(request.getSession().getAttribute(“logado”) == null){
out.print(“alert(‘Usuario e/ou senha invalido!’)”);
}
%>
[/code]
faz assim, qndo houver erro de autenticacao vc seta para false, dae qndo vc for verificar na login vc faz assim
<%
if(request.getSession().getAttribute("logado") != null && ( (boolean) request.getSession().getAttribute("logado") ) == false) {
out.print("<script>alert('Usuario e/ou senha invalido!')</script>");
}
%>
dessa forma a página nem abre, ja da erro.
Eu me lembro que uma vez eu mandei uma variavel na URL, ai pegava ela na hora que a pessoa entrava no site, dessa forma como era a primeira vez, ele exibia o formulário, ai caso a pessoa colocasse o login ou a senha errada ai da o erro
na url da tbm.
na index.jsp
<%
if(request.getParameter("falha") != null)
out.print("<script>alert('Usuario e/ou senha invalido!')</script>");
%>
na servlet
response.sendRedirect("/projetoWeb/index.jsp?falha=true");
Sensacional mauricioadl, tinha feito ja um monte de formas, e nada tinha funcionado, tinha pegado os paramentos dos input e nada tbm, mas dessa forma que vc colocou ai deu certo…
vlw obrigado…