| Implementar el patrón MVC | |
| Inicio | Cursos infosintesis.net liberados | Java EE | Registrar a un usuario en un sitio Web (MVC) | |
| Registrar a un usuario en un sitio Web (MVC) | |
| Paso 6: Operativa |
Controlador/Modelo - Rellenar las propiedades de un JavaBean con introspección
Ahora que ya tenemos el esqueleto de la utilidad TraspasoPropiedades, vamos a invocarla desde nuestro controlador FormularioFachadaControladorServlet de la siguiente forma
package paqservlets; import javax.servlet.http.HttpServlet; import java.io.IOException; import paqbeans.ValidadorDatosBean; public class FormularioFachadaControladorServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) RequestDispatcher requestDispatcher = null; protected void doGet(HttpServletRequest request, HttpServletResponse response) protected void doPost(HttpServletRequest request, HttpServletResponse response) public String getServletInfo() { |
Debido que el método traspasarPropiedad(...) lanza una excepción de tipo TraspasoPropiedadesException, la vamos a capturar haciendo clic con el ratón sobre la bombilla que está al margen del código y seleccionamos Surround Statement with try-cath

Este es el código generado por el asistente de NetBeans
package paqservlets; import javax.servlet.http.HttpServlet; import java.io.IOException; import paqbeans.ValidadorDatosBean; public class FormularioFachadaControladorServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) RequestDispatcher requestDispatcher = null; protected void doGet(HttpServletRequest request, HttpServletResponse response) protected void doPost(HttpServletRequest request, HttpServletResponse response) public String getServletInfo() { |
Antes de seguir adelante podemos ejecutar la aplicación y ver que la página Web se muestra correctamente

Haciendo uso de la introspección en el método traspasarPropiedadIntrospeccion(....), vamos a rellenar las propiedades del JavaBean ValidadorDatosBean con los datos que han llegado al servidor a través de un mensaje HTTP.
Nota: Para repasar los fundamentos de la introspección podemos seguir el siguiente vínvulo Examinar objetos con una venda en los ojos t para ver un ejemplo de invocación de métodos a través de la introspección podemos seguir este otro vínculo Invocación de los métodos de un Objeto de tipo Class.
package paqutilidades; public class TraspasoPropiedades { private static void traspasarPropiedadIntrospeccion(Object javaBean, Map<String, Method> mapaMethod = new HashMap<String, Method>(); Enumeration<String> enumeration = request.getParameterNames(); String[] matrizValorPropiedad = request.getParameterValues(strNombrePropiedad); // nombrePropiedad: apellido // strMetodoAccesoPropiedad: setApellido System.out.println("INTROSPECCION - strMetodoAccesoPropiedad --> paramTypes[0].getName(): " + if ((method.getReturnType() == void.class) && (paramTypes.length == 1)) { public static void traspasarPropiedad(Object javaBean, HttpServletRequest request) |
Si introducimos nuestro nombre en el campo de texto nombre y seguidamente hacemos clic sobre el botón Enviar, podemos ver que la nueva página nos retorna nuestro nombre para que no lo tengamos que volver a escribir. Por otro lado también se ha podido demostrar que a través de la utilidad TraspasoPropiedades la propiedad o variable de instancia nombre del JavaBean ValidadorDatosBean se ha rellenado correctamente.