Servlet não retorna mensagem de erro
Olá a todos, estou com um probleminha simples, meu servlet não está retornando mensagens de erros, isso é estou acompanhando video aula, testei com outros navegadores e ja reiniciei varias vezes o server e não deu em nada. alguem pode me ajudar?
WizardServlet.java
servlet-exemple.jsp
servlet-resultado.jsp
WizardServlet.java
package br.edu.alomundo.servlet;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class WizardServlet
*/
@WebServlet("/wizard")
public class WizardServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
request.setAttribute("data", dateFormat.format(new Date()));
String redirect = "jsp/servlet-example.jsp";
if (validarCamposObg(request, response)) {
redirect = "jsp/servlet-resultado.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher(redirect);
dispatcher.forward(request, response);
}
private boolean validarCamposObg(HttpServletRequest request, HttpServletResponse response) {
boolean retorno = true;
String msgErro = null;
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String cpf = request.getParameter("cpf");
String nasc = request.getParameter("nasc");
if (nome == null) {
retorno = false;
msgErro = "Campo Nome obrigatório!";
} else if (endereco == null) {
retorno = false;
msgErro = "Campo Endereço obrigatório!";
} else if (cpf == null) {
retorno = false;
msgErro = "Campo CPF obrigatório!";
} else if (nasc == null) {
retorno = false;
msgErro = "Campo Dt. Nasc obrigatório!";
}
request.setAttribute("msgErro", msgErro);
return retorno;
}
}
servlet-exemple.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Servlet´s Result</title>
</head>
<body>
<form action="../wizard" method="post">
${msgErro != null ? msgErro : ''}
<table width="300" cellpadding="10" align="center">
<tr>
<td>Nome:</td>
<td><input type="text" name="nome"/></td>
</tr>
<tr>
<td>Endereço:</td>
<td><input type="text" name="endereco"/></td>
</tr>
<tr>
<td>CPF:</td>
<td><input type="text" name="cpf"/></td>
</tr>
<tr>
<td>Data Nasc:</td>
<td><input type="text" name="nasc"/></td>
</tr>
<tr>
<td><input type="submit" value="Enviar"/></td>
<td><input type="reset" value="Limpar"/></td>
</tr>
</table>
</form>
</body>
</html>
servlet-resultado.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Servlet´s Result</title>
</head>
<body>
<form >
<table width="300" cellpadding="10" align="center">
<tr>
<td>Nome:</td>
<td><input type="text" name="nome" disabled="disabled" value="${param.nome}"/></td>
</tr>
<tr>
<td>Endereço:</td>
<td><input type="text" name="endereco" disabled="disabled" value="${param.endereco}"/></td>
</tr>
<tr>
<td>CPF:</td>
<td><input type="text" name="cpf" disabled="disabled" value="${param.cpf}"/></td>
</tr>
<tr>
<td>Data Nasc:</td>
<td><input type="text" name="nasc" disabled="disabled" value="${param.nasc}"/></td>
</tr>
</table>
Ultima atualização em $
</form>
</body>
</html>
Janaina Mendes
Curtidas 0
Respostas
Janaina Mendes
21/08/2014
Acrescentando, executo o servlet-example.jsp sem colocar os campos, ele segue sem aparecer as mensagens de imposição de resposta.
GOSTEI 0
Janaina Mendes
21/08/2014
Por favor gente, me ajudem.
GOSTEI 0
Eduardo Pessoa
21/08/2014
Janaina, estava vendo seu codigo mas não conheço bem o assunto, bem por cima mesmo, mostrei a uma amigo e ele me disse que está aparentemente correto. estranho.
GOSTEI 0
Janaina Mendes
21/08/2014
Ja não sei o que fazer e ja tentei procurar por esse probleminha e não achei nada pela web.
GOSTEI 0
Janaina Mendes
21/08/2014
Alguem por favor, poderia identificar meu problema?
GOSTEI 0
Janaina Mendes
21/08/2014
Alguem por favor, poderia identificar meu problema?
Caso serio hein...
GOSTEI 0
Adriano Aguiar
21/08/2014
Bom dia Janaina, você tem que informar na servlet que você está passando o formulário via post, você deve adicionar método doPost, nele você validarCamposObg().
att,
Adriano de Aguiar
att,
Adriano de Aguiar
GOSTEI 0
Adriano Aguiar
21/08/2014
o nome que está na servlet e a pagina que você informou está diferente na jsp está servlet-exemple.jsp e servlet servlet-example.jsp.
GOSTEI 0
Janaina Mendes
21/08/2014
Adriano, Muitissimo obrigada por responder e tentar me ajudar!
Poderia me dizer como fazer o método doPost?
Ja tinha feito isso, ja está correto.
Poderia me dizer como fazer o método doPost?
Ja tinha feito isso, ja está correto.
o nome que está na servlet e a pagina que você informou está diferente na jsp está servlet-exemple.jsp e servlet servlet-example.jsp.
GOSTEI 0
Adriano Aguiar
21/08/2014
Boa noite Janaina, não sei consegui de ajudar mas segue exemplo abaixo:
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/wizard")
public class WizardServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
request.setAttribute("data", dateFormat.format(new Date()));
String redirect = "jsp/servlet-example.jsp";
if (validarCamposObg(request, response)) {
redirect = "jsp/servlet-resultado.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher(redirect);
dispatcher.forward(request, response);
}
private boolean validarCamposObg(HttpServletRequest request,
HttpServletResponse response) {
boolean retorno = true;
String msgErro = null;
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String cpf = request.getParameter("cpf");
String nasc = request.getParameter("nasc");
if (nome == null) {
retorno = false;
msgErro = "Campo Nome obrigatório!";
} else if (endereco == null) {
retorno = false;
msgErro = "Campo Endereço obrigatório!";
} else if (cpf == null) {
retorno = false;
msgErro = "Campo CPF obrigatório!";
} else if (nasc == null) {
retorno = false;
msgErro = "Campo Dt. Nasc obrigatório!";
}
request.setAttribute("msgErro", msgErro);
return retorno;
}
}
grato,
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/wizard")
public class WizardServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
request.setAttribute("data", dateFormat.format(new Date()));
String redirect = "jsp/servlet-example.jsp";
if (validarCamposObg(request, response)) {
redirect = "jsp/servlet-resultado.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher(redirect);
dispatcher.forward(request, response);
}
private boolean validarCamposObg(HttpServletRequest request,
HttpServletResponse response) {
boolean retorno = true;
String msgErro = null;
String nome = request.getParameter("nome");
String endereco = request.getParameter("endereco");
String cpf = request.getParameter("cpf");
String nasc = request.getParameter("nasc");
if (nome == null) {
retorno = false;
msgErro = "Campo Nome obrigatório!";
} else if (endereco == null) {
retorno = false;
msgErro = "Campo Endereço obrigatório!";
} else if (cpf == null) {
retorno = false;
msgErro = "Campo CPF obrigatório!";
} else if (nasc == null) {
retorno = false;
msgErro = "Campo Dt. Nasc obrigatório!";
}
request.setAttribute("msgErro", msgErro);
return retorno;
}
}
grato,
GOSTEI 0
Janaina Mendes
21/08/2014
Adriano, obrigada, vou analisar e testar esse codigo, depois posto se deu certo.
GOSTEI 0
Janaina Mendes
21/08/2014
Não deu certo, obrigada por tentar me ajudar.
GOSTEI 0