ola pessoal, estou desenvolvendo uma aplicacao com jsp/servlet. Sou iniciante ainda. Eu tenho um form que tem um action q aponta para a minha classe Servlet. nessa classe eu tenho q tratar uma excecao. So que eu gostaria de enviar de novo para o navegador a mensagem de erro para q o navegador pudesse mostra-la para o usuario. Eu uso o objeto response para fazer isso? vcs podem me dar uma dica? obg!
Enviar uma mensagem do servlet pra um jsp
4 Respostas
Kra nao tenhu certeza se pode dar certo, pois tb soh iniciante, mas faz o seguinte manda chama uma outra JSP exibindo uma menssagem de erro na propria pagina, seria uma erro.jsp por exemplo, se manda chamar a erro.jsp quando der a excecao. Seria mais ou menos isso ai que vc tah querendo???
nao, eu queria mandar para a propria pagina que chamou o jsp!
vlw!
Acho que se você utilizar filters do servlet irá facilitar muito a sua vida, pois você poderá filtrar qualquer coisa que você precisa antes dela realmente executar o servlet da sua aplicação.
[]s
Se você quiser que o Servlet receba os dados enviados pela JSP, faça a validação e então retorne possíveis mensagens de erro, você deve fazer o seguinte:
A página JSP deve ter um espaço -
por exemplo - que só sirva para mostrar resultados de erro. Esse espaço deve ser controlado por um if.<c:choose>
<c:when test="${ variavel_de_erro != null }" />
MOSTRAR ERRO.
</c:when>
</c:choose>
O Servlet deve fazer analogamente a mesma coisa. Caso haja um erro, ele deve direcionar a requisição para outro canto. Utilize RequestDispatcher para isso.
RequestDispatcher dispatcher;
(...)
if (erro_acontecer){
path = "pagina_de_erro.jsp";
}
dispatcher = request.getRequestDispatcher(path)
dispatcher.forward(request,response);
Essa página de erro pode ser inclusive a própria página que você enviou os dados para o Servlet.
E se você quiser que seus dados sejam tratados fora do Servlet. Utilize um Filter, como disse o colega.