Bom dia,
Estou tentando testa um servlet com a leitura de Cookies. Enquanto houver Cookies em meu navegador (Google Chrome) não há problemas, no entanto quando removo os cookies para testar o sistema sob novas condições ocorre a NullPointerException. Já tentei alterar o código diversas vezes e ainda não consegui… Alguém pode me ajudar? Abaixo segue o código.
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Form extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException, NullPointerException{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head><title>Formulários: Combinação</title></head>");
out.println("<body>");
out.println("<h3>Trata Formulário e Cookie</h3>");
Cookie[] cookies = req.getCookies();
String nome = req.getParameter("nome");
String idade = req.getParameter("idade");
if(nome == null || idade == ""){
out.println("Preencha ambos os Campos!");
}else{
Cookie cookie = new Cookie(nome, idade);
res.addCookie(cookie);
requestCookies(cookies, out);
out.println("Nome: " + nome + "<br>");
out.println("Idade: "+ idade + "<br>");
}
out.println("<p>");
out.println("<form action=\'Form\' method=POST>");
out.println("Nome: <input type='text' size=20 name=nome><br>");
out.println("Idade <input type='text' size=5 name=idade><br>");
out.println("<input type='submit'>");
out.println("</form>");
out.println("</body></html>");
}
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException{
doGet(req, res);
}
private void requestCookies(Cookie[] cookies, PrintWriter out){
if(cookies.length >= 0){
for(int i = 0; i < cookies.length; i++){
Cookie cookie = cookies[i];
out.println("Cookie Nome: " + cookie.getName() + "<br>");
out.println("Cookie Valor: " + cookie.getValue() + "<br>");
}
}
}
}
Agradeço desde ja