Página em JSP

2 respostas
D

Pessoal, tenho o seguinte problema:

Tenho uma pagina onde faço um cadastro de usuário, queria que quando o usuário confirmasse o cadastro, a pagina fosse atualizada e que alguns parametros contidos nela fossem alterados, como por exemplo links:

de login para logout, etc.

A questao é simples, como atualizar minha página após login/logout ou outro tipo de ação

2 Respostas

R

Olá Delfyno!!

Eu posso lhe mostrar uma solução, porém ela se dá utilizando JSP com servlets controladores.

Vou lhe dar um exemplo simples, mas que pode ser acrescentado uma vez que você pega o espírito da coisa.

Imagine o seguinte Servlet:

// SevletLogin.java

public class ServletLogin extends HttpServlet

{

public void doGet (HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException

{

doPost(request,response);

}
public void doPost (HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
            // Testa se a form foi submetida (atraves de um campo hidden)
             if (request.getParameter("formSubmetido")!=null)
            {
                     // Sinaliza o começo do processamento
                     request.setAttribute("formProcessado","nao");

                     // Processar form...

                     // Sinaliza o final do processamento da form.
                     request.setAttribute("formProcessado","OK");

                     // Chama a JSP
                     request.getRequestDispacther().forward("login.jsp");
             }
             else
             {
                     // Chama a JSP
                     request.getRequestDispacther("login.jsp").forward();
              }
}

}

Veja agora a JSP:

// login.jsp

<html><body>

<h1>Login</h1>

<p>
<form action=“ServletLogin”>
Usuario: <input type=“text” name=“usuario”> <br />
Senha: <input type=“password” name=“senha”> <br />

&lt;input type="hidden" name="formSubmetido" value=""&gt;
        &lt;input type="submit" value="OK"&gt;
   &lt;/form&gt;

    &lt;% 
            if(request.getAttribute("formProcessado") != null)
            {
                      if( (String)request.getAttribute("formProcessado").equals("OK")
                                 out.println("Login Aceito...")
                        }
                       else
                        {
                                  out.println("Erro no login...")
                         }
             }
      % &gt;

</p>

</body></html>

A idéia é fazer com que o servlet receba as requisições do browser, então ele procura por um parâmetro chamado “formSubmetido” que só pode existir após a form da JSP ter sido submetida. Caso este atributo não exista, é sinal de que o usuário está fazendo a requisição pela primeira vez, então o Servlet apenas despacha a requisição para a JSP crua.

O form é exibido, e uma vez processado, passa como parâmetro o campo hidden, chamado “formSubmetido”. Desta vez o servlet detectará a presença deste parâmetro, irá processar a form, e se for do seu agrado, adicionar diversos novos atributos resultantes do processamento. (estes novos atributos por sua vez podem ser lidos pela JSP para determinar um novo comportamento, como eu fiz no caso de um login bem ou mal sucedido).

Lógico que este exemplo é muito simplório, ele só aponta uma abordagem que você pode utilizar. Eu gosto muito de trabalhar assim em sistemas simples. Aliás, eu gosto muito de usar apenas JAVA… sem muita parafernalha. E sempre que possível, me viro desse jeito.

Abraços!!!

R

Não sei porque… a identação não saiu… =(

Criado 15 de fevereiro de 2005
Ultima resposta 15 de fev. de 2005
Respostas 2
Participantes 2