Você está na página 1de 14

Creacin de una aplicacin que recibir datos mediante un formulario, que sern validados por el controlador, creando as una

salida, la cual ser vista por el cliente utilizando un navegador Web y aplicando una determinada lgica del negocio 1.- Iniciamos el programa NetBeans y seleccionamos Proyecto Nuevo Nos abre un cuadro de dialogo donde seleccionamos el tipo de proyecto y la categora del mismo Categoria: Java Web Web Application

Se inicia todo el proceso de construccin de la estructura de nuestro proyecto

3.- Seleccionamos la Versin Enterprise Edition Versin 5 y posteriormente en Terminar

Esta aplicacin hasta el momento es completamente funcional. Damos clic en el botn de nuestro proyecto, para observar la pantalla de salida.

Implementando el Modelo Vista Controlador tendremos: La vista estar representada por los jsp El controlador va ser un Servlet El modelo va ser una clase Java

De acuerdo a esto las vistas van a estar contenidas en la carpeta WebPages en esa carpeta s dejaran todas las vistas que se utilizaran en una aplicacin web. Los dems elementos del Patron MVC los vamos a dejar en dos Package distintos. Agregamos un paquete Java.

Este paquete se llamara controlador.

Creamos otro paquete Java que se llamara modelo

En el modelo agregamos una clase Java la cual llamaremos Remuneracin

En el controlador vamos a crear un Servlet

Al cual le llamaremos Controller.

Como es un Servlet se debe configurar el URL Patterns que en este caso se llamara exactamente igual pero con minscula.

En estos momentos ya se cuenta con el Patron de diseo MVC. Lo que haremos a continuacin ser la construccin del Modelo En Remuneracin escribimos el siguiente cdigo.

public class Remuneracion { private int sueldoBase; private int descAFP; private int desSalud; private int SueldoLiquido;

public Remuneracion(int sueldoBase){ this.sueldoBase = sueldoBase;

public int getSueldoLiquido() { return SueldoLiquido; }

public int getDesSalud() { return desSalud; }

public int getDescAFP() { return descAFP; }

public int getSueldoBase() { return sueldoBase;

public void calculoDescAFP(int porcentaje){ descAFP = sueldoBase*porcentaje/100;

} public void calculoDescSalud(int porcentaje){ desSalud = sueldoBase*porcentaje/100;

public void calculoLiquido(){ SueldoLiquido = sueldoBase - (descAFP + desSalud);

} Una vez terminando la construccin del modelo, pasaremos a la construccin del formulario

Agregamos el siguiente cdigo. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <center> <form action="controller.do" method="post"> <table> <tr> <td colspan="2" aling ="center">Calculo de Remuneracion</td>

</tr> <tr> <td>Sueldo Base </td> <td align ="left"> <input type="text" name="txtSueldoBase"></td> </tr> <tr> <td>AFP </td> <td align ="left"><input type="text" name="txtAFP">%</td> </tr> <tr> <td>Salud</td> <td align ="left"><input type="text" name="txtSalud">%</td>

</tr> <tr> <td colspan="2" align="rigth"> <input type="submit" name="bt" value="Calcular"> </td> </tr>

</table> </form> </center> </body> </html> Para modificar el tamao de la etiqueta AFP y Salud modificamos lo siguiente

Ahora se trabajara en el controlodar que es un servlet que puede generar salida HTML como una vista y adems puede actuar como un controlador. Cuando este actua como un controlador, no se necesita el siguiente cdigo

El primer paso que el controlador debe realizar, es recibir los parmetros desde el formulario. Agregar el siguiente cdigo: String strSueldoBase = request.getParameter("txtSueldoBase"); String strPorcentajeAFP = request.getParameter("txtAFP"); String strPorcentajeSalud = request.getParameter("txtSalud"); ArrayList errores = new ArrayList();

int sueldoBase = 0, ptjeAFP = 0, ptjeSalud = 0;

try{ sueldoBase = Integer.parseInt(strSueldoBase); }catch(NumberFormatException ex){ errores.add("Falta Sueldo Base y debe ser numerico"); }

try{ ptjeAFP = Integer.parseInt(strPorcentajeAFP); }catch(NumberFormatException ex){ errores.add("Falta porcentaje de afp y debe ser numerico"); }

try{ ptjeSalud = Integer.parseInt(strPorcentajeSalud); }catch(NumberFormatException ex){ errores.add("Falta porcentaje de salud y debe ser numerico"); }

if(errores.isEmpty()){ Remuneracion objeto = new Remuneracion(sueldoBase); objeto.calculoDescAFP(ptjeAFP); objeto.calculoDescSalud(ptjeSalud); objeto.calculoLiquido();

request.setAttribute("objeto" , objeto); RequestDispatcher vista = request.getRequestDispatcher("index.jsp"); vista.forward(request, response);

}else { request.setAttribute("errores", errores); RequestDispatcher vista = request.getRequestDispatcher("index.jsp"); vista.forward(request, response); }

Você também pode gostar