Servlet e jsp
Bom dia !
estou com dificuldades em achar um erro no código , no qual acompanho a aula 26 de jsp e servlets
quando eu apertasse no botão enviar com o formulário em branco era para a condição funcionar
informando que os campos são obrigatórios .
e como se não passasse dentro da condição vazio ai vai para uma pagina em branco formulario vasil
estou com dificuldades em achar um erro no código , no qual acompanho a aula 26 de jsp e servlets
quando eu apertasse no botão enviar com o formulário em branco era para a condição funcionar
informando que os campos são obrigatórios .
package br.higor.AloMundoservlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.ProcessBuilder.Redirect;
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 WizardSerlvet
*/
@WebServlet("/WizardSerlvet")
public class WizardSerlvet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
public WizardSerlvet() {
super();
// TODO Auto-generated constructor stub
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyy HH:mm");
request.setAttribute("data", dateFormat.format( new Date()));
String redirect = "jsp/serlvet-exemplo.jsp";
if(validarCamposObg(request, response)){
redirect = "jsp/serlvet-resultado.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher(redirect);
dispatcher.forward(request, response);
}
//RequestDispatcher dispatcher = request.getRequestDispatcher(redirect);
//dispatcher.forward(request, response);
private boolean validarCamposObg(HttpServletRequest resqueste , HttpServletResponse response) {
boolean retorno = true;
String msgErro = null;
String nome = resqueste.getParameter("nome");
String sobrenome = resqueste.getParameter("sobrenome");
String endereco = resqueste.getParameter("endereco");
String cpf = resqueste.getParameter("cpf");
String dataNasc = resqueste.getParameter("dataNasc");
String telefone = resqueste.getParameter("telefone");
if (nome == null){
retorno = false;
msgErro = "Campo Obrigatorio !";
}else if (sobrenome == null){
retorno = false;
msgErro = "Campo Obrigatorio !";
}else if (endereco == null){
retorno = false;
msgErro = "Campo Obrigatorio !";
}else if (cpf == null){
retorno = false ;
msgErro = "Campo Obrigatorio !";
}else if (dataNasc == null){
retorno = false;
msgErro = "Campo Obrigatorio !";
}else if (telefone == null){
retorno = false;
msgErro = "Campo Obrigatorio !";
}
resqueste.setAttribute("msgErro", msgErro);
return retorno;
}
}
e como se não passasse dentro da condição vazio ai vai para uma pagina em branco formulario vasil
Higor Monteiro
Curtidas 0
Respostas
Thiago Palmeira
08/07/2014
Tentou debugar para ver o comportamento que o sistema está tendo?
Senão tenta imprimir as variáveis para ver o que está entrando antes da condição.
Senão tenta imprimir as variáveis para ver o que está entrando antes da condição.
GOSTEI 0
Higor Monteiro
08/07/2014
infelizmente ainda tenho problemas com debugação
GOSTEI 0
Thiago Palmeira
08/07/2014
Olha esse trecho do código não seria não existe a palavra "resqueste" e sim "request".
resqueste.setAttribute("msgErro", msgErro);resquest.setAttribute("msgErro", msgErro);GOSTEI 0
Higor Monteiro
08/07/2014
muito obrigado pela ajuda mas o problema ainda persisti
acredito que o erro esteja no direccionamento quando compilo o formulário
a URL : http://localhost:8089/AloMundoServlets/jsp/serlvet-exemplo.jsp e quando
não preencho os campos obrigatórios URL http://localhost:8089/AloMundoServlets/WizardSerlvet
ai vou reencher novamente ou salvo os restante dos campos e que me aparece ERRO 404
acredito que o erro esteja no direccionamento quando compilo o formulário
a URL : http://localhost:8089/AloMundoServlets/jsp/serlvet-exemplo.jsp e quando
não preencho os campos obrigatórios URL http://localhost:8089/AloMundoServlets/WizardSerlvet
ai vou reencher novamente ou salvo os restante dos campos e que me aparece ERRO 404
GOSTEI 0
Thiago Palmeira
08/07/2014
Posta o código do teu formulário, esse erro é porque o caminho do Servlet está incorreto...
GOSTEI 0
Higor Monteiro
08/07/2014
formulario principal .
formulario de resultado
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title> RESULTADO </title>
</head>
<body>
<form action="../WizardSerlvet" >
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome" disabled="disabled" value="${param.nome}"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome" disabled="disabled" value="${param.sobrenome}"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco" disabled="disabled" value="${param.endereco}"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf" disabled="disabled" value="${param.cpf}"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc" disabled="disabled" value="${param.dataNasc}"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone" disabled="disabled" value="${param.telefone}"></td>
</tr>
Ultima atualização em $
</table>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="../WizardSerlvet" method="post" >
${msgErro != null ? msgErro : ''}
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone"></td>
</tr>
<table cellpadding="10" align="center">
<td><input type="submit" value="enviar"></td>
<td><input type="reset" value="limpar"></td>
</table>
</tr>
</table>
</form>
formulario de resultado
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title> RESULTADO </title>
</head>
<body>
<form action="../WizardSerlvet" >
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome" disabled="disabled" value="${param.nome}"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome" disabled="disabled" value="${param.sobrenome}"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco" disabled="disabled" value="${param.endereco}"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf" disabled="disabled" value="${param.cpf}"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc" disabled="disabled" value="${param.dataNasc}"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone" disabled="disabled" value="${param.telefone}"></td>
</tr>
Ultima atualização em $
</table>
</form>
</body>
</html>
GOSTEI 0
Janaina Mendes
08/07/2014
pessoal, me desculpem por me meter no onde não não sei quase nada, é pq estou acompanhando video aula sobre o servlet e não assimilei o assunto, queria algo mais claro, quando e onde devemos utilizar, obrigada.
GOSTEI 0
Thiago Palmeira
08/07/2014
formulario principal .
formulario de resultado
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title> RESULTADO </title>
</head>
<body>
<form action="../WizardSerlvet" >
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome" disabled="disabled" value="${param.nome}"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome" disabled="disabled" value="${param.sobrenome}"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco" disabled="disabled" value="${param.endereco}"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf" disabled="disabled" value="${param.cpf}"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc" disabled="disabled" value="${param.dataNasc}"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone" disabled="disabled" value="${param.telefone}"></td>
</tr>
Ultima atualização em $
</table>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="../WizardSerlvet" method="post" >
${msgErro != null ? msgErro : ''}
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone"></td>
</tr>
<table cellpadding="10" align="center">
<td><input type="submit" value="enviar"></td>
<td><input type="reset" value="limpar"></td>
</table>
</tr>
</table>
</form>
formulario de resultado
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title> RESULTADO </title>
</head>
<body>
<form action="../WizardSerlvet" >
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome" disabled="disabled" value="${param.nome}"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome" disabled="disabled" value="${param.sobrenome}"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco" disabled="disabled" value="${param.endereco}"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf" disabled="disabled" value="${param.cpf}"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc" disabled="disabled" value="${param.dataNasc}"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone" disabled="disabled" value="${param.telefone}"></td>
</tr>
Ultima atualização em $
</table>
</form>
</body>
</html>
Higor, está redirecionando para o formulário de resultado?
Caso não estiver, no teu trecho
../WizardSerlvet
Tenta fazer o seguinte teste, remova os dois pontos e barra deixando assim:
WizardSerlvet
GOSTEI 0
Higor Monteiro
08/07/2014
Boa Noite Varallo !
muito obrigado por esta me ajudando , quando faltar algum campo no preenchimento do formulário ira apresenta quais os campos faltam , ai então preencheríamos
o restante após todos preenchidos iria para pagina resultado .
muito obrigado por esta me ajudando , quando faltar algum campo no preenchimento do formulário ira apresenta quais os campos faltam , ai então preencheríamos
o restante após todos preenchidos iria para pagina resultado .
GOSTEI 0
Higor Monteiro
08/07/2014
meu codigo formulario : serlvet-exemplo.jsp
agora a pagina que deveria aparece caso passe pela condição; que obriga que os campos estejam preenchidos
formulário : serlvet-resultado.jsp
por ultimo minha serlvet
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="../WizardSerlvet" method="post" >
${msgErro != null ? msgErro : ''}
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone"></td>
</tr>
<table cellpadding="10" align="center">
<td><input type="submit" value="enviar"></td>
<td><input type="reset" value="limpar"></td>
</table>
</tr>
</table>
</form>
</body>
</html>agora a pagina que deveria aparece caso passe pela condição; que obriga que os campos estejam preenchidos
formulário : serlvet-resultado.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title> RESULTADO </title>
</head>
<body>
<form action="../WizardSerlvet" method="post" >
<table width="400" cellpadding="10" align="center">
<tr>
<td>Nome :</td>
<td><input type="text" name="nome" disabled="disabled" value="${param.nome}"></td>
</tr>
<tr>
<td>Sobrenome :</td>
<td><input type="text" name="sobrenome" disabled="disabled" value="${param.sobrenome}"></td>
</tr>
<tr>
<td>Endereço :</td>
<td><input type="text" name="endereco" disabled="disabled" value="${param.endereco}"></td>
</tr>
<tr>
<td>CPF/CNPJ:</td>
<td><input type="text" name="cpf" disabled="disabled" value="${param.cpf}"></td>
</tr>
<tr>
<td>DATA NASC : </td>
<td><input type="text" name="dataNasc" disabled="disabled" value="${param.dataNasc}"></td>
</tr>
<tr>
<td>Telefone :</td>
<td><input type="text" name="telefone" disabled="disabled" value="${param.telefone}"></td>
</tr>
Ultima atualização em $
</table>
</form>
</body>
</html>por ultimo minha serlvet
package br.higor.AloMundoservlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.ProcessBuilder.Redirect;
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 WizardSerlvet
*/
@WebServlet("/WizardSerlvet")
public class WizardSerlvet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyy HH:mm");
request.setAttribute("data", dateFormat.format( new Date()));
String redirect = "jsp/serlvet-resultado.jsp";
if(validarCamposObg(request, response)){
redirect = "jsp/serlvet-exemplo.jsp";
}
RequestDispatcher dispatcher = request.getRequestDispatcher(redirect);
dispatcher.forward(request, response);
}
private boolean validarCamposObg(HttpServletRequest resquest , HttpServletResponse response) {
boolean retorno = true;
String msgErro = "";
String nome = resquest.getParameter("nome");
String sobrenome = resquest.getParameter("sobrenome");
String endereco = resquest.getParameter("endereco");
String cpf = resquest.getParameter("cpf");
String dataNasc = resquest.getParameter("dataNasc");
String telefone = resquest.getParameter("telefone");
if (nome == null || "" .equals(nome)){
retorno = false;
msgErro +="Campo Nome Obrigatorio !<br/>";
}if (sobrenome == null || "" .equals(sobrenome)){
retorno = false;
msgErro += "Campo Sobrenome Obrigatorio !<br/>";
}if (endereco == null || "" .equals(endereco)){
retorno = false;
msgErro += "Campo endereço Obrigatorio !<br/>";
}if (cpf == null || "" .equals(cpf) ){
retorno = false ;
msgErro += "Campo CPF Obrigatorio !<br/>";
}if (dataNasc == null || "" .equals(dataNasc)){
retorno = false;
msgErro += "Campo Data Nascimento Obrigatorio !<br/>";
}if (telefone == null || "" .equals(telefone)){
retorno = false;
msgErro += "Campo Telefone Obrigatorio !<br/>";
}
resquest.setAttribute("msgErro", msgErro);
return retorno;
}
}
GOSTEI 0
Thiago Palmeira
08/07/2014
Opa, cara se não importar, pode enviar esse projeto para tentar reproduzir aqui?
GOSTEI 0
Higor Monteiro
08/07/2014
sim meu, eu ficaria muito grato me mande seu email por favor , muito obrigado por esta me ajudando .
GOSTEI 0