Fórum Servlet e jsp #484866
08/07/2014
0
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
Curtir tópico
+ 0Posts
25/07/2014
Thiago Palmeira
Senão tenta imprimir as variáveis para ver o que está entrando antes da condição.
Gostei + 0
05/08/2014
Higor Monteiro
Gostei + 0
06/08/2014
Thiago Palmeira
resqueste.setAttribute("msgErro", msgErro);resquest.setAttribute("msgErro", msgErro);Gostei + 0
07/08/2014
Higor Monteiro
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
08/08/2014
Thiago Palmeira
Gostei + 0
08/08/2014
Higor Monteiro
<%@ 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
08/08/2014
Janaina Mendes
Gostei + 0
09/08/2014
Thiago Palmeira
<%@ 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
10/08/2014
Higor Monteiro
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
14/08/2014
Higor Monteiro
<%@ 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
14/08/2014
Thiago Palmeira
Gostei + 0
14/08/2014
Higor Monteiro
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)