1.5 – Ejemplo de Struts2, el hola mundo

1.1.- Requisitos
1.2.- Crear el proyecto en NetBeans
1.3.- Configurar el proyecto para usar Struts 2
1.4.- La vista de nuestro proyecto
1.5.- La capa de negocios
1.6.- Ejecutar el proyecto

La Capa de Negocios

Como habrás podido ver aún nos falta definir una parte importante en el proyecto y es la clase que se encargará de atender la petición del formulario de entrada. Para eso usaremos la siguiente clase:

package ejemplos.struts2.action;
import ejemplos.struts2.beans.Usuario;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.interceptor.SessionAware;

public class AccionEntrar extends ActionSupport implements SessionAware{
   private Map session;
   private String mensajeError;
   private String usr;
   private String pas;

   public String execute() throws Exception {
      
       if (getUsr() != null && getPas() != null){    //Verificamos que los datos no sean nulos

           Usuario usuario = null;
           // Aqui haremos como que buscamos a nuestro usuario en la base de datos.
           // Si el login y password coinciden normalmente devolveriamos una instancia
           // de usuario con los datos de la cuenta
           // Esto normalmente no se haria en esta capa de codigo!
               if(getUsr().equals("user") && getPas().equals("123")){
                   usuario = new Usuario();
                   usuario.setId(1l);
                   usuario.setNombre("Invitado");
                   usuario.setLogin("user");
                   usuario.setPassword("123");
               }
           //Fin de busqueda

           if(usuario != null){    //Si el usuario se encuentra se agrega a la sesion
               session.put("usuario",usuario);
           }else{                    //Si no se encuentra se devuelve un error
               addActionError("No existe esta cuenta");
               setMensajeError("No existe esta cuenta");
               return ERROR;
           }
       } else {
           addActionError("Inserte datos correctos");
           setMensajeError("Inserte datos correctos");
           return ERROR;
       }
       return SUCCESS;
   }


   public Map getSession() {
       return session;
   }
   public void setSession(Map session) {
       this.session = session;
   }
   public String getUsr() {
       return usr;
   }
   public void setUsr(String usr) {
       this.usr = usr;
   }
   public String getPas() {
       return pas;
   }
   public void setPas(String pas) {
       this.pas = pas;
   }
   public void setMensajeError(String mensajeError) {
       this.mensajeError = mensajeError;
   }
}

descargar: AccionEntrar.java

Hay muchas cosas que aprender de la clase AccionEntrar, sin embargo por el momento solo comentaremos que, entre otras cosas, se encarga de manejar los parametros de entrada del formulario y si son validos los datos, de redirigir al usuario a una página de bienvenida o si no de regresarlo nuevamente al formulario de entrada.

Necesitamos una clase mas, que nos permitirá guardar y controlar la sesión en nuestro proyecto. Aunque en este ejemplo no tiene mayor efecto.

package ejemplos.struts2.beans;
public class Usuario {
   private Long id;
   private String nombre;
   private String login;
   private String password;

   public Long getId() {
       return id;
   }
   public void setId(Long id) {
       this.id = id;
   }
   public String getNombre() {
       return nombre;
   }
   public void setNombre(String nombre) {
       this.nombre = nombre;
   }
   public String getLogin() {
       return login;
   }
   public void setLogin(String login) {
       this.login = login;
   }
   public String getPassword() {
       return password;
   }
   public void setPassword(String password) {
       this.password = password;
   }
}

descargar: Usuario.java

La clase Usuario solo tiene sentido si consideras en un futuro el uso de sesiones para restringir el acceso a páginas privadas y que requieran autenticación. Por el momento no tiene mayor efecto.

No olvides depositar a cada clase en su paquete correspondiente.

1.1.- Requisitos
1.2.- Crear el proyecto en NetBeans
1.3.- Configurar el proyecto para usar Struts 2
1.4.- La vista de nuestro proyecto
1.5.- La capa de negocios
1.6.- Ejecutar el proyecto

2 comentarios en «1.5 – Ejemplo de Struts2, el hola mundo»

  1. Gracias por el código , me fue muy útil. Solamente encontré un error : en el jsp AccionEntrar,
    en esta línea
    if (getUsr() != null && getPas() != null)

    los strings deberian compararse con equals para su correcto funcionamiento:

    if (!getUsr().equals("") && !getPas().equals("")){

    solamente eso :D!

    Responder

Deja un comentario

− three = four