Estou fazendo o seguinte exercício da apostila fj 21: Faça o logout da aplicação. Crie um link no menu.jsp que invocará uma Action que removerá o usuário da sessão e redirecione a navegação para a página de login.
Quero saber se a forma que estou fazendo o logout está correta. Se não estiver correta, me expliquem como proceder.
Obrigado!
Obs.: Abaixo segue os arquivos para vcs poderem entender o esquema.
login.jsp
[code]
Página de Login das Tarefas
Login:
Senha:
[/code]
menu.jsp
[code]
Página inicial da Lista de Tarefas
Bem vindo, ${usuarioLogado.login}
Clique aqui para acessar a lista de tarefas
<br/><br/><a href="logout">Logout</a>
</body>
[/code]
LoginAction.java
[code]package br.com.caelum.tarefas.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionContext;
import dao.UsuarioDAO;
import br.com.caelum.tarefas.modelo.Usuario;
public class LoginAction {
private Usuario usuario;
@Action(value = "login", results = {
@Result(name = "ok", location = "/menu.jsp"),
@Result(name = "invalido", location = "/login.jsp") })
public String login() {
if (new UsuarioDAO().existeUsuario(usuario)) {
ActionContext.getContext().getSession()
.put("usuarioLogado", usuario);
return "ok";
}
return "invalido";
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}[/code]
LogoutAction.java
package br.com.caelum.tarefas.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import br.com.caelum.tarefas.modelo.Usuario;
import com.opensymphony.xwork2.ActionContext;
public class LogoutAction {
private Usuario usuario;
@Action(value = "logout", results = {
@Result(name = "ok", location = "/login.jsp") })
public String logout() {
ActionContext.getContext().getSession().remove("usuarioLogado");
return "ok";
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}