Servlet não retorna mensagem de erro

Java

21/08/2014

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


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

Janaina Mendes

Curtidas 0

Respostas

Janaina Mendes

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

Janaina Mendes

21/08/2014

Por favor gente, me ajudem.
GOSTEI 0
Eduardo Pessoa

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

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

Janaina Mendes

21/08/2014

Alguem por favor, poderia identificar meu problema?
GOSTEI 0
Janaina Mendes

Janaina Mendes

21/08/2014

Alguem por favor, poderia identificar meu problema?


Caso serio hein...
GOSTEI 0
Adriano Aguiar

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
GOSTEI 0
Adriano Aguiar

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

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.
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

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,
GOSTEI 0
Janaina Mendes

Janaina Mendes

21/08/2014

Adriano, obrigada, vou analisar e testar esse codigo, depois posto se deu certo.
GOSTEI 0
Janaina Mendes

Janaina Mendes

21/08/2014

Não deu certo, obrigada por tentar me ajudar.
GOSTEI 0
POSTAR