JavaServer Pages (JSP) es una tecnología que ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML entre otros tipos de documentos. JSP es similar a PHP pero usa el lenguaje de programación Java. Para desplegar y correr JavaServer Pages, es requerido un servidor web compatible con contenedores servlet como Apache Tomcat o Jetty.
Ejercicios resueltos y propuestos en JSP Por: Ing. Godofredo Poccori Umeres. DAIS2014
EJERCICIOS RESUELTOS Y PROPUESTO EN JSP
1. Hacer una pagina en JSP que liste los 10 primeros numeros enteros. <html> <body> <% int i; for (i=0; i<10; i++) { out.println(i+" "); } %> </body> </html>
<html> <head> <style> td { font-family:verdana; font-size:9pt; } </style> </head> <body> <table> <% int i; for (i=0; i<100; i++) { out.println("<tr><td>" + i + "</td><td>" + (i*i) + "<br>"); } %> </table> </body> </html>
Ing. Godofredo Poccori Umeres
2. Hacer una pagina JSP que liste los 100 primeros cuadrados
1
3. Hacer una pagina JSP que muestre el resultado del juego 7 pum hasta 100. El juego consiste en ir contando y cada vez que el numero sea divisible por 7 o terminado en 7 entonces se reemplaza por PUM y se salta de lĂnea. <html> <head> <style> body { font-family:verdana; font-size:9pt; } i { color:red; font-weight:bold; } </style> </head> <body> <% int i; for (i=1; i<100; i++) { if ( ( i % 7 == 0 ) || ( i % 10 == 7 )) out.println("<i>PUM</i><br>"); else out.println( i + " " ); } %> </body> </html>
Index.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Area del triangulo</h1> <form action="resultado.jsp"> Ingrese la base: <input type="text" name="base"/><br> Ingrese la altura: <input type="text" name="altura"/><br> <input type="submit" value="Calcular" /> </form><br> </body> </html>
Ing. Godofredo Poccori Umeres
4.-Area triangulo
2
Resultado.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Resultados</h1> <% int base=Integer.parseInt(request.getParameter("base")); int altura=Integer.parseInt(request.getParameter("altura")); float area; area=(base*altura)/2; out.println("El area del triangulo con base"+base+"y Altura"+altura+"es"+area); %> <br><a href="index.jsp">Volver</a> </body> </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Promedio de tres notas</h1> <form action="resultado.jsp"> Ingrese la nota1: <input type="text" name="nota1"/><br> Ingrese la nota2: <input type="text" name="nota2"/><br> Ingrese la nota3: <input type="text" name="nota3"/><br> <input type="submit" value="Calcular" /> </form><br> </body> </html> Resultado.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title>
Ing. Godofredo Poccori Umeres
5.-Promedio de tres notas
3
</head> <body> <h1>Resultados</h1> <% int nota1=Integer.parseInt(request.getParameter("nota1")); int nota2=Integer.parseInt(request.getParameter("nota2")); int nota3=Integer.parseInt(request.getParameter("nota3")); float promedio; promedio=(nota1+nota2+nota3)/3; out.println("El promedio es: "+promedio); %> <br><a href="index.jsp">Volver</a> </body> </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Promedio de tres notas validadas</h1> <form action="resultado.jsp"> Ingrese la nota1: <input type="text" name="nota1"/><br> Ingrese la nota2: <input type="text" name="nota2"/><br> Ingrese la nota3: <input type="text" name="nota3"/><br> <input type="submit" value="Calcular" /> </form><br> </body> </html> Resultado.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Resultados</h1> <% int nota1=Integer.parseInt(request.getParameter("nota1")); int nota2=Integer.parseInt(request.getParameter("nota2")); int nota3=Integer.parseInt(request.getParameter("nota3")); float promedio; if((nota1>=0 && nota1<=20)&&(nota2>=0 && nota2<=20)&&(nota3>=0 && nota3<=20)) {
Ing. Godofredo Poccori Umeres
6.-Promedio de tres notas validadas
4
promedio=(nota1+nota2+nota3)/3; out.println("El promedio es: "+promedio); } else { out.print("Nota incorrecta"); } %> <br><a href="index.jsp">Volver</a> </body> </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Resultados</h1> <% int nota1=Integer.parseInt(request.getParameter("nota1")); int nota2=Integer.parseInt(request.getParameter("nota2")); int nota3=Integer.parseInt(request.getParameter("nota3")); float promedio; if((nota1>=0 && nota1<=20)&&(nota2>=0 && nota2<=20)&&(nota3>=0 && nota3<=20)) { promedio=(nota1+nota2+nota3)/3; if(promedio>=13) { out.println("Tu promedio es: "+promedio+"Estas aprobado"); } else { out.println("Tu promedio es: "+promedio+"Estas desaprobado"); } } else { out.print("Nota incorrecta"); } %> <br><a href="index.jsp">Volver</a> </body>
Ing. Godofredo Poccori Umeres
7.-Promedio validado e indica si estas aprobado o desaprobado
5
</html>
<body> <h1>Formulario</h1> <form action="resultado.jsp"> <table border="0"> <thead> <tr> <th>Nombre del Trabajador:</th> <th><input type="text" name="nombre"/></th> </tr> </thead> <tbody> <tr> <td>Sueldo:</td> <td> <input type="text" name="sueldo"/></td> </tr> <tr> <td>Horas extras:</td> <td><input type="text" name="horas" value="" /></td> </tr> <tr> <td></td> <td><input type="submit" value="Calcular" /></td> </tr> <tr> <td></td> <td></td> </tr> </tbody> </table> </form><br> </body> </html> Resultado.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head>
Ing. Godofredo Poccori Umeres
8.-Realizar un algoritmo que calcule y muestre el sueldo neto de un trabajador. Se tienen como datos de entrada el nombre, sueldo y horas extras. Por cada hora extra se paga S/. 12.00.
6
<body> <h1>Hello World!</h1> <% //declaro las variables int sueldo,horasext,totalhorasext,sueldoneto; String nombre; //String nombre="nombre"; horasext=0; //leer los datos String nomb = request.getParameter("nombre"); sueldo=Integer.parseInt(request.getParameter("sueldo")); horasext=Integer.parseInt(request.getParameter("horasext")); totalhorasext=horasext*12; sueldoneto=sueldo+totalhorasext; out.println("Su sueldo neto es: "+sueldoneto); %> <br><a href="index.jsp">Volver</a> </body> </html>
Ing. Godofredo Poccori Umeres
9.-Volumen de una piramide que tiene como base la figura de un triangulo equilatero de base b
7
</tr> <tr> <td>Lado de la base:</td> <td><input type="text" name="lado" value="" /><br></td> </tr> <tr>
Ing. Godofredo Poccori Umeres
Index.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Volumen de piramide</h1> <form action="resultado.jsp" method="POST"> <table border="0"> <thead> <tr> <th></th> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td> Altura:</td> <td><input type="text" name="altura" value="" /><br></td>
8
<td><input type="submit" value="Calcular" /></td> <td></td> </tr> </tbody> </table> </form> <img src="foto.jpg" width="299" height="321" alt="foto"/> </body> </html> Resultado.jsp <%@ page import="java.lang.Math" %> <%@page contentType="text/html" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Volumen de la piramide es</h1>
Ejecucion
Ing. Godofredo Poccori Umeres
<% //variables int altura, lado; double MiRaiz,volumen; //ingreso de datos altura=Integer.parseInt(request.getParameter("altura")); lado=Integer.parseInt(request.getParameter("lado")); //calculos MiRaiz = java.lang.Math.sqrt(3); volumen=((lado*lado)*(MiRaiz)*(altura)/4)/3; //mostrar resultados out.print(volumen); %> </body> </html>
9
10.-De acuerdo al sueldo de un trabajador determine si este es rico o pobre
Ing. Godofredo Poccori Umeres
Resultado
1 0
<% // declarando int sueldo=0;String res=""; if(request.getParameter("OK") != null) { sueldo = Integer.parseInt(request.getParameter("SUELDO")); if (sueldo >= 3000) { res="RICO"; } else {res="POBRE"; }; };
// construyendo forma dinamica out.println("<FORM ACTION=prog2.jsp METHOD=post>"); out.println("DAME SUELDO:<INPUT TYPE=TEXT NAME=SUELDO value="+sueldo+"><BR>"); out.println("EVALUACION:<INPUT TYPE=TEXT NAME=RES value="+res+"><BR>"); out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>"); %> 2째 Forma <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Formulario</h1>
SUELDO:<INPUT TYPE="TEXT" NAME="SUELDO" value=""><BR> <INPUT TYPE="SUBMIT" NAME="OK" VALUE="calcular" ><BR> </FORM> </body> </html> Resultado <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title>
Ing. Godofredo Poccori Umeres
<FORM ACTION=resultado.jsp METHOD=post>
1 1
</head> <body> <h1>Resultado</h1> <% // declarando int sueldo=0 ; String res = ""; if (request.getParameter("OK") != null) { sueldo = Integer.parseInt(request.getParameter("SUELDO")); if (sueldo >= 3000) { res = "RICO"; } else { res = "POBRE"; }; } else { out.print("Debe ingresar un valor"); } out.print(res); %> </body>
Ing. Godofredo Poccori Umeres
Logeo
https://www.youtube.com/watch?v=nkbh8Ac0mds
1 2
11.-Seleccione su color favorito uso del componente Check box
Resultado.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>El color que eligio es</h1> <% String color[]= request.getParameterValues("color"); if(color != null) { %> <ul> <% for(int i=0; i<color.length; i++) { %> <li><%=color[i]%></li>
Ing. Godofredo Poccori Umeres
Index.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Seleccione su color favorito</h1> <form action="resultado.jsp" method="POST"> <input type="checkbox" name="color" value="amarillo" />AMARILLO<br> <input type="checkbox" name="color" value="verde" />VERDE<br> <input type="checkbox" name="color" value="azul" />AZUL<br> <input type="submit" value="Enviar" name="" /> </form> </body> </html>
1 3
<% } %> </ul> <% } %> </body> </html> http://www.devmanuals.com/tutorials/java/jsp/multiplecheckbox.html
Index.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Seleccione el lenguaje de su preferencia</h1> <form action="resultado.jsp" method="POST"> <input type="radio" name="lenguaje" value="php" />PHP<br> <input type="radio" name="lenguaje" value="asp" />ASP<br> <input type="radio" name="lenguaje" value="jsp" />JSP<br> <input type="submit" value="Enviar" name="cursos" /> </form> </body> </html> Resultado.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <font color="green" size="5" >Felicitaciones !</font> <h2><p>Bienvenido <%=request.getParameter("cursos")%>...<br></p></h2> <TABLE style="background-color: #ECE5B6;" WIDTH="30%"> <tr width="100%"> <tr> <td width="50%">PHP</td> <td width="50%"><%=request.getParameter("php")%></td>
Ing. Godofredo Poccori Umeres
12.-Seleccione un lenguaje de programacion uso del Radio boton
1 4
</tr> <tr> <td>ASP</td> <td><%=request.getParameter("asp")%></td> </tr> <tr> <td>JSP</td> <td><%=request.getParameter("jsp")%></td> </tr> <tr><td></td><td align="right"> <A HREF="resultado.jsp"> <font size="4" color="blue">edit</font></A> </td> </tr> </table> </body> </html> http://www.roseindia.net/jsp/radio-button-jsp.shtml
13.-Formularios con componentes combinados (Check boton, radio boton,
Ing. Godofredo Poccori Umeres
Combobox, Cuadro de texto)
index.jsp
1 5
<body> <h1>Formulario de solicitud</h1> Solicitud de servicio<br> <form action="resultado.jsp" method="post"> C贸digo empleado: <input type="text" name="co" size=10><br> Sexo:<br> Masculino: <input type="radio" name="sex" value="Masculino"> Femenino: <input type="radio" name="sex" value="Femenino"><br> Servicio solicitado:<br> Hardware: <input type="checkbox" name="serv" value="Hardware"> Software: <input type="checkbox" name="serv" value="Software"><br> Departamento:<br> <select name="depto"> <option value="Ventas">Ventas</option> <option value="Publicidad">Publicidad</option> <option value="Personal">Personal</option> </select> <br> Descripci贸n: <textarea name="men"></textarea><br> <input type="submit"> <input type="reset"> </body>
<body> <h1>Solicitud</h1> <% String cod=request.getParameter("co"); String men=request.getParameter("men"); String sex=request.getParameter("sex"); //tomo datos del checkbox String serv=""; String[] seleccion= request.getParameterValues("serv");
Ing. Godofredo Poccori Umeres
resultado.php
1 6
if(seleccion!=null){ for(int i=0;i<seleccion.length;i++) { serv+=" - "+seleccion[i]; } } else{ serv="No selecciono ningun servicio"; } //tomo datos del select String depto=""; String[] select= request.getParameterValues("depto"); for(int j=0;j<select.length;j++) { depto=select[j]; } %> La solicitud de: <%=cod%><br> Sexo: <%=sex%><br> Que se refiere a: <%=serv%><br> Del departamento de: <%=depto%><br> Descripci贸n del servicio:<br> <%=men%><br> </body>
14.-Formulario 2 Radio boton, Check boton, Combobox, etc
Ing. Godofredo Poccori Umeres
Index.jsp
1 7
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Curso</title> </head> <body> <h1>Formularios</h1> <form action="index.jsp" method="POST"> <input type="submit" value="Volver a Menu" /> </form><br/>
txt: <input type="text" name="txt2" maxlength="10" size="20" value="Hola" /> <br/> radio: Si <input type="radio" name="radio1" value="Si" /> No <input type="radio" name="radio1" value="No" /> <br/> checkbox: Rojo: <input type="checkbox" name="ck1" value="rojo" /> Verde: <input type="checkbox" name="ck1" value="verde" />
Ing. Godofredo Poccori Umeres
<form name="form1" action="request.jsp" method="POST"> txt: <input type="text" name="txt1" maxlength="10" size="15" /> <br/>
1 8
Azul: <input type="checkbox" name="ck1" checked value="azul" /> <br/> Select: <select name="select1" multiple> <option value="1">Opci贸n 1</option> <option value="2">Opci贸n 2</option> <option value="3" selected>Opci贸n 3</option> </select><br/> textarea: <textarea name="textarea1" rows="4" cols="20"> Linea de texto otra linea de texto </textarea> <br/> <input value="Enviar" type="submit" /><!-- Enviar formulario --> <input type="reset" /><!-- Limpiar campos del formulario --> </form> </body> </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Curso</title>
Ing. Godofredo Poccori Umeres
Resultado.jsp
1 9
</head> <body> <h1>Utilizaci贸n de request</h1> <form action="resultado.jsp" method="POST"> <input type="submit" value="Volver a formularios" /> </form> <% //las variables que nos llegan son: txt1, txt2, radio1, ck1, select1, textarea1 String txt1 = request.getParameter("txt1"); String txt2 = request.getParameter("txt2"); String radio = request.getParameter("radio1"); String[] ck1 = request.getParameterValues("ck1"); String[] miselect = request.getParameterValues("select1"); String txtarea = request.getParameter("textarea1"); out.println("txt1: "+txt1+"<br />"); out.println("txt2: "+txt2+"<br />"); out.println("radio1: "+radio+"<br />"); out.println("ck1:"); for(int i=0; i<ck1.length; i++){ out.println("<pre> "+ck1[i]+"</pre>"); } out.println("select: "); for(int i=0; i<miselect.length; i++){ out.println("<pre> "+miselect[i]+"</pre>"); } out.println("textarea1: "+txtarea+"<br />"); %> TXT1: <% out.println(request.getParameter("txt2")); %>
Ing. Godofredo Poccori Umeres
</body> </html>
2 0
15.-Realizar un comprobante de venta, tal como se muestra en la figura.
<%-Document : index Created on : 29/01/2014, 02:45:35 PM Author : Godofredo Poccori Umeres --%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head>
Ing. Godofredo Poccori Umeres
INDEX
2 1
Ing. Godofredo Poccori Umeres
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>COMPROBANTE DE VENTA</h1> Solicitud de datos<br> <form action="resultado.jsp" method="post"> Nombres: <input type="text" name="nombre" size=10><br> Apellidos: <input type="text" name="apellido" size=10><br> Genero:<br> Masculino: <input type="radio" name="genero" value="Masculino"> Femenino: <input type="radio" name="genero" value="Femenino"><br> Tipo de producto a comprar:<br> Hardware: <input type="checkbox" name="prod" value="Hardware"> Software: <input type="checkbox" name="prod" value="Software"><br> <table border="0"> <tbody> <tr> <td> PRODUCTO<br></td> <td> CANTIDAD</td> <td>PRECIO UNIT $:</td> </tr> <tr> <td><select name="pdto1"> <option value="monitor">Monitor</option> <option value="lectora">Lectora DVD</option> <option value="impresora">Impresora</option> <option value="mouse">Mouse</option> <option value="teclado">Teclado</option> <option value="discoduro">Disco Duro</option> </select></td> <td><input type="text" name="cant1" size=10></td> <td><input type="text" name="pu1" size=10></td> </tr> <tr> <td><select name="pdto2"> <option value="monitor">Monitor</option> <option value="lectora">Lectora DVD</option> <option value="impresora">Impresora</option> <option value="mouse">Mouse</option> <option value="teclado">Teclado</option> <option value="discoduro">Disco Duro</option> </select></td> <td><input type="text" name="cant2" size=10></td> <td><input type="text" name="pu2" size=10></td> </tr> <tr> <td><select name="pdto3">
2 2
Ing. Godofredo Poccori Umeres
<option value="monitor">Monitor</option> <option value="lectora">Lectora DVD</option> <option value="impresora">Impresora</option> <option value="mouse">Mouse</option> <option value="teclado">Teclado</option> <option value="discoduro">Disco Duro</option> </select></td> <td><input type="text" name="cant3" size=10></td> <td><input type="text" name="pu3" size=10></td> </tr> <tr> <td><select name="pdto4"> <option value="monitor">Monitor</option> <option value="lectora">Lectora DVD</option> <option value="impresora">Impresora</option> <option value="mouse">Mouse</option> <option value="teclado">Teclado</option> <option value="discoduro">Disco Duro</option> </select></td> <td><input type="text" name="cant4" size=10></td> <td><input type="text" name="pu4" size=10></td> </tr> <tr> <td><select name="pdto5"> <option value="monitor">Monitor</option> <option value="lectora">Lectora DVD</option> <option value="impresora">Impresora</option> <option value="mouse">Mouse</option> <option value="teclado">Teclado</option> <option value="discoduro">Disco Duro</option> </select></td> <td><input type="text" name="cant5" size=10></td> <td><input type="text" name="pu5" size=10></td> </tr> </tbody> </table> Tipo de comprobante de pago:<br> Boleta: <input type="radio" name="pago" value="boleta"> Factura: <input type="radio" name="pago" value="factura"><br> <br> Observaciones: <textarea name="men"></textarea><br> <input type="submit"> <input type="reset"> </body> </body> </html>
2 3
<%-Document : resultado Created on : 29/01/2014, 02:48:32 PM Author : Godofredo Poccori Umeres --%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Documento de Pago</h1> <% String nom=request.getParameter("nombre"); String ape=request.getParameter("apellido");
Ing. Godofredo Poccori Umeres
RESULTADO
2 4
Ing. Godofredo Poccori Umeres
String men=request.getParameter("men"); String gen=request.getParameter("genero"); int t1,t2,t3,t4,t5; double subtotal,impuesto; int cantidad1=Integer.parseInt(request.getParameter("cant1")); int punitario1=Integer.parseInt(request.getParameter("pu1")); int cantidad2=Integer.parseInt(request.getParameter("cant2")); int punitario2=Integer.parseInt(request.getParameter("pu2")); int cantidad3=Integer.parseInt(request.getParameter("cant3")); int punitario3=Integer.parseInt(request.getParameter("pu3")); int cantidad4=Integer.parseInt(request.getParameter("cant4")); int punitario4=Integer.parseInt(request.getParameter("pu4")); int cantidad5=Integer.parseInt(request.getParameter("cant5")); int punitario5=Integer.parseInt(request.getParameter("pu5")); //tomo datos del checkbox String prod=""; String[] seleccion= request.getParameterValues("prod"); if(seleccion!=null){ for(int i=0;i<seleccion.length;i++) { prod+=" - "+seleccion[i]; } } else{ prod="No selecciono ningun producto"; } //tomo datos del select 1 String pdto1=""; String pdto2=""; String pdto3=""; String pdto4=""; String pdto5=""; String[] select1= request.getParameterValues("pdto1"); String[] select2= request.getParameterValues("pdto2"); String[] select3= request.getParameterValues("pdto3"); String[] select4= request.getParameterValues("pdto4"); String[] select5= request.getParameterValues("pdto5"); for(int j=0;j<select5.length;j++) { pdto1=select1[j]; pdto2=select2[j]; pdto3=select3[j]; pdto4=select4[j]; pdto5=select5[j]; } %> Sr.(es): <%=nom%><%out.print(" ");%><%=ape%><br> Genero: <%=gen%><br> Solicita producto: <%=prod%><br>
2 5
Ing. Godofredo Poccori Umeres
<!tabla para mostrar resultados y calculos> <table border="0"> <tbody> <tr> <td>Producto</td> <td>Cantidad</td> <td>Precio Unit</td> <td>Subtotal</td> </tr> <tr> <td><%=pdto1%></td> <td><%=cantidad1%></td> <td><%=punitario1%></td> <td><%t1=cantidad1*punitario1;out.print(t1);%></td> </tr> <tr> <td><%=pdto2%></td> <td><%=cantidad2%></td> <td><%=punitario2%></td> <td><%t2=cantidad2*punitario2;out.print(t2);%></td> </tr> <tr> <td><%=pdto3%></td> <td><%=cantidad3%></td> <td><%=punitario3%></td> <td><%t3=cantidad3*punitario3;out.print(t3);%></td> </tr> <tr> <td><%=pdto4%></td> <td><%=cantidad4%></td> <td><%=punitario4%></td> <td><%t4=cantidad4*punitario4;out.print(t4);%></td> </tr> <tr> <td><%=pdto5%></td> <td><%=cantidad5%></td> <td><%=punitario5%></td> <td><%t5=cantidad5*punitario5;out.print(t5);%></td> </tr> <tr> <td></td> <td></td> <td>Total=</td> <td><%subtotal=t1+t2+t3+t4+t5;out.print(subtotal);%></td> </tr> <tr> <td></td> <td></td>
2 6
<td>IGV 18%=</td> <td><%impuesto=(0.18)*subtotal;out.print(impuesto);%></td> </tr> <tr> <td></td> <td></td> <td>Neto a pagar=</td> <td><%=subtotal+impuesto%></td> </tr> </tbody> </table> Observaciones: <%=men%><br> </body> </html>
CLASES EN JAVA
Index.jsp <body bgcolor="#FFFFFF"> <form name="f2" action="proceso.jsp" method="post"> numero1:<input type="text" name="numero1"><br/> numero2:<input type="text" name="numero2"><br/> <!-- varios checkbox con el mismo nombre "operacion" --> <input type="checkbox" name="operacion" value="suma">Suma<br/> <input type="checkbox" name="operacion" value="resta">Resta<br/> <input type="checkbox" name="operacion" value="multiplicacion">Multiplicacion<br/> <input type="checkbox" name="operacion" value="division">Division<br/>
Ing. Godofredo Poccori Umeres
16.-Operaciones Aritmeticas usando clases
2 7
<input type="checkbox" name="operacion" value="residuo">Residuo<br/> <input type="submit" value="Calcular" > </form> </body>
String text=""; text=text+"- Numero 1: "+o.getNumero1()+"<br>"; text=text+"- Numero 2: "+o.getNumero2()+"<br>"; text=text+"<br>"; String[] operaciones=request.getParameterValues("operacion"); if(operaciones!= null){ for (int i=0;i<operaciones.length;i++){ if(operaciones[i].matches("suma")){ /*absolutamente todos los metodos*/ text=text+"- "+o.suma()+"<br>"; } if(operaciones[i].matches("resta")){
Ing. Godofredo Poccori Umeres
Proceso.jsp <%@page import="beans.Operacion"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% /*podemos utilizar todas las cases que hallamos importado*/ Operacion o= new Operacion(); String sn1=request.getParameter("numero1"); String sn2=request.getParameter("numero2"); Integer n1=Integer.parseInt(sn1); Integer n2=Integer.parseInt(sn2); /*aqui somos libre de usar todos los metodos de nuestras clases*/ o.setNumero1(n1); o.setNumero2(n2);
2 8
text=text+"- "+o.resta()+"<br>"; } if(operaciones[i].matches("multiplicacion")){ text=text+"- "+o.multiplicacion()+"<br>"; } if(operaciones[i].matches("division")){ text=text+"- "+o.division()+"<br>"; } if(operaciones[i].matches("residuo")){ text=text+"- "+o.residuo()+"<br>"; }
Clase Operacion.java package beans; public class Operacion { private int numero1=10; private int numero2=4; public void setNumero1(int n1){ numero1=n1;
Ing. Godofredo Poccori Umeres
} }else{ text=text+"No selecciono ninguna operacion"; } %> <%= text %> <form name="f2" action="index.jsp" method="post"> <input type="submit" value="Volver" > </form> </body> </html>
2 9
} public void setNumero2(int n2){ numero2=n2; } public int getNumero1(){ return numero1; } public int getNumero2(){ return numero2; } public String suma(){ return "la suma es "+(numero1+numero2); } public String multiplicacion(){ return "la multiplicacion es "+(numero1*numero2); } public String resta(){ return "la resta es "+(numero1-numero2); } public String division(){ return "la division es "+(numero1/numero2); } public String residuo(){ return "el residuo es "+(numero1%numero2); } }
Index.jsp <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Mayor de dos numeros usando Clases</h1> <form action="resultado.jsp" method="POST"> <table border="0"> <thead> <tr> <th></th>
Ing. Godofredo Poccori Umeres
17.-Mayor dos numeros usando clases
3 0
<th></th> <th></th> </tr> </thead> <tbody> <tr> <td> Numero 1:</td> <td><input type="text" name="numero1" value="" /><br></td> </tr> <tr> <td>Numero 2:</td> <td><input type="text" name="numero2" value="" /><br></td>
</tr> </tbody> </table> </form> </body> </html> Resultado jsp <%@page import="operacion.mayordos"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% /*podemos utilizar todas las cases que hallamos importado*/ int res; mayordos md= new mayordos(); String sn1=request.getParameter("numero1"); String sn2=request.getParameter("numero2"); Integer n1=Integer.parseInt(sn1); Integer n2=Integer.parseInt(sn2); /*aqui somos libre de usar todos los metodos de nuestras clases*/ md.setNumero1(n1); md.setNumero2(n2); res=md.mayor(sn1,sn2);
Ing. Godofredo Poccori Umeres
</tr> <tr> <td><input type="submit" value="Calcular" /></td> <td></td>
3 1
%> <form name="f2" action="index.jsp" method="post"> <input type="submit" value="Volver" > </form> </body> </html> mayordos.java package operacion; /** * * @author DAIS207 */ public class mayordos { private int numero1; private int numero2; public int getNumero1() { return numero1; } public void setNumero1(int numero1) { this.numero1 = numero1; }
public void setNumero2(int numero2) { this.numero2 = numero2; } public String mayor(){ if(numero1>numero2) { return "El mayor es "+(numero1); } else { return "El mayor es "+(numero2); } } }
Ing. Godofredo Poccori Umeres
public int getNumero2() { return numero2; }
3 2
18.-Usando la clase Persona mostrar los datos de una persona, enviados desde un formulario (Metodo de importacion)
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Formulario Persona</h1> <form action="procesar.jsp"> Codigo:<input type="text" name="idpersona" value="" /><br> Nombre:<input type="text" name="nombre" value="" /><br> Edad:<input type="text" name="edad" value="" /><br> Genero:<input type="text" name="genero" value="" /><br> <input type="submit" value="Enviar" /> </form> </body> </html>
Ing. Godofredo Poccori Umeres
Index.jsp
3 3
<%@page contentType="text/html" pageEncoding="UTF-8" import="Objetos.Persona" errorPage=""%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Mi primer JSP</title> </head> <body> <% //declara las variables int id=Integer.parseInt(request.getParameter("idpersona")); //convertir de string a int String nomb=request.getParameter("nombre"); //permanece como string String gen=request.getParameter("genero"); int ed=Integer.parseInt(request.getParameter("edad")); //declaro la variable pers del tipo Clase Persona Persona pers= new Persona(); pers.setIdPersona(id); pers.setNombre(nomb); //enviamos a la clase pers.setEdad(ed); pers.setGenero(gen); %> <!--Mostrar resultados --> <h1>Datos de la Persona</h1> <p>Nro. de Identificaci贸n: <%= pers.getIdPersona() %></p> <p>Nombre: <%= pers.getNombre() %></p> <!-- //recibimos de la clase y mostramos --> <p>Edad <%= pers.getEdad() %></p>
Ing. Godofredo Poccori Umeres
Procesar.jsp
3 4
<p>Genero <%= pers.getGenero() %></p> </body> </html>
Persona.java
CLASE
public final class Persona { // Atributos private int idPersona; private String nombre; private int edad; private String genero; // Constructores public Persona(int id,String nombre, int edad){ setIdPersona (id); setNombre (nombre); setEdad (edad); } public Persona(){} public Persona(int id,String nombre, int edad, String genero){ setIdPersona (id); setNombre (nombre); setEdad (edad); setGenero (genero); } // MĂŠtodos set`s public void setIdPersona(int valor) { this.idPersona=valor;
Ing. Godofredo Poccori Umeres
package Objetos;
3 5
Ing. Godofredo Poccori Umeres
} public void setNombre(String valor) { this.nombre=valor; } public void setGenero(String valor) { if(valor.equals("F")|| valor.equals("M")) { this.genero=valor; } else { System.out.println("El género debe ser F o M"); } } public void setEdad (int valor) { if (valor < 55) { this.edad =valor; } else { System.out.println("La edad debe ser < 55"); } } // Métodos get’s public int getIdPersona(){ return this.idPersona; } public String getNombre(){ return this.nombre; } public int getEdad(){ return this.edad; } public String getGenero(){ return this.genero; } }
3 6
Index.jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <h1>Colegio</h1> <form action="resultado.jsp" method="POST"> Nombre Docente:<input type="text" name="nombred" value="" /><br> Nro. Materias:<input type="text" name="nmaterias" value="" /><br> Nombre Estudiante:<input type="text" name="nombree" value="" /><br> <input type="submit" value="Enviar" /> </form> </body> </html> Resultado.jsp <%@page contentType="text/html" pageEncoding="UTF-8" import="Objetos.Colegio" errorPage=""%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Mi primer JSP</title> </head> <body> <% //declara las variables String nd=request.getParameter("nombred"); //permanece como string int nm=Integer.parseInt(request.getParameter("nmaterias")); //convertir de string a int
Ing. Godofredo Poccori Umeres
19.- Implemetar la clase Colegio
3 7
String ne=request.getParameter("nombree");
%> <!--Mostrar resultados --> <h1>Matricula</h1> <p>Nombre Doc.: <%=cole.getNombreDocente() %></p> <!-- //recibimos de la clase y mostramos --> <p>Nro. Materias <%= cole.getNumeroMaterias() %></p> <p>Nombre Est. <%= cole.getNombreEstudiante() %></p> </body> </html> Colegio.java package Objetos; public class Colegio { //atributos private String nombreDocente; private int numeroMaterias; private String nombreEstudiante; // metodos constructor public Colegio(String nombreDocente,int numeroMaterias, String nombreEstudiante){ setNombreDocente(nombreDocente); setNumeroMaterias(numeroMaterias); setNombreEstudiante(nombreEstudiante); } // metodo set public void setNombreDocente(String N){ this.nombreDocente=N; } public void setNumeroMaterias(int M){ if (M < 5) { this.numeroMaterias=M; } else { System.out.println("numero de materias no >5 materias"); } } public void setNombreEstudiante(String E){ this.nombreEstudiante=E; } }
Ing. Godofredo Poccori Umeres
//declaro la variable cole del tipo Clase Colegio Colegio cole=new Colegio(); cole.setNombreDocente(nd); cole.setNumeroMaterias(nm); //enviamos a la clase cole.setNombreEstudiante(ne);
3 8
EJERCICIOS PROPUESTOS:
8.-Ingrese un numero e imprima el número y el valor absoluto del mismo. 9.-Ingrese un número y calcule e imprima su raíz cuadrada. Si el número es negativo imprima el número y un mensaje que diga “tiene raíz imaginaria” 10.-Ingrese dos números desde el teclado e imprima solo los positivos 11.-Ingrese dos números desde el teclado e imprima ambos números sólo si son positivos 12.-Ingrese dos números desde el teclado e imprima ambos números si por lo menos uno de ellos es positivo. 13.-Ingrese dos números desde el teclado e imprima ambos números solo si son de diferente signo y distintos de cero. 14.-Ingrese dos números desde el teclado. Calcule la suma e imprima los números leídos y la suma. 15.- Lea dos números de un mismo registro. Calcule la suma de los números. Imprima los números leídos y sólo si suma es negativa. Imprímala también 16.- Lea dos números de un mismo registro y calcule el cociente de dividir el primero por el segundo. Imprima el cociente. Si el segundo número es cero no ejecute el cálculo e imprima un mensaje que diga : “la división no es posible”. 17.- Leer de un mismo registro el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario mensual 18.- Leer un número y calcular el 5% del número leído. Obtener tanto el número como el porcentaje calculado 19.- Leer de un registro el nombre de un empleado, su salario básico por hora, el número de horas trabajadas en el período y el porcentaje de retención en la fuente. Calcular el salario bruto, el valor de la retención y su salario neto.
Ing. Godofredo Poccori Umeres
1.- Mostrar su nombre, sexo, edad y estado civil, que son ingresados por teclado 2.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima tanto el nombre como la edad. 3.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima, solo si la persona es mayor de edad, el nombre de la persona. 4.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima solo si la persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje que diga : “no puede votar”. 5.- Ingresar por teclado el nombre, la edad y el sexo de cualquier persona e imprima, solo si la persona es de sexo masculino y mayor de edad, el nombre de la persona. NOTA: suponga que en el campo denominado sexo el número 1 es masculino o el número 2 es femenino. 6.- Ingresar por teclado el nombre, la edad, el sexo (1 o 2) y el estado civil de cualquier persona e imprima solo si la persona es un hombre soltero mayor de edad, el nombre de la persona. NOTA: en el campo de estado civil se graba el número 1 en vez de soltero, el número 2 en vez de casado o el número 3 en vez de otro. 7.-Lea de un registro el nombre, la edad, el sexo y el estado civil de cualquier persona e imprima, solo si la persona es hombre o mujer menor de edad o es hombre casado de cualquier edad, el nombre de la persona y un mensaje que diga “usted no se manda”. En los demás casos imprima el nombre de la persona solamente.
3 9
20.-Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es 8%. Obtener el nombre del empleado, el salario bruto, el valor de la retención y el salario neto. Se debe leer el nombre y el salario.
28.-Imprimir cuatro columnas. En la primera columna, los enteros del 1 al 50 . En las otras columnas, la segunda, la tercera y la cuarta potencia de los enteros de la primera columna. 29.- Calcule la suma de los100 primeros números naturales 30.- Obtener la suma de los números pares comprendidos entre 1 y 100 31.- Encuentre la calificación promedio para un gran número, aunque desconocido, de calificaciones de exámenes. Estas vienen grabadas en registros. La calificación más alta posible es 10.0 32.-Leer una serie de números. Encontrar el valor absoluto (magnitud) de cada número. Imprimir tanto los números como sus valores absolutos. Use centinela 999 33.- Leer una serie de números. Obtener el cuadrado y el cubo de cada número e imprimir tanto los números como sus cuadrados y sus cubos. 34.- Leer una serie de pares de números y obtener de cada par el número mayor. Imprima un mensaje especial si los números son de igual valor. Los números son precedidos por la cantidad de registros 35.- Leer una serie de grupos de tres números y obtener el número mayor y el número menor de cada terna. Escriba un mensaje si por lo menos dos de cada tres números son iguales. 36.-Identifique y obtenga el número medio de un conjunto de tres números únicos. EL número medio es aquel que no es el menor ni el mayor.
Ing. Godofredo Poccori Umeres
21.- Leer de un registro el nombre de un empleado , el salario básico por hora y el número de horas trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si el número de horas trabajadas durante la semana es mayor de 48, esas horas demás se consideran horas extras y tienen un 35 % de recargo. Imprima el nombre del empleado y el salario neto. 22.-Obtenga los 100 primeros números naturales. 23.- Obtener los números pares comprendidos entre 1 y 1000 24.-Leer de un registro un número entero positivo y obtener los múltiplos de 3 comprendidos entre 1 y el número leído. 25.- Lea los veinte primeros registros de un archivo, cada uno de los cuales contienen un nombre. Imprimir los nombres. 26.- Leer varios registros cada uno de ellos, conteniendo un nombre. El número de estos registros se encuentra grabado en un registro que precede a los anteriores. Imprimir cada uno de los hombres leídos. 27.- Leer un conjunto de registros cada uno de ellos conteniendo el código y el nombre de cada uno de los estudiantes de la universidad. El último registro del conjunto (registro centinela) contiene el código 9999999 y es utilizado sólo para chequear el final de los registros. Imprima cada uno de los códigos leídos. Lógicamente la información del registro centinela no se imprime porque no pertenece a ningún estudiante.
4 0
37.- El Dane está interesado en saber el número de personas mayores de 18 años, tanto hombres como mujeres en la ciudad de Medellín. Calcule e imprima el resultado de esta investigación. Se deben leer registros que contienen cada uno el sexo y el número de años. 38.-Una tienda de libros y géneros diversos al menudeo ofrecen un descuento de cortesía del 10% para profesores. Muestre como la computadora puede calcular e imprimir el 10% de 1.00, 1.10, 1.20, etc. hasta $25.00. 39.-Un vendedor desea calcular su comisión total sobre la venta de varios artículos. Al vendedor le corresponde el 5% de su comisión sobre artículos cuyo precio es menor de $100 y el 7.5 % de comisión sobre aquellos artículos cuyo precio es de $100 o más. Suponga que el vendedor hizo N ventas 40.-Coldeportes de Antioquia está interesado en promover el básquetbol y para ello desea conocer personas que tengan las siguientes características, edad máxima: 18 años, estatura mínima: 1.80 metros, peso máximo: 80 kilos. Lea identificación. Edad, estatura y peso. Use centinela identificación 99999 41.-Lea de un mismo registro A, B, C (coeficientes de la ecuación cuadrática. Calcule e imprima x1 y x2 (raíces de la ecuación) Recuerde que x1 y x2 se pueden calcular sólo sí a) B2 - 4* AC >= O b) A ≠ 0.
43.-Se tiene un conjunto de registros de los empleados de una compañía, cada registro contiene los siguientes datos: número del empleado, nombre del empleado, salario básico por hora, horas trabajadas en el mes, deducciones, Se requiere leer los registros e imprimir un listado con la siguiente información por empleado: número del empleado, nombre del empleado, salario básico por hora, horas trabajadas, deducciones, salario mensual. También se debe calcular e imprimir al final del listado, el total de salarios pagados a todos los empleados y el promedio salarial por empleado. 44.-Calcular e imprimir los salarios que se adeudan a trabajadores, basados en tasa a 1.5 veces la tasa regular, cuando Las horas trabajadas excedan de 40 por semana 45.- Dado que un peso de mañana tiene menor valor que un peso de hoy (fenómeno económico que llamamos inflación) las empresas cuando calculan los futuros ingresos transformados a pesos de hoy superan el monto de la inversión hecha. La fórmula general para el cálculo del valor actual es : VA = C / (1 + i) N donde: C es la cantidad del ingreso i es la tasa de inflación N son los años en consideración
Ing. Godofredo Poccori Umeres
42.-Se tienen registro con los datos de los estudiantes de una universidad, así: código del estudiante, nombre del estudiante. Valor crédito del estudiante, número de créditos tomados, valor del recargo en la matrícula. Se requiere leer los registros e imprimir un listado con la siguiente información por estudiante: código, nombre del estudiante, valor crédito, número de créditos, valor del recargo, valor total pagado por estudiante. También se debe calcular e imprimir al final del listado el total pagado por todos los estudiantes y el promedio por estudiante. Use código de centinela = 9999
4 1
Ing. Godofredo Poccori Umeres
Una empresa tiene información sobre la tasa de inflación, la inversión y los ingresos calculados para diez años seguidos. Con ésta desea saber si al cabo de dicho tiempo ha recuperado la inversión, hablando en pesos del día en que se hace la misma. -46.-Capturar un numero cualesquiera e informar si es o no es mayor de 100. 47.- Capturar un numero entero cualesquiera e informar si es o no es múltiplo de 4 (recordar el operador mod(%), analizado en el tema de operadores aritméticos). 48.- Capturar los cinco datos más importantes de un Empleado, incluyendo el sueldo diario y los días trabajados desplegarle su cheque semanal solo si gano más de $500.00 en la semana, en caso contrario desplegarle un bono de despensa semanal de $150.00. 49.- Capturar los datos más importantes de un estudiante incluyendo tres calificaciones construir una boleta de calificaciones en una página de respuesta bien bonita si el estudiante es de la carrera de medicina, en caso contrario construir una página más bonita todavía que despliega un oficio citando a los padres del estudiante a una plática amistosa con los maestros de la escuela. 50.- Capturar los datos más importantes de una mercancía cualesquiera, incluyendo cantidad, precio, etc. desplegar una orden de compra, solo si el producto es de origen nacional, en caso contrario no hacer nada.
4 2