Vea el Código Fuente de index.jsp | Vea el Código Fuente de principal.jsp |
Código Fuente error.jsp
<%@page language="java" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html> <body> <h4> Su intento fue incorrecto <html:link page="/beanstruts/index.jsp"> Por favor intente de Nuevo </html:link> (El correo electrónico es |
- La solicitud fue enviada al directorio/archivo
logon.st
, esto implica que debe ser atendida por Struts de acuerdo a lo definido en el archivo web.xml para Struts . - Una vez atendida la solicitud por Struts (el Servlet Controlador
ActionServlet
para ser exactos) se busca el nombre de la requisición (logon
) dentro de las definiciones de mapeo, y se encuentra lo siguiente: - Analizando el ]
archivo struts-config.xml para Struts
se puede notar que el Java Bean por nombre
logonForm
equivale a la ClaseLogonForm
. - Una vez inicializado el Java Bean y dentro de la Clase
LogonAction
, se inicia una búsqueda en la Base de Datos para el usuario proporcionado en la forma HTML, en este caso no coincidió el usuario y/o contraseña por lo que se obtuvo una respuesta derechazo
(mapping.findForward("rechazo")
) , de nuevo, si se analiza el archivo struts-config.xml en la sección deglobal-forwards
es redirigida haciaerror.jsp
, que es precisamente esta página. - El link de reintento lo reenvía a la página principal, sin embargo, debido a que esta utilizando los Tags (HTML y Bean) proporcionados por Struts así como su mecanismo de Java Beans, la página principal aparecerá con los datos proporcionados inicialmente, debido al siguiente proceso :
- Al inicializarse el Java Bean LogonForm sus parámetros permanecen en la sesión del usuario, esto garantiza que al reintentar accesar la página los valores colocados con anterioridad no se pierdan, y gracias a los Tags de Struts los valores serán colocados de nuevo en los espacios correspondientes.
- El único valor que no aparecerá en la página principal al reintentar la solicitud será la contraseña (
password
), esto se debe a que se utilizó el parámetroredisplay="false"
dentro del Tag HTML de Struts.
Que Ocurrió ?
<action path="/logon" type="com.osmosislatina.struts.LogonAction" name="logonForm"> </action> |
Lo anterior indica que debe ser enviada la solicitud hacia la Clase LogonAction
y que debe ser inicializado el Java Bean que lleva por nombre logonForm
.