Categorías
Struts 2

Serie de tutoriales de Struts 2: Aplicación de muestra – Módulo de inicio de sesión

Bienvenido a la serie de tutoriales de Struts 2, donde exploraremos cómo crear una aplicación web utilizando Struts 2.

En este tutorial, primero crearemos un módulo de inicio de sesión muy simple, luego agregaremos características de Hibernate y Tiles, Ajax, Interceptor, Validator, etc. Finalmente, será una aplicación web Struts 2 completamente funcional – «Quick Memo».

Antes de comenzar, es posible que desee ver un video de 10 minutos para tener una idea básica de cómo usar Struts 2.

1. Objetivo de esta aplicación de muestra

Objetivo: módulo de inicio de sesión.

Finalmente, se ve así.

Cuando inicie sesión correctamente, muestra:

Cuando el inicio de sesión falla, muestra:

2. Herramientas y bibliotecas necesarias

Antes de comenzar con nuestro ejemplo, necesitamos varias herramientas y bibliotecas. Lo siguiente es lo que estoy usando. Por supuesto, puede utilizar una versión superior. 1) JDK 1.5 o superior. 2) Tomcat 6.0 3) Eclipse IDE para desarrolladores de Java EE. 4) Puntales 2.0.14. Archivos JAR necesarios para esta aplicación.

  • commons-logging-1.0.4.jar
  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.0.12.jar
  • xwork-2.0.6.jar

3. Primeros pasos

Cree un proyecto web dinámico.

# note que el directorio de mi proyecto es: C: eclipseworkspace Struts2Login
Copie los archivos JAR necesarios en WebContent-> WEB-INF-> carpeta lib en el directorio del proyecto. Ahora, su proyecto debería gustarle esto.

4. Configurar archivo web.xml

Establezca Struts2 como filtro en el archivo web.xml. Si no entiende por qué configurarlo como filtro, consulte aquí.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>Struts2 Login</display-name>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
 
	</filter-mapping>
	<welcome-file-list>
		<welcome-file>Login.jsp</welcome-file>
	</welcome-file-list>
</web-app>
  El índice de tutoriales de Best Struts 2

5. Crear clase de acción de inicio de sesión

Tenga en cuenta que la clase de acción anterior contiene dos campos, nombre de usuario y contraseña. Mantendrán los valores pasados ​​desde el formulario y también contienen un método authenticate () que autenticará a los usuarios. Normalmente, esto se puede configurar con LDAP o Base de datos. Pero aquí para una demostración simple, simplemente verificamos si el nombre de usuario es «admin» y la contraseña es «admin». El método authenticate () devuelve una cadena que determina la página de resultados.

LoginAction.java

package com.programcreek.struts2;
 
import com.opensymphony.xwork2.ActionSupport;
 
public class LoginAction extends ActionSupport{
	private String username;
	private String password;
 
	public String authenticate() {
 
		if (this.username.equals("admin")
				&& this.password.equals("admin")) {
			return "success";
		} else {
			addActionError(getText("error.login"));
                        //a function from ActionSupport, to get properties values from properties file
                        //we will explore this below.
			return "error";
		}
	}
 
	public String getUsername() {
		return username;
	}
 
	public void setUsername(String username) {
		this.username = username;
	}
 
	public String getPassword() {
		return password;
	}
 
	public void setPassword(String password) {
		this.password = password;
	}
}
  Serie de tutoriales Struts 2: Ilustración para interceptores Struts 2

6. Crear paquete de recursos

ResourceBundle es una entidad Java muy útil que ayuda a separar los contenidos estáticos del código fuente. Puede contener algunos mensajes estáticos, como nombres de elementos de formulario. Definimos un archivo ApplicationResources.properties para nuestra aplicación. Este archivo debe estar presente en la carpeta WEB-INF / classes.

Ahora creamos una carpeta de origen llamada recursos como este.

ApplicationResources.properties

label.username= Username
label.password= Password
label.login= Login
error.login= Invalid Username/Password. Please try again.

7. Páginas JSP

Los archivos JSP deben colocarse bajo el Contenido web directorio.

Login.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2 - Login Application</title>
</head>
<body>
<h2>Struts 2 - Login Application</h2>
<s:actionerror />
<s:form action="login.action" method="post">
	<s:textfield name="username" key="label.username" size="20" />
	<s:password name="password" key="label.password" size="20" />
	<s:submit method="execute" key="label.login" align="center" />
</s:form>
</body>
</html>

Struts 2 – Aplicación de inicio de sesión

Welcome.jsp

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
 
<head>
<title>Welcome Page - Struts 2 - Login Application</title>
</head>
 
<body>
	<h2>Congratulations, <s:property value="username" />!</h2>
	Welcome to Struts 2 world.
</body>
</html>

¡Felicitaciones, !

Bienvenido al mundo de Struts 2.

8. archivo struts.xml

Cree el archivo struts.xml en el directorio de recursos como el archivo ApplicationResources.properties.

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
	<constant name="struts.enable.DynamicMethodInvocation"
		value="false" />
	<constant name="struts.devMode" value="false" />
 
	<constant name="struts.custom.i18n.resources"
		value="ApplicationResources" />
 
	<package name="default" extends="struts-default" namespace="/">
 
		<action name="login" method="authenticate"
			class="com.programcreek.struts2.LoginAction">
			<result name="success">Welcome.jsp</result>
			<result name="error">Login.jsp</result>
 
		</action>
	</package>
</struts>
  Serie de tutoriales de Struts 2: Algunas notas sobre las acciones de Struts 2

9. Hecho

Ejecute el proyecto ahora.

Próximo paso
Una vez que un usuario está autenticado, se mostrará el contenido del sitio web. Normalmente, el contenido proviene de la base de datos, por lo que el siguiente paso es crear una aplicación de base de datos simple con Hibernate.

-> Volver al índice.

Referencias:
Freemarker

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *