You are on page 1of 10

Listado Como ya hemos indicado, las clases de negocio y JavaBeans son los mismos que los desarrollados en la práctica

3.1, por lo que remitimos a dicha práctica para consultar los listados de código de estas clases. Los siguientes listados corresponden a las tres clases Action de la aplicación:

apache. import modelo.Validar. GestionClientes gc= new GestionClientes(driver.interceptor. private String username. . private ArrayList<Integer> telefonos.username = username. } public String getUsername() { return username. } } public String getPassword() { return password.getInitParameter("driver"). return "ok". } public void setPassword(String password) { this. String cadenaCon=context.telefonos = telefonos.http.ArrayList.validar(username.*. } public void setUsername(String username) { this.util.cadenaCon). ServletContext context. } else{ return "error".GestionClientes. import org.java package actions. public class Validar implements ServletContextAware{ private String password="hola".servlet.GestionTelefonos . telefonos=gt. import modelo.password)){ GestionTelefonos gt= new GestionTelefonos(driver.*.util.apache. public String execute() throws Exception { String driver=context.*.servlet. if(gc. } public void setTelefonos(ArrayList<Integer> telefonos) { this.struts2. import javax.cadenaCon).password = password. } public ArrayList<Integer> getTelefonos() { return telefonos.getTelefonos(password).*. import org.getInitParameter("cadenaCon"). import javax. import java.struts2.

GestionClientes. } public void setApellidos(String apellidos) { this. ServletContext context. } //validación de cadena requerida y longitud //mínima para el password @RequiredStringValidator(message="debe introducir un password") @StringLengthFieldValidator(minLength="6". private String password.java package actions.*. private String apellidos.ActionSupport. } } Registrar. email).getInitParameter("driver").validator.registrar(nombre. GestionClientes gc= new GestionClientes(driver. import com. password.opensymphony. apellidos. import javax.cadenaCon).struts2. } .xwork2.annotations. import modelo.} public void setServletContext(ServletContext context){ this.context=context.*. public String execute() throws Exception { String driver=context. return "registrado".apellidos = apellidos.password = password. import org.getInitParameter("cadenaCon"). usuario. } public String getApellidos() { return apellidos. import com. private String usuario. message="el password debe tener al menos 6 caracteres") public String getPassword() { return password.apache.xwork2. String cadenaCon=context. private String email. gc.util.servlet. @Validation public class Registrar extends ActionSupport implements ServletContextAware{ private String nombre. } public void setPassword(String password) { this.opensymphony.*.

//validación de cadena requerida y valor //válido para el email @RequiredStringValidator(message="debe introducir un email") @EmailValidator(message="dirección de email no válida") public String getEmail() { return email. } public void setUsuario(String usuario) { this.nombre = nombre. } //validación de cadena requerida para //el usuario @RequiredStringValidator(message="debe introducir un usuario") public String getUsuario() { return usuario. } public void setNombre(String nombre) { this.email = email.context=context.usuario = usuario. } public void setEmail(String email) { this. } } . } public void setServletContext(ServletContext context){ this. } public String getNombre() { return nombre.

String cadenaCon=context. } public void setServletContext(ServletContext sc) { this.LlamadaBean.getTodasLlamadasTelefono(telefono).ServletContextAware.struts2.context=sc. import modelo.Listar. llamadas=gl. } public int getTelefono() { return telefono. return "llamadas". } public void setTelefono(int telefono) { this.telefono = telefono.util. private ArrayList<LlamadaBean> llamadas. } public void setLlamadas(ArrayList<LlamadaBean> llamadas) { this.java package actions.GestionLlamadas. public ArrayList<LlamadaBean> getLlamadas() { return llamadas. import java.cadenaCon).util.getInitParameter("cadenaCon").ServletContext.getInitParameter("driver"). } public String execute() throws Exception { String driver=context.apache.llamadas = llamadas. public class Listar implements ServletContextAware{ private int telefono. import javax. import javabeans. import org.ArrayList.servlet. ServletContext context. } } . GestionLlamadas gl= new GestionLlamadas(driver.

charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Hello World!</h1><br/><br/><br/><br/> <center> <h1>Formulario de Autenticación</h1> <s:form action="login. He aquí los listados de las mismas: login.Las vistas se han desarrollado utilizando los tags de Struts 2 comentados a lo largo del Capítulo.01 Transitional//EN" "http://www.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html.action">Registrese</a> </body> </html> .jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.action" method="post" > <s:textfield name="username" label="usuario"/> <s:password name="password" label="password" showPassword="false" /> <s:submit value="Entrar"/> </s:form> </center> <br/> <br/> <a href="Name.w3.

01 Transitional//EN" "http://www.dtd"> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD "http://www.org/TR/html4/loose.01 Transitional//EN" .w3.action" method="post"> <s:textfield name="nombre" label="nombre"/> <s:textfield name="apellidos" label="apellidos"/> <s:textfield name="usuario" label="usuario"/> <s:password name="password" label="password" /> <s:textfield name="email" label="email"/> <s:submit value="Entrar"/> </s:form> <br/> <s:actionerror /> </body> </html> opciones.jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.registro.w3. charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Formulario de registro</h1> <s:form action="registrar.dtd"> <html> <head> <title>Bienvenida</title> </head> <body> <center> <h1>Listado de teléfonos</h1> <s:form action="listado"> <s:select name="telefono" list="telefonos" HTML 4.org/TR/html4/loose.

headerValue="-seleccione un telefono-" headerKey="0"/> <s:submit value="Ver llamadas"/> </s:form> </center> </body> </html> listado. charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Llamadas realizadas</h1> <table border="1"> <tr> <th>Destino</th> <th>Duración</th> <th>Fecha</th> </tr> <s:iterator value="llamadas"> <tr> <td><s:property value="destino"/></td> <td><s:property value="duracion"/></td> <td><s:property value="fecha"/></td> </tr> </s:iterator> </table> </body> </html> .w3.org/TR/html4/loose.jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional//EN" "http://www.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html.

jsp</result> <result name="input">/registro.dtd"> <struts> <constant name="struts.sun.0//EN" "http://struts.sun.jsp</result> </action> <action name="registrar" class="actions.devMode" value="false" /> <package name="validacion" namespace="/" extends="struts-default"> <action name="login" class="actions.apache.enable.En cuanto a los archivos de configuración.com/xml/ns/javaee" xmlns:xsi="http://www. struts.0. quedarán como se indica en los siguientes listados.jsp</result> </action> <action name="Name" > <result>/registro.0" encoding="UTF-8"?> <web-app version="2.org/dtds/struts-2.Driver</param-value> </context-param> <context-param> <param-name>cadenaCon</param-name> <param-value> .w3.Validar"> <result name="ok">/opciones.xsd"> <context-param> <param-name>driver</param-name> <param-value>com.jsp</result> <result name="error">/login.jdbc.Listar"> <result name="llamadas">/listado.DynamicMethodInvocation" value="false" /> <constant name="struts.com/xml/ns/javaee http://java.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.jsp</result> </action> </package> </struts> web.mysql.Registrar"> <result name="registrado">/login.jsp</result> </action> <action name="listado" class="actions.xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5" xmlns="http://java.com/xml/ns/javaee/web-app_2_5.xml <?xml version="1.

jsp</welcome-file> </welcome-file-list> </web-app> .jdbc:mysql://localhost:3306/telefonia </param-value> </context-param> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>login.dispatcher.