Remover Cookie em JSP

Olá amigos da lista.

eu criei dois cookies com o seguinte codigo.

[code]<%
String user = request.getParameter("user");
String pass = request.getParameter("pass");
String cooUser = "cUser";
String cooPass = "cPass";
Cookie cUser = new Cookie(cooUser, user);
Cookie cPass = new Cookie(cooPass, pass);

 cUser.setVersion&#40;0&#41;;
 cUser.setSecure&#40;false&#41;;
 cUser.setComment&#40;&quot;User Empresa&quot;&#41;;

 cPass.setVersion&#40;0&#41;;
 cPass.setSecure&#40;false&#41;;
 cPass.setComment&#40;&quot;Pass Empresa&quot;&#41;;

 response.addCookie&#40;cUser&#41;;
 response.addCookie&#40;cPass&#41;;

%>[/code]
só que infelizmente nao consegui um código que removesse esses cookies ou os invalidasse… agrdeceria se alguem me passasse algum codigo p/ deletar esse cookie ou a sessão inteira :sad:

atenciosamente…

[color=“green”][size=“11”]utilize a tag CODE em seus códigos, isso os deixa identados da maneira que vc codificou - matheus[/size][/color]

bem-vindo ao Portal Java javatux, tu pode usar o método setMaxAge( int t ) do seu cookie, que recebe um inteiro representando o tempo q o cookie fica ativo, e enviando-o de volta para o cliente, por ex:

[code]cUser.setMaxAge( 1 );
cPass.setMaxAge( 1 );

response.addCookie( cUser );
response.addCookie( cPass ); [/code]

caro amigo matheus,

obrigado pela boas vindas…

a minha necessidade é de efetuar um logoof no meu sistema.
por isso a necessidade de excluir o cookie. consigo setar um novo valor p/ ele, mas gostaria de saber se existe uma forma de apagar o cookie literalmente.

atenciosamente,
javatux

pois então, sete o max age do cookie para 1 milessegundo, e ele será [color=“red”]excluido[/color] do sistema cliente em 1 milessegundo depois da requisição! :grin:

caro matheus,

muito obrigado pela ajuda. deu certo.
abaixo colokei o codigo que usei para deletar os cookies

[code]
<%

Cookie[] cookies = request.getCookies();

for ( int i = 0; i < cookies.length; i++ )
{
String name = cookies[i].getName();
if ( name != null && name.equalsIgnoreCase("cUser") )
{
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}

    if &#40; name != null &amp;&amp; name.equalsIgnoreCase&#40;&quot;cPass&quot;&#41; &#41;
    &#123;
            cookies&#91;i&#93;.setMaxAge&#40;0&#41;;
            response.addCookie&#40;cookies&#91;i&#93;&#41;;
    &#125;

}

%>[/code]
uma observação:

para este codigo dar certo, eu tive que nao colocar o path dos cookies,
pois colokando path, nao deu certo comigo,
obrigado…

atenciosamente,

javatux

Olá apesar do comando setMaxAge, determinar o tempo em que o cookie expira eu gostaria de saber se há um jeito de eliminar o cookie de fato pois eu utilizei o cookie.setMaxAge(0), e o cookie não está sumindo do browser após utilizá-lo;

Segue o trecho de codigo q eu estou modificando:

[code]

public void recuperaCookieAssinatura(){
try{

        FacesContext facesContext = FacesContext.getCurrentInstance();  
        HttpServletRequest request = (HttpServletRequest)facesContext.getExternalContext().getRequest();
        
        HttpServletResponse response = ((HttpServletResponse) context.getExternalContext().getResponse());

        //obtem a lista de cookies
        Cookie[] cookies = request.getCookies();
        
        if(logado){
        	
        	for(Cookie cookie : cookies){
                if(cookie.getName().equals("numero")){
                   numPed = cookie.getValue();
                   cookie.setMaxAge(0);
                   response.addCookie(cookie);
                   break;
                }
            }
        }else{
        	for(Cookie cookie : cookies){
                if(cookie.getName().equals("numero")){
                   numPed = cookie.getValue();
                   cookie.setMaxAge(0);
                   response.addCookie(cookie);
                   break;
                }
            }
        }
    }catch(Exception x){
        x.printStackTrace();
    }
	
}

[code]
alguem poderia ajudar??? Desde já agradeço!!!

Bom Dia!
Gostaria de aproveitar o ensejo e perguntar como faço para o meu sistema JSP/jQuery/JSTL/vRaptor/TomCat não trabalhar com histórico. Para que ele sempre use os códigos do servidor atualizado. Nem sempre é possível pedir aos +/- 300 usuários que apertem CTRL+F5 (ou algo do tipo).
Obrigado pessoal