Struts 2 - ServletRequestAware y SessionAware

Prometo para una próxima entrega, la manipulación de archivos.
Pueden copiar la clase directamente al proyecto de "Struts 2 - Round 1", no debería ser complicado para nada. Perdón por el código sin tabulaciones, no encuentro la forma de mostrar código en blogger, tal vez alguno me pueda ayudar.
package prueba;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.SessionAware;
import business.User;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport implements SessionAware, ServletRequestAware{
private String usuario;
private String password;
private Map sesion;
private HttpServletRequest request;
@Override
public String execute() throws Exception {
User user = new User();
user.setName(usuario);
user.setPassword(password);
//sesion se llena automáticamente
//con el método setSession(Map m)
sesion.put("_USER", user);
//request se llena automáticamente
//con el método setServletRequest(...)
String btn = request.getParameter("btnAceptar");
//Si lo valido correctamente...
if(true){
addActionMessage("Este es un ActionMessage de SUCCESS");
addActionMessage("El botón presionado es: "+btn);
return SUCCESS;
}
return ERROR;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
//Agregado al implementar SessionAware
@Override
public void setSession(Map s) {
sesion = s;
}
//Agregado al implementar ServeltRequestAware
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
Saludos