Cookie para gravar login de usuario

Fala pessoal,

Sou novo no forum e estou estudando Java há alguns meses.
Sou iniciante no assunto e estou com uma dúvida relacionada a cookies.

Eu implementei dois casos de uso (Efetuar Login e Manter Usuario, onde Manter Usuario se estende aos casos de uso Adicionar, excluir, localizar e alterar). Enfim... Minha missão agora é a de criar um cookie para salvar o login do usuario no campo de login, para que este apareca automaticamente sempre quando a página for acessada. Lembrando que este exemplo é apenas didático, ok? Não quero saber se isso é certo ou errado, seguro ou inseguro, enfim. Quero apenas aprender com a experiencia de vocês!

Bem pessoal, criei 2 métodos dentro do meu servlet.

public void enviaCookieUsuario(String login, HttpServletResponse response){ if(login != null && login.length()>0 ){ Cookie cookieLogin = new Cookie("Login: ", login); cookieLogin.setMaxAge(60*60*24*360); response.addCookie(cookieLogin); } }

public void recuperaCookieUsuario(HttpServletRequest request){ Cookie[] cookies = request.getCookies(); for(int i=0; i<=cookies.length; i++){ if(cookies[i].getName().equals("login")){ login = cookies[i].getValue(); } } }

Minha dúvida é a seguinte: Onde devo chamar esses metodos dentro da minha aplicacao? Devo chamar os dois métodos na página de login? Me parece que o metodo que recupera o Login deve ser chamando na pagina de login, para que este apareca no campo. Mas e o metodo de enviar? Coloco ele aonde?

Ou coloco o metodo recuperaLogin no JSP e o enviaLogin no Servlet do action do form?

Abraços!

Consegui pessoal!

Para recuperar usei EL… Foi muito simples!
Se alguem precisar, é só perguntar!
Abraço!

Então posta aeh pra gente?

Rapaz, é o seguinte…

Eu tenho uma página JSP com um formulario para login, com dois campos (Usuario/Senha) e o botão Logar.
No action desse form, coloquei o Servlet “LoginServlet” utilizando o method=“post”.

No LoginServlet, criei o seguinte método…

public void enviaCookieUsuario(String senha, String login, HttpServletResponse response){ if(login != null && login.length()>0 ){ Cookie cookieLogin = new Cookie("login", login); Cookie cookieSenha = new Cookie("senha", senha); cookieLogin.setMaxAge(60*60*24*360); cookieSenha.setMaxAge(60*60*24*360); response.addCookie(cookieLogin); response.addCookie(cookieSenha); } }

No método doPost() do mesmo servlet, coloquei a chamada a este método…

enviaCookieUsuario(senha, login, response);

e no campo login e senha do JSP, coloquei a propriedade

value="${cookie.senha.value}" 

e

value="${cookie.loginvalue}"

Desta forma, quando abro o form de login e senha, ambos os campos já aparecem preenchidos com os ultimos dados informados pelo usuario.

Sds,

Vinicius