Como logar sem ter que redirecionar para outra página?

4 respostas
P

Boa noite pessoas.
tenho duas dúvidas básicas… :oops:

Eu tenho um sisteminha de login. Quando o usuário efetua o login no index.jsp, após ter efetuado o login ele é redirecionado para index2.jsp.
O que eu quero fazer é que ele não seja redirecionado para nenhum lugar. Quero que apenas ao efetuar o login, os dados da div sejam mudados. Existe alguma classe pronta que faz isso?

login.jsp

<div id="login">
        <table>
            <form name="frmLogin" method='post'>
                <tr>
                    <td align="right">
                        <p>Login</p>
                    </td>
                    <td>
                        <input type="text" name="login" id="login" maxlength="30" size="9">
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        <p>Senha</p>
                    </td>
                    <td>
                        <input type="password" name="senha" id="senha" maxlength="10" size="10">
                    </td>
                </tr>
                <tr>
                    <td colspan="2" align="center">
                        <button type="button" onclick="validarCamposLogin()">Acessar</button>
                    </td>
                </tr>
                <tr>
                    <td>
                    <a href='/atelierlucena/inserirusuario.jsp'>Cadastre-se</a> - 
                    </td>
                    <td>
                    <a href='/atelierlucena/recuperarusuario.jsp'>Recuperar conta</a>
                    </td>
                </tr>
            </form>
        </table> 
    </div>

Primeira página a ser exibida que inclui o login.jsp:

index.jsp

<div id="menuLogin">
        	<tr>
            	<td>
        			<%@include file="/login.jsp"%>
            	</td>
            </tr>
   	  </div>

após o login o usuário é redirecionado para esta página:

index2.jsp

<div id="menuLogin">
        	<tr align="center">
            	<td align="center">
                    <p><br><br>Seja bem-vindo <%=nome%><br><br>
                    <a href="/atelierlucena/servletweb?acao=AlterarUsuario&Login=<%=login%>">Alterar Cadastro</a><br> 
                    <a href='/atelierlucena/logout.jsp'">Logout</a></p>
            	</td>
            </tr>
   	  </div>

A outra dúvida é que eu tbm preciso saber se existe alguma classe que volte caso o usuario digitou a senha errada, nesse meu sistema de login, se o usuário errou ao digitar uma senha, ele é redirecionado para a página erro.jsp.

4 Respostas

caio.gaspar

provavelmente voce coloca o usuario na sessao…
entao voce pode usar a tag <c:when> e a tag <c:otherwise>

exemplo

<c:choose>
<c:when test="${usuario == null}">
//div com o formulario para login
<div>...</div>
</c:when>

<c:otherwise>
//div com as informações para usuario logado
<div>...</div>
</c:otherwise>

</c:choose>
P

Não funcionou direito…
a div de login fica no lugar que ela deve estar, mas já a div que mostra as informações do usuário fica perdida na tela.

caio.gaspar

mostra como ficou o código do jsp

P
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="controller.vo.Usuario,controller.Login"%>

<%!
String codUsuario=""; 
%>
<%
 String login = (String) request.getSession().getAttribute("login");
 String nome = (String) request.getSession().getAttribute("nome");
%>

<link rel="stylesheet" type="text/css" href="estilo.css">

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>A</title>
        <script type="text/javascript" language="JavaScript" src="js/webvalida.js"></script>


<c:choose>  
    <c:when test="${login == null}"> 
        <div id="login">
            <table>
                <form name="frmLogin" method='post'>
                    <tr>
                        <td align="right">
                            <p>Login</p>
                        </td>
                        <td>
                            <input type="text" name="login" id="login" maxlength="30" size="9">
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            <p>Senha</p>
                        </td>
                        <td>
                            <input type="password" name="senha" id="senha" maxlength="10" size="10">
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" align="center">
                            <button type="button" onclick="validarCamposLogin()">Acessar</button>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        <a href='/atelierlucena/inserirusuario.jsp'>Cadastre-se</a> - 
                        </td>
                        <td>
                        <a href='/atelierlucena/recuperarusuario.jsp'>Recuperar conta</a>
                        </td>
                    </tr>
                </form>
            </table> 
        </div>
     </c:when>
     <c:otherwise>  
        <div id="menuLogin">
        	<tr align="center">
                    <td align="center">
                        <p><br><br>Seja bem-vindo <%=nome%><br><br>
                        <a href="/atelierlucena/servletweb?acao=AlterarUsuario&Login=<%=login%>">Alterar Cadastro</a><br> 
                        <a href='/atelierlucena/logout.jsp'">Logout</a></p>
                    </td>
                </tr>
   	</div> 
     </c:otherwise>  
</c:choose>
Criado 28 de abril de 2011
Ultima resposta 28 de abr. de 2011
Respostas 4
Participantes 2