cara, é so na action do form do seu jsp vc mandar p/ o servlet…
de uma olhada nesse artigo, talves te ajude:
http://www.guj.com.br/java.artigo.9.1.guj
[]'s
cara, é so na action do form do seu jsp vc mandar p/ o servlet…
de uma olhada nesse artigo, talves te ajude:
http://www.guj.com.br/java.artigo.9.1.guj
[]'s
Na execução do teu servlet, após ter recebido os dados do formulário e processado-os, defina a mensagem de sucesso ou erro e repasse-a para a jsp dando um forward para a mesma.
Eh justamente com o retorno booleano que vc irá definir qual mensagem mandará para sua jsp.
Por exemplo, a validação de um cadastro de usuário, (no servlet), poderia ser feita assim:
String msg;
//Usuário já existe, nao posso cadastrar...
if(loginBean.consulta(usuario, senha)){
msg = "Este usuário já está cadastrado na base!";
}else{
//Salvo o novo usuario e defino a mensagem de retorno
...
msg = "Cadastro efetuado com sucesso!";
}
request.setAttribute("mensagem", msg);
request.getRequestDispatcher("/minhaJsp.jsp").forward(request, response);
Dessa maneira vc tira a responsabilidade pelo fluxo a ser seguido de sua jsp, e a passa para o servlet…assim, sua jsp possuirá somente a responsábilidade de exibir as informações, não de controla-las…
Tem certeza que logar.LoginBeanX eh um Servlet???
Na verdade seu Servlet deve ser outra classe, pq o LoginBeanX q vc colocou acima, pelo visto, soh eh responsável pelo acesso a base de dados, com o método consulta…
Pessoal,
estou há dias tentando fazer um simples cadastro em JSP dentro do eclipse. Tento fazer uma página com os campos pro user preencher, e quando ele clica no botão submit executa um servlet que pega os dados, valida e joga pro banco via jdbc, e depois devolve a confirmação de sucesso(ou erro) pra mesma página jsp.
Até então consegui fazer usando uma página jsp que chama outra jsp que chama o servlet que executa e devolve pra primeira página.;…ou seja, tem página jsp demais pra um cadastro, não?
Já pesquisei, olhei livros do Mark Kolb, do Kurniawan…mas tudo que acho inicia em um servlet controlador que chama o jsp…acho que é o tal modelo MVC…alguma idéia para iniciar com a página jsp, chamar servlet, e voltar pra página???
Obrigado.
Perfeito. Entretanto no exemplo do tutorial ele escreve o html dentro do servlet e eu gostaria de ter isso dissociado. Uma página JSP que chama o servlet HelloServlet retorna para a página jsp…
Tenho uma que quase isso, mas acho que dá para melhorar muito. Olha só:
Página LOGIN.JSP
<%@ page session = “false”%>
<jsp:useBean id=“loginBean” scope=“page” class=“logar.LoginBeanX”/>
<%if (request.getParameter(“error”)!=null){%>
O Login falhou. Tente novamente.
Login: |
|
Senha: |
|
Interessante diogenes. Mas desta maneira não irei matar o retorno boolean da classe public boolean consulta(String userX, String passX)??
Não deveria fazer um request.getRequestDispatcher(“MESMAPAGINA.jsp”).forward(request, response); dentro da pagina JSP ao invés de colocar no servlet??
Obrigado.
Certo.
Logo acredito que minha página JSP deva apenas chamar o meu servlet logar.LoginBeanX via action do form…poderei excluir o code abaixo:
<%
if (request.getParameter(“userX”) != null && request.getParameter(“passX”) !=null)
if (loginBean.consulta(request.getParameter(“userX”), request.getParameter(“passX”)))
request.getRequestDispatcher(“Index.jsp”).forward(request, response);
else
response.sendRedirect(“Login.jsp?error=yes”);
%>
e finalmente pegar os campos no servlet com request.getParameterName(NomedoCampo)
Basicamente isso, não?
Obrigado.
Tem razão…o nome servlet saiu meio forçado mesmo.