<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>3</session-timeout>
</session-config>
</web-app>
package br.com.caelum.tarefas.action;
import br.com.caelum.tarefas.dao.UsuarioDAO;
import br.com.caelum.tarefas.model.Usuario;
import com.opensymphony.xwork2.ActionContext;
public class LoginAction {
private Usuario usuario;
public String execute() {
if (new UsuarioDAO().existe(usuario)) {
ActionContext.getContext().getSession()
.put("usuarioLogado", usuario);
return "menu";
} else {
return "formulario-login";
}
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Usuario getUsuario() {
return usuario;
}
}
package br.com.caelum.tarefas.model;
public class Usuario {
private String login;
private String senha;
public Usuario(String login, String senha) {
this.login = login;
this.senha = senha;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
package br.com.caelum.tarefas.dao;
import java.util.ArrayList;
import java.util.List;
import br.com.caelum.tarefas.model.Usuario;
public class UsuarioDAO {
private static final List<Usuario> USUARIOS = new ArrayList<Usuario>();
static {
USUARIOS.add(new Usuario("admin", "complexo"));
USUARIOS.add(new Usuario("guilherme", "silveira"));
}
public void adiciona(Usuario usuario) {
USUARIOS.add(usuario);
}
public boolean existe(Usuario procura) {
for(Usuario usuario : USUARIOS) {
if(usuario.getLogin().equals(procura.getLogin()) &&
usuario.getSenha().equals(procura.getSenha())) {
return true;
}
}
return false;
}
}
formulario-login.jsp dentro de WebContent/WEB-INF/content
<html>
<body>
<h2>Página de Login das Tarefas</h2>
<form action="login" method="post">
Login: <input type="text" name="usuario.login" /> <br />
Senha: <input type="password" name="usuario.senha" /> <br />
<input type="submit" value="Entrar nas tarefas" />
</form>
</body>
</htm>
menu.jsp em WebContent/WEB-INF/content
<html>
<body>
<h2>Página inicial da Lista de Tarefas</h2>
<p>Bem vindo, ${usuarioLogado.login}</p>
<a href="listaTarefas">Clique aqui</a> para acessar a lista de tarefas
</body>
</html>