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 />
<input type="hidden" name="formSubmetido" value="">
<input type="submit" value="OK">
</form>
<%
if(request.getAttribute("formProcessado") != null)
{
if( (String)request.getAttribute("formProcessado").equals("OK")
out.println("Login Aceito...")
}
else
{
out.println("Erro no login...")
}
}
% >
</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!!!