Problemas com cookies

2 respostas
G

Olá. Sou iniciante em Java para web e estou tendo problemas para adicionar cookies, aparentemente ele não está sendo adicionado no cliente. Tenho o seguinte servlet que armazena um cookie com o "nome" do cliente e com value uma "cor" escolhida por ele.

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletIndex extends HttpServlet
{

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
	{
		String firstName = request.getParameter("firstname");
		String[] cor = request.getParameterValues("cor");
		
		Cookie cookieCor = new Cookie( firstName, cor[0] );
		cookieCor.setMaxAge(120);
		cookieCor.setSecure(false);
		cookieCor.setComment("Minha Cor de pagina");
		response.addCookie( cookieCor );

		
		response.setContentType( "text/html" );
		PrintWriter writer = response.getWriter();  
		
		writer.println( "<!DOCTYPE html PUBLIC>");
		writer.println( "<html>" );
	  
			writer.println( "<head>" );
				writer.println( "<title>Meu Servlet Lindo</title>" );
			writer.println( "</head>" );
		  
			writer.printf( "<body style=\"background-color: "+ cor[0] + "\">" );
				writer.println( "<h1>Ola " + firstName + ",<br />" );
			writer.println( "</body>" );
	  
		writer.println( "</html>" );
		writer.close();
	}
}

Agora tenho esse outro servlet que recupera o nome do cliente e define a cor de fundo da pagina

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class ServletVisu extends HttpServlet
{

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
	{
		Cookie[] cookies = request.getCookies();
		String firstName = request.getParameter("firstname");
		
		String cor = "white";

		if( cookies != null)
		{
			for( Cookie cores : cookies )
			{
				if( cores.getName().equals( firstName ) )
					cor = cores.getValue();
				break;
			}
		}

		response.setContentType( "text/html" );
		PrintWriter writer = response.getWriter();  
		
		writer.println( "<!DOCTYPE html PUBLIC>");
		writer.println( "<html>" );
	  
			writer.println( "<head>" );
				writer.println( "<title>Meu Servlet Lindo</title>" );
			writer.println( "</head>" );
		  
			writer.printf( "<body style=\"background-color: "+ cor + "\">" );
				writer.println( "<h1>Ola " + firstName + ",<br />" );
			writer.println( "</body>" );
	  
		writer.println( "</html>" );
		writer.close();
	}
}

Já verifiquei se meu browser está aceitando cookies, e está normalmente

Se alguem puder dar uma ajuda

2 Respostas

Polverini

sen não me angano ta faltando o

response.addCookie(cookie);
G

Então, está na linha 17. Não é esse o problema :cry:

Criado 25 de fevereiro de 2011
Ultima resposta 25 de fev. de 2011
Respostas 2
Participantes 2