0% encontró este documento útil (0 votos)
45 vistas5 páginas

Presupuesto Visita Zoo: Java Web App

El documento describe el desarrollo de un programa web para consultar el presupuesto de visitas a un Zoo, incluyendo servicios opcionales como guías, catering y transporte. Se detallan las clases en Java necesarias para implementar la funcionalidad, como 'Presupuesto' y 'Procesador', junto con las instrucciones para completar el código en un archivo JSP. Además, se incluyen consignas específicas para la implementación de formularios y la validación de datos ingresados por el usuario.

Cargado por

llligorria3059
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas5 páginas

Presupuesto Visita Zoo: Java Web App

El documento describe el desarrollo de un programa web para consultar el presupuesto de visitas a un Zoo, incluyendo servicios opcionales como guías, catering y transporte. Se detallan las clases en Java necesarias para implementar la funcionalidad, como 'Presupuesto' y 'Procesador', junto con las instrucciones para completar el código en un archivo JSP. Además, se incluyen consignas específicas para la implementación de formularios y la validación de datos ingresados por el usuario.

Cargado por

llligorria3059
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Segundo Parcial Práctico de Paradigmas de Programación 05/11/2009

Se necesita desarrollar un programa web que permita consultar el


presupuesto de una visita a un importante Zoo de una ciudad turística el
cual es visitado, por lo general, por alumnos pertenecientes a diversas
Instituciones educativas ubicadas en puntos del país. Los grupos de
personas visitantes, además de disfrutar de una vista de los animales
viviendo en un ambiente casi exacto a su hábitat natural, el Zoo les
puede ofrecer el servicio de guías especializadas, que explican por cada
grupo algunas características de los animales y de su entorno natural,
servicio de catering (completo, ejecutivo, básico), y servicio de traslado:
diferencial o común, desde su lugar de origen, hasta el mismo Zoo. Cabe
aclarar que tanto el servicio de guías, catering y de traslado son
opcionales, siendo solo obligatorio solo pagar el importe de la entrada,
el cual es de $10 por persona, para ingresar al Zoo.
Se disponen de las siguientes clases en Java:
_ Presupuesto: clase que representa a cada presupuesto que se realiza,
en base a las especificaciones que se hayan seleccionado por quién
solicite el presupuesto de una visita, vía web. Tiene los siguientes
atributos:
nombreInstitucion: String, que representa el nombre de la institución
educativa que solicita, vía web, el presupuesto para realizar la visita al
Zoo.
cantidad: int, cantidad de personas pertenecientes a la institución
educativa, que desean visitar elZoo.
tipoTransporte: String, representa el tipo de transporte seleccionado
por el usuario. Los valores pueden ser: “diferencial” (el cual encarece
cada entrada en $5), “común” (encarece la entrada en $3), o de “Por
cuenta propia” (no encarece la entrada).
tipoCatering: String, representa el tipo de servicio de catering
seleccionado por el usuario. Los valores que puede contener son:
“Completo” (el cual encarece la entrada en $15), “Ejecutivo” (encarece
cada entrada en $12), “Mínimo” (encarece cada entrada en $7), ó “Sin
servicio” (el cual noencarece la entrada).
guia: String, representa si se seleccionó o no el servicio de un
guía/acompañante de la excursión, que informe o asesore al grupo
durante la visita al Zoo. Los valores posibles para este atributo son:
“Si” (el cual incrementa al monto total del presupuesto grupal, $100,
independientemente de la cantidad de personas que visiten el Zoo), o
“No” (no encarece el presupuesto).
Los métodos que contiene son: constructor sin y con parámetros,
métodos setter y getter para cada atributo, y un método
getPresupuestarVisita(), de calcula y devuelve el presupuesto solicitado.
_ Procesador: clase que extiende de HttpServlet. En el método protected
void
processRequest(request:HttpServletRequest
response:HttpServletResponse), se deberán tomar a través delobjeto
request, los datos ingresados/seleccionados por el usuario de cliente
web, crear un objeto de la clase Presupuesto, y devolver a la página del
navegador de cliente web, el presupuesto correspondiente, obtenido a
través del método getPresupuestarVisita(). Previamente, se deberá
validar que la cantidad de personas ingresadas sea mayor a 0. En caso
de ser 0 o negativo, se deberá informar mediante un mensaje al cliente
web.
También se dispone de un archivo .jsp, llamado [Link], con código
HTML, mediante el cual el usuario del
cliente web, podrá interactuar con el programa web,
ingresando/seleccionado los datos de su petición, y visualizando las
respuestas que brinde el sistema.
Consignas:
1) En el archivo [Link], realizar lo siguiente:
a) Completar dentro del elemento <from, lo que se le deberá asignar al
atributo action, para que funcione este proyecto, correctamente. (5p.)
b) Codificar en HTML el código necesario para que se pueda visualizar
una caja de texto utilizada por el usuario del cliente web de manera tal
que pueda ingresar la cantidad de personas de la institución
que desean visitar el Zoo. (10p).
c) Completar el código necesario para que se visualice en el jsp, el
resultado que devuelve el Servlet, correspondiente al presupuesto
solicitado. (15p).
2) En el método processRequest(request,response), de la clase
Procesador, realizar lo siguiente:
a) Tomar los datos ingresados/seleccionados por el usuario web desde la
página jsp con la que interactua. (20p)
b) Verificar si la cantidad ingresada es mayor a 0. En caso de ser menor
o igual que 0, se deberá enviar otra página HTML, al cliente web,
informando sobre tal situación. (20p)
c) Obtener el presupuesto, mediante el método getPresupuestarVisita()
de la clase Presupuesto, y hacer que se lo pueda acceder desde la
página .jsp que realizó la petición de dicho presupuesto. (30)
A continuación se muestra el código fuente del programa, el cual Ud.
deberá completar teniendo en cuenta las consignas anteriormente
detalladas.
Archivo [Link]
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"[Link]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<img src="[Link]" width="100" height="100"
alt="avestruz"/>
<img src="[Link]" width="100" height="100" alt="lobo"/>
<img src="[Link]" width="100" height="100" alt="zorro"/>
<img src="[Link]" width="100" height="100"
alt="perrogato"/>
<img src="[Link]" width="100" height="100" alt="mono"/>
<img src="[Link]" width="100" height="100"
alt="peloliso"/>
<img src="[Link]" width="100" height="100"
alt="loroAzul"/>
<img src="[Link]" width="100" height="100"
alt="zorrillo"/>
<img src="[Link]" width="100" height="100"
alt="lobo"/>
<img src="[Link]" width="100" height="100" alt="pato"/>
<body>
<form name="frmConsultarVisita" action=<%--COMPLETAR 1.a) --
%>
method="POST" >
<h2>Consulte aquí la visita a nuestro Zoo para su
escuela</h2>
<h4>Nombre de la Institución que nos visitará: </h4>
<input type="text" name="txtNombreInstitucion" value=""
size="30" /><br>
<h4>Cantidad de personas: </h4>
1.b)
<%--COMPLETAR AQUÍ PARA AGREGAR TEXTO DE INGRESO PARA
LA CANTIDAD DE PERSONAS QUE VISITARÁN EL ZOO--%>
<h4>Servicio de traslado</h4>
<select name="cmbTipoTransporte">
<option>Diferencial</option>
<option>Comun</option>
<option>Por cuenta propia</option>
</select>
<h4>Servicio de cátering</h4>
<select name="cmbTipoCatering">
<option>Completo</option>
<option>Ejecutivo</option>
<option>Minimo</option>
<option>Sin servicio</option>
</select>
<h4>Guía turística</h4>
<input type="radio" name="optGuiaTuristica" value="SI"
checked="checked"
/>Si
<input type="radio" name="optGuiaTuristica" value="NO" />No
<h4>Presupuesto: $ 1.c) <%--COMPLETAR AQUÍ PARA MOSTRAR
RESULTADO DE PRESUPUESTO--%> </h4>
<br><br>
<input type="submit" value="Solicitar Presupuesto"
name="btnPresupuestar"
/>
</form>
</body>
</html>
//Clase Procesador
package Bean;
/**
* Processes requests for both HTTP <code>GET</code> and
<code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html;charset=UTF-8");
PrintWriter out = [Link]();
try {
String institucion,catering,transporte,guia;
int cantPersonas;
//COMPLETAR 2.a)//COMPLETAR 2.b)//COMPLETAR 2.b)
[Link]("[Link]").forward(request,
response);
} finally {
[Link]();
}
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse
response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}//Fin clase Procesador
//Clase Presupuesto
package Bean;
public class Presupuesto {
private String
nombreInstitucion,tipoTransporte,tipoCatering,guia;
private int cantidad;
public Presupuesto(){}
public Presupuesto(String inst,int cant,String transp,String
cat,String g)
{
nombreInstitucion=inst;
cantidad=cant;
tipoTransporte=transp;
tipoCatering=cat;
guia=g;
}
public double getPresupuestarVisita()
{
double monto=10;
if([Link]("Diferencial"))
monto+=5;
else
if([Link]("Comun"))
monto+=3;
if([Link]("Completo"))
monto+=15;
else
if([Link]("Ejecutivo"))
monto+=12;
else
if([Link]("Minimo"))
monto+=7;
monto*=cantidad;
if([Link]("SI"))
monto+=100;
return monto;
}
}//Fin clase Presupuesto
Preguntas: 1)Etiquetas javaBean 2)Ciclo de vida de un servlet 3)-elementos scriples

También podría gustarte