Foros del Web » Programación para mayores de 30 ;) » Java »

Ventana de Login Con Struts

Estas en el tema de Ventana de Login Con Struts en el foro de Java en Foros del Web. Un saludo especial desde Colombia Bueno, estoy intentando aprender Struts por cuenta propia, ya he leido bastante teoría y creo que tengo claro lo básico ...
  #1 (permalink)  
Antiguo 24/06/2004, 17:26
 
Fecha de Ingreso: septiembre-2003
Mensajes: 47
Antigüedad: 20 años, 7 meses
Puntos: 0
Ventana de Login Con Struts

Un saludo especial desde Colombia

Bueno, estoy intentando aprender Struts por cuenta propia, ya he leido bastante teoría y creo que tengo claro lo básico de struts, todo lo que son los actions, javabeans, el struts_config, interfaces, los archivos de propiedades, los JSP con etiquetas propias de struts y otras cosas.

pero me he hecho un lio tratando de crear una pagina de login, pues no logro aterrizar la teoría a la práctica, estuve corriendo y mirando el ejemplo que viene con los binarios de STRUTS, pero me siento perdido, porque creo que lo complicaron mucho, eso NO puede ser tan dificil como lo escriben allí.

si alguien me puede dar una ayudita diciendome cuales son los pasos básicos para crear dicho ejercicio.

1- crear la interface ¿cuales? y ¿que métodos básicos les debo implementar?
2- crear el javabean ¿cuantos? y cuales
3- crear el action ¿como?
4- crear el jsp ¿como se lo asocio al javabean?

mejor dicho si algun mago(a) tiene un ejemplito sencillo por allí, le agradecería de corazón que me lo envíe o me colabore de alguna forma, les estaré agradecido toda la vida.

gracias por la atención prestada y no crean que soy facilista , sino que todos sabemos que empezar no es fácil.
  #2 (permalink)  
Antiguo 25/06/2004, 01:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 20 años
Puntos: 2
No te andes volviendo loco con que si tengo que crear javabeans, que si los interfaces o lo que sea.. Vamos por pasos.

El ejemplo que quieres hacer es una pagina de login ¿no?, pues empieza por lo mas facil:

Haz una pagina html(pero ponle extension .jsp) en la que crees un formulario normal con dos input de tipo text normales llamados login y pass (por ejemplo) ah y un boton de submit.
Ahora para convertirla en un formulario que trabaje con struts haz los siguientes cambios:

Al principio de la pagina añade las librerias de struts
Código HTML:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> 
vamos a cambiar la etiqueta de los inputs (te pongo el ejemplo de uno):
Antes:
<input type="text" name="login"/>
Struts:
<html:text property="login"/>

Y ahora vamos a cambiar el formulario para que se asocie a lo que va a ser el action:

Antes:
<form name="formulario" action="" method="post">
Struts:
<html:form action="login.do">

Ahora vamos a crear la clase que recoge los datos del formulario
Código:
package ejemplo;

public class LoginForm extends ActionForm{
}
Lo unico que realmente necesitas en esta clase es declarar tantas propiedades como inputs has puesto en el formulario, ojo con los nombres, tienen que ser exactamente los que pone en el property
<html:text property="login"/>

Tambien haz sus metodos get/set.

Ahora vamos a hacer la clase que se encarga de recibir este formulario y llamar a los metodos y/o clases que sean necesarios para validar al usuario.

Código:
package ejemplo;

public class LoginAction extends org.apache.struts.action.Action{
}
Para este ejemplo realmente solo necesitas un metodo:

Código:
 
public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)
                      throws java.lang.Exception{
	//el parametro form es el formulario que le llega desde la jsp
	LoginForm loginForm = (LoginForm) form;
	// a partir de aqui puedes acceder a getPass y getLogin para coger los datos
	//que te pasan en el formulario, y con ellos si quieres llamar a otra clase que
	//acceda a BD para ver si existe algun usuario con ese nombre ..
	//o como tu quieras hacer la validacion del usuario

	//como ves mi validacion es muy sofisticada ;)
	if(loginForm.getLogin().equals("sonia") && loginForm.getPass().equals("sonia")){
		//donde vamos si todo esta bien
		return mapping.findForward("bien");
	}
	else{
		//donde vamos si todo esta mal
		return mapping.findForward("mal");
	}
}
Ahora es cuando vamos a juntarlo todo en el struts config, tenemos que poner nuestras clases LoginForm y LoginAction para
que se aclaren entre ellas

<form-beans>
...
<form-bean name="loginForm" type="ejemplo.LoginForm" />
</form-beans>
<action-mappings>
...
<action name="loginForm" path="/login" scope="request" type="ejemplo.LoginAction">
<forward name="bien" path="validacionbien.jsp" redirect="false" />
<forward name="mal" path="validacionmal.jsp" redirect="false" />
</action>
</action-mappings>


Basicamente lo que estas diciendo es que a LoginAction le vas a pasar en la request un atributo con el nombre loginForm. Y ya has dicho que loginForm es de la clase LoginForm.

No te olvides de modificar el fichero de configuracion de tu servidor de aplicaciones para que incluya el fichero de configuracion de struts.

Con esto abres la pantalla de login que has creado y al hacer submit deberia automaticamente rellenarte un objeto de la clase LoginForm que le llegue a LoginAction con los datos que el usuario haya introducido por pantalla.

Buf menudo rollo que he hecho que leas, si despues de todo no me he explicado bien o no te sirve para nada siento la chapa que acabo de meter a todo el mundo, pero es que no se que me pasa hoy
  #3 (permalink)  
Antiguo 25/06/2004, 08:18
 
Fecha de Ingreso: septiembre-2003
Mensajes: 47
Antigüedad: 20 años, 7 meses
Puntos: 0
Muchas Gracias y otra duda.

Un saludo especial desde COLOMBIA

Muchas Gracias Sonia (te llamas igual que mi mamá), lo probaré y te cuento como me vá, pero la verdad es que ya lo entendí con solo leerlo de refilón...

una duda más para ti o cualquier otro GURU que caritativamente me desee ayudar, ¿Cuando debo utilizar las interfaces para los objetosForm?, porque en el ejemplo que me diste no veo ninguna interfaz y obviamente tampoco ninguna implementación de ella.

muchisimas gracias por tu respuesta, creo que me servirá de mucho y me abrirá muchas puertas (dudas) para seguir avanzando en este framework tan usado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 02:21.