Olá! Antes de mais nada, preciso dizer que sou iniciante no uso da linguagem Java… Estou com uma dúvida, que para mtos pode parecer primária, mas que nesta altura me aflige bastante… vamos ao problema: estou aprendendo a usar Servlets com o protocolo Http, para isso estou desenvolvendo códigos bem curtos. A minha dúvida é como validar uma String, sendo que, antes do “usuário” fornecer seu nome e sobrenome, e unir esses parâmetros posteriormente, eu transformo as variáveis nulas em vazias. Não sei como fazer essa verificação depois… :oops:
O código é este abaixo:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class nomeSobrenome extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
writeHeader(response);
writeForm(request, response);
writeFooter(response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
writeHeader(response);
writeForm(request, response);
PrintWriter pw = response.getWriter();
pw.println("<BR>");
String nome = request.getParameter("NOME");
try
{
nome.equals("");
}
catch(Exception e)
{
pw.println("Por favor escreva o nome!");
writeFooter(response);
return;
}
String sobrenome = request.getParameter("SOBRENOME");
try
{
sobrenome.equals("");
}
catch(Exception e)
{
pw.println("Por favor escreva o sobrenome!");
writeFooter(response);
return;
}
pw.println("O nome completo é:" + (nome + sobrenome));
writeFooter(response);
}
private final void writeHeader (HttpServletResponse response)throws IOException
{
response.getWriter().println("<HTML><TITLE>NOME COMPLETO</TITLE><BODY>");
}
private final void writeFooter (HttpServletResponse response)throws IOException
{
response.getWriter().println("</BODY></HTML>");
}
private final void writeForm (HttpServletRequest request, HttpServletResponse response)throws IOException
{
String nome = new String();
nome = "";
nome = request.getParameter("NOME");
PrintWriter pw = response.getWriter();
if (nome == null)
{
nome = "";
pw.println("<INPUT TYPE=\"TEXT\" NAME=\"NOME\" VALUE =\"" + nome + "\"/>");
}
else if(nome.equals(""))
{
pw = response.getWriter();
pw.println("Campo nome vazio ou com preenchimento inválido. Por favor escreva o nome!");
}
else
{
pw = response.getWriter();
pw.println("<INPUT TYPE=\"TEXT\" NAME=\"NOME\" VALUE =\"" + nome + "\"/>");
}
String sobrenome = new String();
sobrenome = "";
sobrenome = request.getParameter("SOBRENOME");
pw = response.getWriter();
if(sobrenome == null)
{
sobrenome = "";
pw.println("<INPUT TYPE=\"TEXT\" NAME=\"NOME\" VALUE =\"" + sobrenome + "\"/>");
}
else if(sobrenome.equals(""))
{
pw = response.getWriter();
pw.println("Campo sobrenome vazio ou com preenchimento inválido. Por favor escreva o sobrenome!");
}
else
{
pw = response.getWriter();
pw.println("<INPUT TYPE=\"TEXT\" NAME=\"SOBRENOME\" VALUE =\"" + sobrenome + "\"/>");
}
pw = response.getWriter();
pw.println("<FORM ACTION=\"nomeSobrenome\" METHOD=\"POST\">");
pw.println(" + ");
pw.println("<INPUT TYPE=\"SUBMIT\" VALUE=\"UNIR\"/>");
pw.println("</FORM>");
}
}
Da maneira que está ele mostra os text box e o button UNIR, mas a validação não ocorre… e ele retorna a seguinte msg de erro:
Por favor escreva o nome!
Agradeço caso alguém tenha paciência e boa vontade para tentar me fazer entender isso…
Érica :?
