You are on page 1of 131

Tutorial J (Java Server Pages

)
UNIDAD 1: JAVA JSP ELEMENTOS BASICOS
1. INTRODUCCION 2. MODELO DE SOLUCION 3. VARIABLES 4. TIPOS DE DATOS 5. CLASES NUMERICAS 6. OPERADORES ARITMETICOS 7. OPERADOR CAST Y CONVERSIONES 8. JERARQUIA DE OPERACIONES 9. APLICACIONES 10. CONCEPTOS BASICOS DE OOP 11. JAVA SERVER PAGE (1) APENDICE: OBJETOS HTML APENDICE: PALABRAS RESERVADAS JAVA

UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA
1. INTRODUCCION 2. INSTRUCCIONES DE CONTROL DE PROGRAMA 3. INSTRUCCIONES CONDICIONALES 4. CONDICIONES SIMPLES 5. OPERADORES RELACIONALES 6. INSTRUCCION IF 7. CONDICIONES COMPUESTAS 8. INSTRUCCION SWITCH 9. CONTROL SELECT 10. CONTROL CHECKBOX Y MANEJO DE EXEPCIONES 11. CONTROL RADIOBUTTON

12. 13. 14. 15.

CICLO FOR CICLO WHILE CICLO DO...WHILE CONCLUSIONES ACERCA DE CICLOS

UNIDAD 3: JAVA JSP ARREGLOS
1. 2. 3. 4. INTRODUCCION ARREGLOS TRADICIONALES ARREGLOS TIPO LISTA ARREGLOS TIPO TABLA

UNIDAD 4: JAVA JSP FUNCIONES Y PROCEDIMIENTOS
1. 2. 3. 4. 5. PROCEDIMIENTOS Y FUNCIONES PARAMETROS VARIABLES LOCALES Y GLOBALES FUNCIONES ARREGLOS COMO PARAMETROS

UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES
1. INTRODUCCION 2. ESTRUCTURAS O REGISTROS 3. ARCHIVOS (1) 4. ARCHIVOS (2) 5. CREACION ARCHIVOS 6. GRABACION Y LECTURA DISCO 7. BUSQUEDA EN ARCHIVO DIRECTO 8. FILTROS o CONDICIONES 9. BAJA o ELIMINACION 10. OPERACIONES CON CAMPOS

11. 12.

EDICION o MODIFICACION REGISTROS GRAFICOS

UNIDAD 6: JAVA JSP ARCHIVOS DIRECTOS
1. 2. 3. 4. 5. 6. 7. 8. 9. INTRODUCCION ARCHIVOS DIRECTOS CREACION ARCHIVOS GRABACION Y LECTURA DISCO BUSQUEDA EN ARCHIVO DIRECTO FILTROS o CONDICIONES BAJA o ELIMINACION OPERACIONES CON CAMPOS EDICION o MODIFICACION REGISTROS GRAFICOS

UNIDAD 7: JAVA JSP INT A LAS BASES DE DATOS (MICROSOFT ACCESS)
1. INTRODUCCION 2. MODELOS DE ALMACENAMIENTO DE DATOS 3. TABLAS 4. TABLAS (CONTINUACION) 5. MICROSOFT ACCESS 6. JDBC SQL RESULTSET CONNECTION 7. SELECCION O DESPLIEGUE 8. INSERCCION O ADICION DE REGISTROS 9. BUSQUEDAS 10. FILTROS 11. OPERACIONES CON CAMPOS 12. BAJAS 13. EDICION DE REGISTROS 14. GRAFICOS O IMAGENES

OPERACIONES CON CAMPOS 12. INSERCCION O ADICION DE REGISTROS 9. BUSQUEDAS 10. MYSQL (1) 6. SELECCION O DESPLIEGUE 8. FILTROS 11. MODELOS DE ALMACENAMIENTO DE DATOS 3. BAJAS 13. GRAFICOS O IMAGENES . INTRODUCCION 2. OBJETO RESULTSET MYSQL (2) 7. TABLAS (CONTINUACION) 5.UNIDAD 8: JAVA JSP INT A LAS BASES DE DATOS (MYSQL) 1. TABLAS 4. EDICION DE REGISTROS 14.

and schedule that maximizes its effectiveness. Journal of Computing and Information Technology. Hans Christian Anderson wrote a tale in which all the young ducks made fun of another. sino por la cantidad de información que produce y consume.” Información y Conocimiento son los dos elementos claves del nuevo milenio ninguna sociedad podrá alcanzar ni puede ignorar este nuevo esquema ya las naciones no se miden por su riqueza industrial. ni por su poder militar. the most beautiful of the fowl. One day a swan. declared that the youngster was in fact a young swan and a fine one at that. Nuevos sistemas de información. Reconceptualizing Information Systems as a Field of the Transdiscipline Informing Science: From Ugly Duckling to Swan. “Information Systems is the field of inquiry that attempts to provide the business client with information in a form.UNIDAD I: JAVA JSP ELEMENTOS BASICOS TEMA 1: INTRODUCCION JAVA JSP From Ugly Duckling to Swan Eli Cohen. 7 (3) 1999. así como por la recombinación de información nueva en un conocimiento de grado superior. ni sus activos físicos. 213-219. tienden a ser cada vez de mayor alcance y complejidad sobre todo cuando se toman en cuenta las nuevas necesidades . format. They made the duckling feel inadequate because he was different.

programación para servicios web. Nuevos sistemas de información son costosos en tiempos y recursos. se ha convertido en el lenguaje estándar para la construcción de aplicaciones basadas en internet así como de los nuevos modelos de programación. etc. económica. programación para dispositivos. tales como programación móvil. porque permiten abstraer al ingeniero de software de todo el GUI (interfase gráfica) del problema.com a finales de 1996. ambientes de desarrollo visuales facilitan aun más la construcción de programas y solución de problemas. Nuevos paradigmas de programación se ocupan para la creación de nuevos sistemas y necesidades creativas de información. Además el pleno potencial del hardware tampoco es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones generando lo que se conoce como “crisis del software”. eficiente y de manera global. . que constituye más del 60% del código normal de un programa.de información y conocimiento que demandan las nuevas organizaciones. En programación orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre sí. la solución moderna de sistemas de información exigen herramientas y metodologías que resuelvan rápida. Java un lenguaje de programación moderno implementado por la compañía www.java. problemas de información y conocimiento planteados por las organizaciones.sun.

se consideran y resuelven como módulos de código gigante (clase) que contiene todo el código necesario (variables. construyendo objetos y diseñando sistemas gráficos. funciones. procedimientos. aplicaciones y sistemas de información usando técnicas estructuradas. es decir construimos programas. . En programación java básica. interfaces. y todo orientado a la construcción de sistemas de información basados en redes de cualquier tipo o tamaño.En OOP todo problema aun aquellos sencillos de información. etc.) para solucionar el problema. se tiene la mezcla de lo mejor de estos tres mundos.

. LA TERCERA PARTE es el resultado o solución del problema que generalmente se obtiene de la parte de operaciones del modelo y dichos datos están almacenados en las llamadas variables de salida. X= y + 5). ej. generalmente esta parte del modelo es una ecuacion algebraica o formula (o igualdad matemática. estas tres partes son: LA PRIMERA PARTE son todos los datos que el computador ocupa para resolver el problema. LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas necesarias para solucionar el problema. Una herramienta rápida que nos permite descomponer en partes un problema para su solución es el llamado modelo de solución. estos datos son almacenados internamente en la memoria del computador en las llamadas variables de entrada.UNIDAD 1: JAVA JSP ELEMENTOS BÁSICOS TEMA 2: MODELO DE SOLUCIÓN JAVA JSP En general un problema de información es posible entenderlo. esta consiste de una pequeña caja que contiene los tres elementos más básicos en que se puede descomponer cualquier problema sencillo de información. analizarlo y descomponerlo en todos sus componentes o partes que de una u otra manera intervienen tanto en su planteamiento como en su solución.

etc. Variables es el nombre de una localidad o dirección interna en la memoria del computador donde se almacenan los datos. por ejemplo “Tijuana”.520. SUELDO. CIUDAD.”15 años”. “calle primera # 213”. EJEMPLO DE MODELO DE SOLUCIÓN Construir un modelo de solución que resuelva el problema de calcular el área de un triángulo con la formula área igual a base por altura sobre dos. Información son datos ya procesados que resuelven un problema planteado. ” $2. . EDAD.En resumen para todo problema sencillo de información es necesario plantearse las siguientes preguntas: Que datos ocupa conocer el computador para resolver el problema y en cuales variables de entrada se van a almacenar? Que procesos u operaciones debe realizar computador para resolver el problema planteado? el Que información o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente? Como nota importante no confundir los términos datos. ejemplo de variables para los casos del inciso anterior. DIRECCIÓN. variables e información: Datos se refiere a información en bruto no procesada ni catalogada.00”. ETC.

CONVERTIR LA EDAD EN AÑOS DE UNA PERSONA A MESES. PROBLEMA 4.CONVERTIR PESOS A DÓLARES.CALCULAR EL ÁREA DE UN CIRCULO CON LA FORMULA AREA = PI * RADIO2 PROBLEMA 5. El problema no esta suficientemente explicado o enunciado. entonces. si es descompuesta y resuelta en partes. estudiarlo. pero todos ocupan salida. PROBLEMA 3. analizarlo y construirlo de manera genérica.  Observar para el caso de constantes fijas o conocidas (PI) no se debe dar como dato de entrada su valor en cambio colocar directamente su valor dentro de la formula en la parte de operaciones del problema. juntando al final los parciales para obtener el resultado final. Un problema puede tener más de una solución correcta.Variable(s) Entrada BASE ALTURA de Proceso u Operación AREA = BASE * ALTURA / 2 Variable(s) de Salida AREA PROBLEMA 2.      . Pero recordar también que existirán problemas sencillos donde: No se ocupan entradas o no se ocupan operaciones.EVALUAR LA FUNCIÓN y = 5x²-3x +2 PARA CUALQUIER VALOR DE X. Una formula grande o muy compleja puede ser más segura y fácil de resolver.....

7 nidos en cada árbol en la UABC.. calcular su gasto total. PROBLEMA 12..8 pájaros. (no ocupa entradas) PROBLEMA 9. en dicha tienda el kilogramo de frijol cuesta $8. se pide calcular la cantidad total de nidos y de pájaros en los 227 arboles que existen en la UABC.-Evaluar la función y = 3x2 + 2x – 5 para cualquier valor de x. el paquete de tortillas cuesta $3.. .Se calcula que en promedio hay 4.) (dos maneras correctas de resolverlo). (caso normal)..La gorda Sra.Convertir 125 metros a centímetros (no ocupa entradas) PROBLEMA 8..( problema no claro) PROBLEMA 10.25. también se calcula que en cada nido existen un promedio de 5.55 y el frasco de café vale $14.. si solo compran de estos tres productos para su mandado.75.Convertir millas a kilómetros (caso normal) PROBLEMA 7. López y sus 8 hijos solo compran una vez al mes su mandado en conocido supermercado.Ensenada es de 110 Kms.TAREAS PROGRAMACION JAVA JSP Construir los modelos de solución de los siguientes problemas: PROBLEMA 6. (1 milla =1.609 Km. si un automóvil la recorre a una velocidad constante de 30 millas por hora.Capturar y desplegar los cinco datos mas importantes de un automóvil (no ocupa operaciones) PROBLEMA 11. cuanto tiempo tarda en llegar.La distancia Tijuana .

-Evaluar la función y = -5x3 . .3x2 + 8 para cuando x vale 4. (no ocupa entradas).PROBLEMA 13.

Ejemplos de buenas variables: Nombre. funciones( pequeños módulos con código). No deben ser palabras reservadas del lenguaje. etiquetas. etc. Existen ciertas reglas en cuanto a variables:     Claras y con referencia directa al problema. pero solo de carácter general. ni símbolos extraños en ellas. objetos. No espacios en blanco. clases. Se pueden usar abreviaturas. Perímetro. Edad. . IngMensual.UNIDAD I: JAVA JSP ELEMENTOS BÁSICOS TEMA 3: JAVA JSP VARIABLES Identificadores son conjuntos de letras y/o números que se utilizan para simbolizar todos los elementos que en un programa son definibles por el usuario (programador o ingeniero de software) del mismo como son las variables donde se almacenan datos. Calif1. etc. En Java JSP una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa. SdoDiario.

UNIDAD I: JAVA JSP ELEMENTOS BASICOS TEMA 4: JAVA JSP TIPOS DE DATOS En Java Jsp a toda variable que se use en un programa. Los tipos de datos más comunes en java jsp son: Primitive Data Types Keywor Description d (integers) “byte” Byte-length integer Size/Format 8-bit complement 16-bit complement 32-bit complement 64-bit complement floating floating 32-bit IEEE 754 64-bit IEEE 754 two's two's two's two's “short” Short integer “int” “long” Integer Long integer (real numbers) Single-precision “float” point “double Double-precision ” point (other types) “char” A single character 16-bit Unicode character “boolea A boolean value (“true” or true or false . se le debe asociar (generalmente al principio del programa) un tipo de dato específico. Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.

n” “false”) * tabla tomada de java. En este ultimo caso se crea la string y se inicializa con un dato o valor. ejemplo. de momento entenderemos esto ultimo como dos maneras de crearse. 2.sun. Para el caso de strings se debera usar la Clase String que tiene dos constructores. 1.com documentation Como se observa es muy similar a las de c o c++. String ciudad = new String(“Tijuana”). . String nombre = new String().

boolean **equals**(Object obj). static String **toBinaryString**(int i).lang. } . static Integer **getInteger**(String nm). es que objetos numericos derivados de estaS clase.Number // public public // public public // public public public public public public public public public public public public public public public public public public public Fields final static int **MAX_VALUE**. que contienen una serie de metodos que facilitan la interaccion con los usuarios de nuestras aplicaciones en captura y despliegue de datos numericos. int val). String **toString**(). no pueden entrar a operaciones DIRECTAMENTE. Methods double **doubleValue**(). static Integer **valueOf**(String s).Integer extends java. int radix). static Integer **getInteger**(String nm. static Integer **valueOf**(String s. int **intValue**(). Constructors **Integer**(int value). Class Integer public { final class java. long **longValue**(). ni recibir el resultado de operaciones. final static int **MIN_VALUE**. static String **toString**(int i.lang. static int **parseInt**(String s). static int **parseInt**(String s. int radix). static String **toString**(int i). Sin embargo su caracteristica mas importante a tomar en cuenta. float **floatValue**(). static String **toHexString**(int i). descendientes de la clase NUMBERS. **Integer**(String s). static Integer **getInteger**(String nm.UNIDAD I: JAVA JSP ELEMENTOS BASICOS TEMA 5: JAVA JSP CLASES ESPECIALES En java Jsp como lenguaje de programacion orientado a objetos existen aparte de la clase String vista en el tema anterior cuatro clases especiales. Integer val). int radix). int **hashCode**(). static String **toOctalString**(int i).

lang. static boolean **isInfinite**(double v). int **hashCode**(). } * La misma fuente y las mismas notas de la clase anterior Class Float public { final class java. * Clase y notas tomadas directamente de java. . **POSITIVE_INFINITY**.lang. int **intValue**(). static boolean **isNaN**(double v). **MIN_VALUE**. static double **longBitsToDouble**(long bits). long **longValue**(). final static double **NaN**. Ademas de otros metodos de igual utilidad. **Double**(String s). final static double **MIN_VALUE**.Double extends Fields final static double **MAX_VALUE**. double **doubleValue**(). **NaN**. Methods static long **doubleToLongBits**(double value). float **floatValue**(). final static double **NEGATIVE_INFINITY**. String **toString**(). boolean **isInfinite**(). boolean **isNaN**(). Este objeto contiene un solo campo de tipo int.sun Class Double public final java. **NEGATIVE_INFINITY**.Float extends float float float float float java.lang. static String **toString**(double d). static Double **valueOf**(String s). Constructors **Double**(double value). final static double **POSITIVE_INFINITY**.Number { // public public public public public // public public // public public public public public public public public public public public public public public public class java.Esta clase convierte un dato de tipo int a un objeto.lang.Number // Fields public final static public final static public final static public final static public final static // Constructors **MAX_VALUE**. boolean **equals**(Object obj). Pero tambien el objeto contiene una serie de metodos para convertir un valor int a una String y tambien para convertir una String a int.

public static String toString(long i). int radix). boolean **isNaN**(). public static Long getLong(String nm. public boolean equals(Object obj). public static String toHexString(long i). String **toString**().Long extends java. static float **intBitsToFloat**(int bits). Methods double **doubleValue**(). float **floatValue**(). int **intValue**(). public static String toString(long i. static String **toString**(float f). public int intValue(). long **longValue**(). public static Long getLong(String nm.Number { // Fields public final static long MAX_VALUE. **Float**(float value). boolean **equals**(Object obj). public float floatValue(). public static Long valueOf(String s). int **hashCode**(). public final static long MIN_VALUE. public String toString(). Long val).public public public // public public public public public public public public public public public public public public public } **Float**(double value). static boolean **isNaN**(float v). int radix). public static String toOctalString(long i).lang. static Float **valueOf**(String s). int radix). public static String toBinaryString(long i). // Constructors public Long(long value).lang. **Float**(String s). * La misma fuente y notas anteriores Class Long public final class java. static int **floatToIntBits**(float value). public long longValue(). public static long parseLong(String s). public static long parseLong(String s. long val). boolean **isInfinite**(). public static Long getLong(String nm). public Long(String s). public int hashCode(). static boolean **isInfinite**(float v). public static Long valueOf(String s. // Methods public double doubleValue(). } * La misma fuente y notas anteriores .

En problemas de division entre enteros. java trunca la parte residual. en java existe toda una librería de instrucciones o funciones matemáticas. Para resolver los problemas de potencias y raíces. ejemplo. se usan ciertas instrucciones especiales que proporciona el lenguaje. Java jSP reconoce aritméticos: los siguientes operadores Operad Operación or + * / % Suma Resta Multiplicacion Division Residuo o Modulo Como notas importantes a recordar siempre. llamadas funciones matemáticas. Desplegar—> 13/5 —> el resultado es 2 Mas adelante se dira como resolver este problema.UNIDAD 1: JAVA JSP ELEMENTOS BASICOS TEMA 6: JAVA JSP OPERADORES ARITMETICOS Un operador es un símbolo especial que indica al compilador que debe efectuar una operación matemática o lógica. .

pow(x. } // cerrar main } //cerrar clase Para resolver el problema de raíces. * resolver el problema de calcular 53 import java. exponente).Math.io.out. se aprovecha una de las mas elementales y conocida de las leyes de exponentes que dice: Es decir una raíz cualquiera se puede transformar a una potencia con un exponente fraccionario. . Esta función ocupa dos valores o datos ( base y exp) ambos de tipo double. import java.lang. y regresa un resultado también de tipo double. potencia = Math. 0.5).pow(base.math .*.println("potencia =" +potencia). double potencia =0. double b). ejemplo. double exponente=3. public class ejemplo1 { public static void main(String args[]) { double base =5. System. public static double pow(double a. Ejemplo: Problema y = 3Ö x esto es equivalente a y = 3 * x 1/2 entonces Usando la función pow Y = 3*Math.lang.Recordar que todas las funciones reciben uno o más datos o valores y regresan siempre un resultado. una de estas funciones matemáticas es: import java.

Object { Fields public final static double E. public static double asin(double a). public static float abs(float a). public static double ceil(double a).doubleValue(). Integer alfa = new Integer(20). lo que se debe hacer es usar una variable temporal de tipo apropiado. Como se observa se crearon dos objetos numericos. public static long abs(long a). . public static double atan(double a). public static double cos(double a). hacer la operacion con dicha variable y al final si se quiere convertir esta variable al objeto numerico apropiado (esto ultimo se vera en el siguiente tema).doubleValue(). como lo muestra el siguiente ejemplo. double alfa1=0.lang.* En este ejemplo no funcional se esta dando por supuesto que no interesa el tipo de dato que requiere la función pow() para trabajar correctamente. Para realizar operaciones con objetos numericos. alfa1=alfa1 + zeta1. zeta1=0. recordar que no se pueden hacer directamente operaciones con ellos ni tampoco pueden recibir resultados en ellos.lang. public final static double PI. La libreria matematica de java jsp completa incluye: Class Math public final class java. alfa1=alfa.Math extends java. zeta1=zeta. desplegar alfa1. luego dos variables numericas normales. luego estas dos ultimas variables se cargan con los objetos numericos que emplean metodos propios para convertirlos a datos normales. double b). public static double atan2(double a. Methods public static double abs(double a). public static int abs(int a). public static double acos(double a). Double zeta = new Double(5).

long round(double a). long b). double floor(double a). double IEEEremainder(double f1. double f2). double pow(double a. double min(double a. float min(float a. long min(long a. * fuente tomada de java. long b). double max(double a. float max(float a. int max(int a. int b). double log(double a).sun. int min(int a. double sin(double a). long max(long a. double b). int b). double random(). double b). double rint(double a). float b).com . double b). double sqrt(double a). double tan(double a). float b).public public public public public public public public public public public public public public public public public public public public } static static static static static static static static static static static static static static static static static static static static double exp(double a). int round(float a).

// Cambio de tipo (float) alfa. no entre tipos de datos y objetos de una clase numerica. 2. es decir convierte datos. El operador cast realiza este proceso. variable o una expresión a convertirse o cambiarse a un nuevo tipo de dato. su formato es: (nvotipo) dato . // Asignación alfa = 20. Ejemplo: // declaración int alfa.UNIDAD 7: JAVA JSP ELEMENTOS BASICOS TEMA 7: JAVA JSP OPERADOR CAST y CONVERSIONES Se puede forzar un dato.1416. El tipo de dato especifico que requieren las funciones. exp. var. recordar que en este caso ya no se tendrán los decimales. • • en este ejemplo se está convirtiendo un float a int. Como nota importante se puede hacer cast solo con tipos de datos. Como nota importante este operador resuelve los dos problemas pendientes: 1. El de la división entre enteros. . variables o expresiones a un nuevo tipo de dato. Ejemplo: (int) 3.

.pow(x.Ejemplos: a) // Declaración float alfa.pow(x. x. // área de despliegue de resultados desplegar x. directamente con los datos. se puede usar pow(). y En Java Jsp para convertir tipos de datos numericos a objetos numericos y viseversa se deberan usar los metodos que traen las clase numericas de manera apropiada.pow ( (double)5. (1/3. // área de declaración de variables double y. // área de operaciones y = 3 * Math. (double)2)). ejemplo: Sea dentro de un programa esto se resuelve con.pow(x.0).Math. en general existen tres casos generales difrentes.0. pero transformándolos con el operador cast.0)) + 4 * Math. (double)3) . // Pero en estos casos es preferible alfa=23/5. // Operación potencia = Math. // área de captura de datos capturar el valor de x. solo que los dos elementos sean variables entonces usar el operador cast con una de ellas. solo recordando usar un pow() por cada potencia y cada raíz de la ecuación. argumentos o parámetros requeridos . considerando datos o variables numericas. Como se observa en el ejemplo. b)// Declaración double potencia. En toda división recordar agregar a uno de los dos valores el (. Esto también va a permitir evaluar expresiones matemáticas de manera mas directa y sencilla. // Operación alfa = (float)23/5. si estos son numéricos. (double)3).

2) variable numerica a string ejemplo.3) variable numerica a objeto numerico caso 1: usando constructor int zeta=80. Int zeta=30.1) Variable numerica a variable numerica Usar el operador cast ejemplo: var to var int alfa1=10. a. b.intValue().toString(). B.45”).valueOf(zeta)).3) Objeto Numerico a Objeto Numerico . observar que valores decimales deben declararse como doubles a.1) Objeto Numerico a Variable numerica todos los objetos numericos deben crearse inicializados aunque sea a (0) Integer alfa = new Integer(300). b. String alfa= String. alfa5=Double. alfa1= (int)alfa2. double alfa2=3. caso 2: ya existe el objeto numerico Double alfa5 = new Double(0). String beta = new String(” ”).1416.valueOf(String. Beta = alfa. var to string int zeta=50. Int zeta = alfa.valueOf(zeta).objetos numericos y strings que es un caso especial y comun: a. Float alfa4 = new Float(zeta).2) Objeto numerico a String Float alfa = new Float(“3.

2. 3. alfa9 = alfa9.valueOf(alfa8). . Double beta=new Double(0). Double alfa9=new Double(0). beta = beta.valueOf(alfa.Integer alfa=new Integer(50).5”).toString()). double beta= 0. c.parseDouble(alfa). c.1) String to variable numerica String alfa= new String(“3. TAREAS JAVA JSP POW(): 1.2) String to Objeto Numerico String alfa8=new String(“50”). beta= Double.

Nota: Tampoco es bueno usar paréntesis de mas en una operación.2+ 3* 4 = 20(incorrecto) = 14 (correcto) b) si calif1=60 y calif2=80 entonces en programa se usa promedio=calif1 + calif2/2 da como resultado promedio = 100 Recordar siempre. 3. . 2. Paréntesis Potencias y raíces Multiplicaciones y divisiones Sumas y restas Dos o más de la misma jerarquía u orden. entonces resolver de izquierda a derecha Nota: Si se quiere alterar el orden normal de operaciones. que antes de plantear una formula en un programa se deberá evaluar contra el siguiente: Orden de operaciones: 1.UNIDAD 1: JAVA JSP ELEMENTOS BASICOS TEMA 8: JAVA JSP JERARQUIA DE OPERACIONES En Java Jsp como en todos los demas lenguajes de programacion el problema de no tomar en cuenta la jerarquía de los operadores al plantear y resolver una operación casi siempre conduce a resultados muchas veces equivocados como estos: Ejemplos: . entonces usar paréntesis. 4. como en el siguiente ejemplo. esto solo indica que no se evalúo bien la formula. 5.

aquí los paréntesis están de mas. porque por orden de operaciones. . en sus programas de java jsp ni que falten paréntesis ni que sobren paréntesis. multiplicación y división tienen la misma jerarquía y entonces se resuelven de izquierda a derecha.

sistem 8 de apple. kde o gnome de linux. que esta enfocado a la construcción de sistemas de informacion que se ejecutarán en una plataforma muy diversa de procesadores y sistemas operativos. etc. cada vez que un usuario se conecta al web server y requiere la pagina que contiene el applet. programas o sistemas en general existen los sguientes tipos de aplicaciones basicas: 1. terminales tontas. ejemplo windows. 2. Aplicaciones de tipo APPLETS. Aplicaciones o programas que se ejecuten en “consolas”. que tambien son programas en java que se mandan a una pc remota o lejana. es decir ambientes del tipo msdos. etc. linux. 3.UNIDAD 1: JAVA JSP ELEMENTOS BASICOS TEMA 9: APLICACIONES JAVA JSP Recordar que JAVA es un lenguaje de programación moderno. donde esa pc se encarga de correrla o ejecutarla o compilarla y correrla. Aplicaciones o sistemas que se ejecuten en ambientes graficos o de tipo “ventanas:. Este applet lo manda un servidor de paginas(web server) junto con la pagina correspondiente. Para el caso de applets estos se ejecutan no en consola tampoco en una ventana sino dentro de el browser de la maquina remota que puede ser el internet explorer de microsoft o el netscape. . Esto indica la necesidad de construir diversos tipos de aplicaciones.

4. cuando al web server le piden un jsp. Una vez que el web server o servidor de paginas ejecuta un servlet. . Aplicacion de tipo SERVLETS. para que la maquina remota los vea en su propio browser. 6. lo convierte a servlet con todas las implicaciones que se mencionarón en el inciso anterior y manda los resultados a la pc remota que lo solicitó. esto se hace teniendo constantemente actualizado el browser (internet explorer o netscape) y estando sobre todo seguro que en la actualización del browser se incluya la maquina virtual de java. oracle. ya ejecutado se mandan generalmente los resultados a la maquina remota. tecnologias de tipo servlet pero que estan especializadas principalmente en mantener enlaces constantes a bases de datos de cualquier marca (access. esto permite que una serie de varios programas o aplicaciones a la vez esten interactuando con el mismo java bean y por consiguiente con la base de datos. que son programas en java que se ejecutan direcatemente en el servidor de paginas o web server. lo compila. Beans y Java Beans. 5. lo mantiene vivo o despierto. estos resultados se mandan en forma de una pagina html.Por supuesto que el browser del cliente debe estar preparado para ejecutar applets. Aplicaciones JSP (Java Server Pages). etc). que al ser invocado o llamado por una pc remota. tecnologia que combina codigo html y codigo java en un solo programa o aplicación. mysql. para responder de manera mas rapida a las peticiones siguientes que se hagan del servlet. el web server compila y ejecuta el servlet.

7. beans ) todas tienen en comun el lenguaje e instrucciones de programacion de java. Sin embargo para propositos de este curso nos especializaremos en JSP (JAVA SERVER PAGES). applets y servlets. pero de momento estan fuera del alcance de estas notas. En general todas las aplicaciones que se pueden desarrollar (consola. jsp. tales como aplicaciones rmi. ejb . . graficas. en virtud de que actualmente es una de las tecnologias mas utiles para la construcción de programas. apliacciones y sistemas de información modernos.(estarse pendiente de la siguiente actualizacion de este texto) . Existen otra serie de aplicaciones diferentes que se pueden construir con java. aplicaciones en tiempo real.

Así como las propiedades son el ser (que es) del objeto. b) Métodos: Son las conductas propias de la naturaleza del objeto. precio. etc. . Gato → Raza. En este sentido todos los elementos materiales o inmateriales pueden clasificarse como objetos. font. material. etc. domicilio. etc. saltar(). ente o entidad física o lógica de información.UNIDAD 1: JAVA JSP ELEMENTOS BÁSICOS TEMA 10: JAVA JSP CONCEPTOS BÁSICOS DE PROGRAMACION ORIENTADA OBJETOS Para nuestro propósito en general un objeto puede definirse como cualquier cosa. comer(). Las propiedades mas generales son forma. VentanaWindows–>Tamaño. color. nombre. color. color. tamaño. tamaño. edad. En particular cualquier objeto considerado presenta los siguientes tres elementos: a) Propiedades: Son las características propias de un objeto estas propiedades o atributos son los que permiten diferenciar o individualizar un objeto de otro objeto ya sea de la misma o diferente clase o categoría. ejemplo de métodos: Gato —> Maullar(). etc Alumno → Matricula. edad. correr(). nombre. los métodos son el hacer (que hacer) del objeto. peso. pero ya en particular: Chamarra → Marca. etc. Color.

asistir clase(). Un componente o propiamente dicho un control es un objeto que se especializa en una tarea especifica por . donde cada una de ellas contiene un conjunto de objetos. etc Un Programa en java jsp se puede considerar como un conjunto de una o mas paginas o formas. en general al momento de la relación al mismo tiempo se dará una reacción o respuesta por parte de los dos objetos que se manifiestan como una serie. esrayado(). c) Eventos: Es la relación (de varias maneras) que se puede dar entre dos objetos ya sean de la misma o diferente clase. preguntar(). etc. esborrado(). etc…. VentanaWindows–> Abrir(). correr(). cerrar(). correr() pasar lista(). componentes o controles. Un evento se manifiesta como un interacción entre dos objetos. cerrar() minimizar(). oler() bufar(). saltar(). etc maximizar(). ejemplo: Relaci ón detect gato detecta gata ar detect gato detecta perro ar maestro enseña Enseñ alumno ar Raton click click Windows Raton dblclk dblclk Windows Evento Métodos que se activan maullar(). maximizar(). pintear() Cuaderno–>Esescrito().Alumno—> Estudiar(). cadena o conjuntos de métodos propios que se activan o disparan. comer().

métodos y están sujetos a eventos. otros controles se especializan en desplegar imágenes o vídeos. otros en manipular directorios o archivos en disco. Pero en general tanto las formas como los controles no dejan de ser objetos en programación y por tanto tienen sus propiedades. . etc.ejemplo hay controles especializados en desplegar textos o mensajes.

getParameter("ALTURA")). se graba con extension .println("DAME LA BASE:<INPUT TYPE=TEXT NAME=BASE value="+base+"><BR>"). se hace un ftp al servidor y listo.altura=0. out.jsp <% // declarando int base=0.getParameter("OK") != null) { base = Integer. // construyendo forma dinamica out. El proceso de crear un jsp. double area=0. Empezamos con un pequeño ejemplo: prog1.0 .println("AREA:<INPUT TYPE=TEXT NAME=AREA value="+area+"><BR>"). }. es el servidor de paginas quien al estar mandando la pagina a la pc remota la compila y la convierte en un servlet.jsp METHOD=post>"). lo convierte a servlet y manda la pagina resultante al usuario remoto.println("<FORM ACTION=prog1. out. Esta tecnologia combina en una sola aplicación. altura = Integer. tanto codigo html como codigo java. area= base * altura / 2. lo compila.parseInt(request. es sencillo se crea un achivo normal con notepad combinando codigo html y codigo java. out. . En este modelo una pagina html tambien incluye codigo en java. es otra de las nuevas tecnologias para tratar de hacer mas eficiente el modelo clienteservidor y sobre todo la construcción de sistemas de comercio electronico.parseInt(request.println("DAME LA ALTURA:<INPUT TYPE=TEXT NAME=ALTURA value="+altura+"><BR>"). Cuando el usuario requiere un jsp el servidor lo carga.getParameter("BASE")).jsp.UNIDAD 1: JAVA JSP ELEMENTOS BASICOS TEMA 11: JAVA JSP ( JAVA SERVER PAGE ) Java Server Page. if(request.

txt). al folder web-inf luego ftp a tu sitio en LUNARPAGES y llamarlo con www.jsp Notas: 1. Otros delimitadores son: . out. %> corrida: Solo grabarlo como prog1.println("</FORM>"). Para insertar codigo java dentro de una pagina html se deberan usar una serie de tags o delimitadores ( en el ejemplo se esta usando < % una serie de instrucciónes de java %> ) donde cada uno de ellos tiene un proposito definido.jsp (ojo con notepad y su .LUNARPAGES/tusitio/prog1.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>").out.

empieza declarando variables. pero asegurarse de que todos los scriptlets se abran y se cierren. Instruccion <%= instruccion %> Para poner una y solo una instrucción de java. como se deduce de esta definición. and pageContext( tambien disponibles en scriptlets). Scriptlet <% todo un programa completo %> Un scriptlet es un grupo de instruciones de java. application. config. puede empezar (<%) en un scriptlet y terminar en otro scriptlet. Declaracion <%! Variables.Comentarios <%– comentario –%> Ignorados cuando jsp es convertida a servlet y muy utiles para documentar nuestros programas jsp. 2. esto se realiza al tiempo que la jsp es convertida en servlet. response. la instrucción no debe terminar con punto y coma. metodos. NOTA: HASTA AQUI SON LAS DIRECTIVAS O DELIMITADORES MAS COMUNES EN PROGRAMAS O APLICACIONES SENCILLAS . out. Aqui si. Para este caso tambien es valido: jsp:include action para incluir el archivo al tiempo de request por parte de un usuario remoto jsp:forward Action <jsp:forward page=“URL relativo”/> Manda llamar o enlazar otra pagina. se usara muchos scriptltes en nuestros jsp. Recordar ademas que cuando se use <%= una sola instrucción %>. las instucciones deben terminar con punto y coma Un bloque de instruciones <% bloque java %>. ademas recordar que ya existen aparte ciertas instrucciones o variables predefinidas tales como request. session. el url debe ser relativo. etc %> Recordar que todo buen programa. Include Directive <%@ include file=“url” %> Se usa para incluir achivos en la pc que compila la jsp.

La ultima parte de la pagina es FORM. la segunda parte es un metodo.3.println de java. . Se esta usando un objeto HTML submit del cual se usan las propiedades NAME y VALUE. 4. este objeto tiene como proposito principal activar la acción de la forma (llamarse a si mismo el prog1. todos los objetos html deberan estar encerrados entre esta forma o ventana. les recuerdo conseguir un buen tutorial de HTML y estudiarlo a fondo. Se esta usando tres objetos TEXT de html (ver apendice html).jsp) y ademas mandar los datos que proporciono el usuario hacia el servidor. 2. Al principio del programa se deberan declarar e inicializar a 0 o ”” todas las variables del programa. pero POST lo hace en forma invisible y GET lo hace en forma publica (probar el mismo programa con post y get y observar que pasa cuando activan el boton de submit). 7. no es una regla pero si es una buena practica de programación.. usando la instrucción( mejor dicho objeto OUT) out. de estos objetos se cargan su propiedad NAME y VALUE en este ultimo caso usando una variable normal de java jsp Poner atención dentro del programa que cuando creamos objetos HTML se declaran en mayusculas y cuando creamos variables java se declaran en minusculas. en ambos casos este metodo regresa los datos desde la pc del usuario hacia el servidor. es este caso es el metodo POST tambien se puede poner el metodo GET. form tiene dos propiedades la primera de ellas es una acción y en este caso la acción es pedirle al servidor que vuelva a ejecutarse el propio programa1 jsp. 5.En la parte de abajo se esta construyendo una pagina html dinamica. 6.

Recordar que todos los datos que entran o salen de un objeto html seran de tipo string. 9. recordar que cuando el usuario pide por primera vez el programa al servidor . 10. el value de SUBMIT pasa a valer “evento1”. Ya cargadas las variables se debera realizar la operación apropiada. ya que el usuario carga datos en los objetos TEXT y realiza un click en SUBMIT.GETPARAMETER( VALUE OBJETO HTML) para leer la propiedad VALUE de los objetos HTML y de paso cargarlos en las variables java apropiadas. 11. 12. recordar incluir estas variables en la forma dinamica. Se esta usando una instrucción IF para revisar el VALUE de SUBMIT. el VALUE del objeto SUBMIT es “null”. Se esta usando el objeto REQUEST. . Por la razón del inciso 10 se esta usando el metodo parseInt(string) para convertir la string a int. TAREAS PROGRAMACION JAVA JSP 15 DE LOS PROBLEMAS PROPUESTOS EN EL TEMA DE MODELO DE SOLUCION.8.

Password. TextArea. Submit. “Submit” y “Reset”. Reset. Radio. Propiedad Metod Eventos es os “form” “OnClick “click” Eventos Metod os “OnClick “click” ” “OnFocu “focus” s” . Hidden” “Controles Button”. Propiedades “form” “name” “value” “enabled” “checked” “defaultcheck ed” Control “Radio”. Select. Text.Apéndice: OBJETOS HTML “Button. CheckBox. Propiedad Metod Eventos es os “OnClick “form” “click” ” “OnFocu “name” “focus” s” “value” “enabled” Control “CheckBox”.

Propiedad Metod Eventos es os “form” “OnBlur” “blur” “OnFocu “name” “focus” s” “value” “enabled” Controles “Text” y “Textarea”s. Metod os “length” “OnBlur” “blur” “OnFocus “options” “focus” ” “selectedInd “OnChang Propiedades Eventos . Propiedad Metod Eventos es os “form” “OnBlur” “blur” “OnFocu “name” “focus” s” “value” “enabled” Control “Select”.“name” “value” “enabled” “checked ” ” “OnFocu “focus” s” Control “Password”.

Propiedad Event Metod es os os “name” “value” .ex” e” Control “Hidden”.

COM . “true”.Apéndice: Java Language Keywords Here's a list of Java's keywords. so you cannot use them as names in your programs either. “false”. “abstrac “double” t” “boolean “else” ” “break” “extends” “byte” “case” “final” “finally” “int” “strictfp” && “catch” “float” “char” “class” “for” “goto” & “interface “super” ” “long” “switch” “synchroniz “native” ed” “new” “this” “package “throw” ” “private” “throws” “protecte “transient” d” “try” “void” “volatile” “while” “const” “if” “public” % “continu “implemen “return” e” ts” “default” “import” “short” “instanceof “do” “static” ” % indicates a keyword that is not currently used %% indicates a keyword that was added for Java 2 JAVA.SUN. and “null” are not keywords but they are reserved words. These words are reserved–you cannot use any of these words as names in your Java programs.

UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 1: JAVA JSP INTRODUCCIÓN En este capitulo se continua siguiendo el esquema de trabajo ya planteado en el capitulo anterior. . es decir: Construcción de programas mezclando una pagina con forma html y un programa de tipo jsp.

UNIDAD 2: CONTROL DE PROGRAMA TEMA 2: JAVA JSP INSTRUCCIONES CONTROL DE PROGRAMA DE Instrucciones de control de programa permiten alterar la secuencia normal de ejecución de un programa. a. . derivados de html. Estas instrucciones categorías: se dividen en tres grandes 1. Instrucciones Condicionales que en java jsp se implemen tan con las instrucciones if y switch. Instrucciones de ciclos con  for  while  do while En java jsp muchas de ellas tienen sus correspondientes componentes visuales.

En java jsp algunos condicionales: si sueldo > 3000 desplegar rico si no desplegar pobre Fin-si si sexo = 'm' imprime mujer si no imprime hombre Fin-si De los ejemplos observar que los caminos a seguir por el computador dependerán de la evaluación que el computador hace con y de la condición.UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 3: JAVA JSP INSTRUCCIONES CONDICIONALES Una de las mas poderosas características de cualquier computador es la capacidad que tiene de tomar decisiones. ejemplos de instrucciones . Todo lenguaje de programación como java jsp debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones. Es decir al comparar dos alternativas diferentes el computador puede tomar una decisión basándose en la evaluación que hace de alguna condición.

diferenciadas entre si. Esto dependerá del valor que tenga asignado o que se haya capturado para la variable que esta en la condición. es decir tambien existen los objetos. • • • • son cuatro partes bien La propia instrucción condicional en si La condición El grupo cierto de instrucciones El grupo falso de instrucciones Cuando el computador evalúa una condición el resultado de esa evaluación solo es evaluado de dos maneras o la condición es CIERTA o la condición es FALSA. controles o componentes de selección y decisión en html. El formato general de una instrucción condicional es: Como se observa.Pero recordar que lenguajes modernos y orientados a clientes-servidores de igual forma tienen componentes que permiten del mismo modo al usuario tomar decisiones incluso directamente en pantalla. por ejemplo si se capturo 6000 en sueldo en el ejemplo a) entonces el computador indicaría que la condición es CIERTA pero en otro caso si a la variable sueldo primero se le asigno un valor de 250 .

. En este curso de java jsp empezaremos el análisis por la CONDICIÓN.entonces el computador indicaría que la condición es FALSA. el computador ejecuta las instrucciones contenidas en el grupo de cierto o falso respectivamente. Ya dependiendo del resultado de la evaluación.

000 o En java jsp una condición simple se define como el conjunto de variables y/o constantes unidas por los llamados operadores relaciónales. .UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 4: JAVA JSP CONDICIONES SIMPLES En general todas las condiciones se forman con: Variabl Operadores es Relaciónales sexo = sueldo > Constante Variables m 300.

compareTo(str2) que regresa cero (0) si str1 es igual str2. Se esta pidiendo cargar o asignar la variable sueldo con el valor 500 sueldo == 500. regresa un positivo si str1 es mayor que str2 y regresa un negativo si str1 es menor que str2. . sueldo = 500. contra el numero 500.UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 5: JAVA JSP OPERADORES RELACIONALES Los operadores relaciónales que reconoce java jsp son: Operad or == > < >= ⇐ != Significado Igual que Mayor que Menor que Mayor o igual que Menor o igual que No es igual que diferente que o es Tambien observar y tener cuidado sobre todo con el operador de igualdad (y el operador relacional de comparación por igualdad es decir. Para objetos derivados de la clase STRING se usara el metodo str1. Se esta pidiendo que se compare el valor o dato que se encuentra en la variable sueldo. En java jsp solo este ultimo formato es valido dentro de una condición en una instrucción condicional.

. Primus.println("DAME SUELDO:<INPUT TYPE=TEXT NAME=SUELDO value="+sueldo+"><BR>").Observar donde van y donde no van los puntos y comas..getParameter("SUELDO")).. }. if (sueldo >= 3000) { res="RICO". Secundus. // construyendo forma dinamica out..La condición va entre paréntesis . } else {res="POBRE". out. y la llave antes del else si terminaría con punto y coma. if (condición) { grupo cierto de instrucciones. su formato completo y de trabajo en java jsp es: cargar o asignar la variable de condición.} else { grupo falso de instrucciones.println("</FORM>").String res="".println("EVALUACION:<INPUT TYPE=TEXT NAME=RES value="+res+"><BR>").jsp METHOD=post>").getParameter("OK") != null) { sueldo = Integer.Si un if no ocupa un grupo falso de instrucciones entonces no se pone el else. out. if(request.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>").parseInt(request.println("<FORM ACTION=prog2. Tertius. out. }. Ejemplo: Prog2 jsp <% // declarando int sueldo=0. out.UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 6: JAVA JSP INSTRUCCIÓN IF Es la instrucción condicional mas usada en los diversos lenguajes de programación. }.

Capturar los datos mas importantes de una mercancia cualesquiera. 4.00.compareTo(“informatica”) == 0 ) TAREAS PROGRAMACION JAVA JSP 1. Capturar un numero entero cualesquiera e informar si es o no es múltiplo de 4 ( recordar el operador mod(%). 3. solo si el producto es de origen nacional. incluyendo cantidad. en caso contrario desplegarle un bono de despensa semanal de $150.%> Recordar que es valido usar mas de una instrucción dentro del grupo cierto o falso del if. Capturar un numero cualesquiera e informar si es o no es mayor de 100. Capturar los cinco datos mas importantes de un Empleado. etc. 5.00 en la semana. . Capturar los datos mas importantes de un estudiante incluyendo tres calificaciones construir una boleta de calificaciones en una pagina de respuesta bien bonita si el estudiante es de la carrera de medicina. desplegar una orden de compra. Recorar ademas que para el caso de strings usar: if ( carrera. en caso contrario construir una pagina mas bonita todavia que despliega un oficio citando a los padres del estudiante a una platica amistosa con los maestros de la escuela. 2. incluyendo el sueldo diario y los días trabajados desplegarle su cheque semanal solo si ganó mas de $500. en caso contrario no hacer nada. precio. analizado en el tema de operadores aritméticos).

compareTo(“informatica”) == 0 ) Notas: “NO” NEGACION . if ( carrera.UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 7: JAVA JSP CONDICIONES COMPUESTAS En muchas ocasiones es necesario presentar mas de una condición para su evaluación al computador. Una condición compuesta se define como dos o mas condiciones simples unidas por los llamados operadores lógicos. etc. Los operadores lógicos que java jsp reconoce son: OPERAD SIGNIFICADO OR && “Y” LOGICO “O” LOGICO ! Ejemplo: if ( (sueldo >100) && ( sexo=='m') ) etc. Y recordar que para comparar strings usar. etc. Por ejemplo que el computador muestre la boleta de un alumno si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70.

las dos condiciones simples deben ser ciertas. la cantidad total de casos posibles serian puede construir la siguiente tabla de verdad. si formamos una condición compuesta con dos condiciones simples y el operador lógico “y”. Ejemplo.Observar que cada condición simple lleva sus propios parentesis. Si la variable es de tipo string el dato va entre comillas(”). basta con que una de las condiciones simples sea cierta. Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico “||”. La cantidad total de casos posibles cuando se unen dos o mas condiciones simples esta dada por la relación donde n = cantidad de condiciones. Tabla de verdad con “y” IRA COND 2DA SIMPLE SIMPLE C C C F F C F F COND EVALUACI ON C F F F . la primera mitad de ellos empieza en cierto y la segunda mitad en falso. Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico ”&&”. pero si la variable es de tipo char el dato va entre apostrofes('). y se .

Cualquiera que sean la cantidad de datos procesados. 2. IRA COND 2DA SIMPLE SIMPLE C C C F F C F F COND EVALUACI ON C C C F Construir una tabla de verdad para una condición compuesta de tres o mas condiciones simples. solo recordar que. 1. la mitad empiezan con Cierto y la otra mitad empiezan con Falso. donde el primer operador lógico es el “y” y el segundo operador lógico es el “O”. se obtiene usando la regla anteriormente descrita para una condición compuesta. daría la siguiente tabla de verdad. Para evaluar esta condición triple primero se evalúan las dos primeras incluyendo su operador bajo las reglas ya descritas y luego se evalúa el resultado parcial contra la ultima condición y ultimo operador para obtener la evaluación final. es también tarea sencilla.La evaluación final. Esta tabla significa lo siguiente. La cantidad posible de casos es casos posibles. siempre caerá en uno de estos cuatro casos generales. La tabla de verdad para una condición compuesta con “Or” es la siguiente. Ejemplo una condición compuesta de tres condiciones simples. 1. Ira 2da Eval 1a Y 3ra Eval eval O . que contiene el operador “Y”.

desplegar una orden de compra si la cantidad en existencia del producto es menor que el punto de reorden. 4. Construir un programa que capture los datos de un empleado. . Construir un programa que capture un numero cualesquiera e informe si es o no es mayor de 50 y múltiplo de tres. ( solo escribir el mensaje de respuesta de manera muy clara y esto resuelve el problema ) 2. desplegar en una pagina su cheque semanal si gana mas de $500. Capturar los datos de una mercancia incluyendo su cantidad en existencia. en caso contrario desplegarle en otra pagina un bono de despensa del 25% de su sueldo semanal. 3.cond C C C C F F F F cond C C F F C C F F 2a C C F F F F F F cond C F C F C F C F 3ra C C C F C F C F TAREAS PROGRAMACION JAVA JSP 1. o si el origen del producto es nacional.00 y si esta en el departamento de producción. Construir un programa que indique si un numero es un par positivo.

UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 8: JAVA JSP INSTRUCCIÓN SWITCH También existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez. es decir enteras. si no encuentra el valor de igualdad entre variable y constante. en estos casos o se usa una condición compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instrucción SWITCH. aunque este ultimo es opcional. break. El formato de esta instrucción es el siguiente: capturar o asignar variable de condición. Esta instrucción es una instrucción de decisión múltiple donde el compilador prueba o busca el valor contenido en una variable ENTERA o CHARACTER contra una lista de constantes apropiadas. break. switch(var OPCION) { case const1: instrucción(es). case const2: instrucción(es). character. case const3: instrucción(es). ……………… default: instrucción(es). entonces ejecuta un grupo de instrucciones asociados a un default. break. . cuando el computador encuentra el valor de igualdad entre variable y constante entonces ejecuta el grupo de instrucciones asociados a dicha constante.

switch(letra) {case 'a': out. break. break.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). case 'c': out.println("aguila "). out. out.}. default: out. }. 2. break. %> TAREAS PROGRAMACION JAVA JSP 1.-4.println("baca ").println("<FORM ACTION=prog3.charAt(0). 5 .println("caballo ").println("DAME UNA LETRA:<INPUT TYPE=TEXT NAME=LETRA value="+letra+"><BR>"). Construir un programa que capture un deporte cualesquiera y despliegue dos implementos deportivos apropiados.println("no hay ").println("</FORM>"). if(request. // construyendo forma dinamica out. Evaluar cualquier función vista para cuando x =3.getParameter("OK") != null) { //recordar que TEXTBOX contiene una string letra=request. prog3 jsp <% // declarando char letra=' '. out. case 'b': case 'B': out.jsp METHOD=post>"). // observar que se puede escribir direcatmente a la pagina dinamica // esto es para los flojos }.getParameter("LETRA").

Ensenada. son por ejemplos Municipio en BC las posibles respuestas solo son (Tecate. Mexicali.UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA TEMA 9: CONTROL SELECT JAVA JSP Existen muchas ocasiones en donde el usuario del programa tiene que proporcionar datos que provienen de un conjunto finito y muy pequeño de posibles respuestas esto significa que cada vez que se ejecute el programa el usuario estará proporcionando las mismas respuestas. etc. otro ejemplo es Sexo (Hombre. Para situaciones como esta existen componentes html que permiten programar por adelantado las posibles respuestas y el usuario solo debe seleccionar la respuesta apropiada en lugar de tener que escribirla. Este control SELECT nos permite definir en primera instancia un conjunto de datos o valores respuestas asociados a una caja de edición cualesquiera así ahora el usuario tendrá la oportunidad de seleccionar un dato del conjunto de datos o respuestas ya predefinido.) . Ejemplo de esta clase de datos. Este componente SELECT DEBERA CONSTRUIRSE EN dos partes una parte de encabezado para poner el nombre del grupo de respuestas( por ejemplo municipios. sexo. Mujer). Tijuana. etc. Rosarito).

if (municipio. // construyendo forma dinamica out.-5.jsp METHOD=post>"). out. Evaluar la función para x = 2.println("</SELECT>").jsp <% // declarando String municipio="". out.compareTo("ENSENADA")==0) out. 3.println("HELADO").html con los datos de un automóvil(usar puros select) y construir dos paginas de salida o respuesta una con un plan de financiamiento a dos años u otra con un plan de financiamiento a tres años. out. Construir una forma. .println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). }.compareTo("MEXICALI")==0) out.println("<SELECT NAME=MUNICIPIO>").println("</FORM>").getParameter("OK") != null) { municipio =request.println("<OPTION>ENSENADA<OPTION>TECATE<OPTION>TIJUANA<OPTION>ME XICALI"). %> TAREAS PROGRAMACION JAVA JSP 1.compareTo("TIJUANA")==0) out. 8.La segunda parte es la lista de opciones o respuestas que se debe cargar al tiempo de ejecución de la forma html como lo muestra el siguiente programa: Prog4. out. if (municipio.println(municipio+" ="). out.getParameter("MUNICIPIO"). 2.println("<FORM ACTION=prog4. out. out.println("TIBIO").println("CALIENTE"). if (municipio. Arreglar un par de los programas anteriores agregandole este control a los que se puedan. if(request.println("<B>MUNICIPIOS</B>").

UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA TEMA 10: JAVA JSP CHECKBOX Y EXCEPCIONES El componente CheckBox . . permite seleccionar una opción al usuario del programa o tomar una decisión directamente en pantalla. Ejemplos de uso: Observar que dos o mas checkboxs pueden estar seleccionados a la vez.

println("<b>sexo:</b><br>"). try{ if (m.NullPointerException e){}.println("<input type=checkbox name=M checked>masculino<br>").compareTo("on")==0) out. }catch(java. }catch(java.getParameter("N"). 3. out.NullPointerException e){}. out. out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). }.getParameter("F").compareTo("on")==0) out. f=request. try{ if (n.println("femenino checado<br>"). %> <% // observar declaracion y usando las otras directivas if(request. n=request.println("<FORM ACTION=prog5.println("<input type=checkbox name=N checked>neutro<br>"). esta forma manda el par NAME = on solo de los checkbox que fuerón seleccionados.Codigo prog5 jsp <%! String m. out.getParameter("M").f. Para programar este componente: .compareTo("on")==0) out. try{ if (f.println("</FORM>"). grabarlo y subirlo como prog5.n.println("masculino checado<br>").jsp METHOD=post>").lang. %> Notas: 1. out. Cuando se activa prog5 jsp.NullPointerException e){}.println("neutro checado<br>"). out.com 2. La propiedad name debera ser diferente en cada checkbox usado.println("<input type=checkbox name=F >femenino<br>").getParameter("OK") != null) { m=request.lang. }catch(java. la propiedad checked se usa para que aparezca ya palomeado o seleccionado el control. // construyendo forma dinamica out. jsp a tu sitio en programacionfacil.lang.

solo recordar usar un if por cada checkbox. Muy sencillo el codigo de validación y no olvidar subirlo a tu sitio. ERRORES Y EXCEPCIONES Estos problemas de errores y excepciones que en java. Una EXCEPCION es creada tambien al tiempo de ejecución del programa cuando en alguna parte del programa se produce alguna condición no contemplada en el programa para el programa ejemplo del checkbox.Como ya se indico. Java tiene un mecanismo muy completo para el manejo de errores y excepciones. por ejemplo una division entre cero. esta forma va a mandar el par NAME=on asi que esto es sencillo en java jsp. se producen al tiempo de execución del programa son los problemas normales de mal codigo y que tambien se producen al tiempo de compilación no al tiempo de ejecucion del programa. un ERROR ocurre generalmente al tiempo de estarse ejecutandose un programa. este tema se refiere a eehhrorres y excepciones al tiempo de ejecución del programa. se crearon tres variables o mejor dicho tres objetos strings y cuando de la forma se manda solo una o dos de ellas cargadas con “on” algunas de las variables u objetos strings queda cargada con null(caso especial de strings) y al intentar hacer la comparación java avisa de una excepcion como se muestra en la siguiente pantalla ejemplo: .

Si errores o excepciones no son atrapadas(catch) el programa terminara su ejecución y mandara el aviso al usuario. La diferencia entre una EXCEPCION y un ERROR es que una excepcion si es atrapada(catch) por el programa y el programador permite recuperar el programa y continuar con su ejecución. mientras que un error aunque sea atrapado(catch) por el programa y el programador el programa suspendera y terminara su ejecución. como se demuestra en la pantallita de arriba. Es por esta razón que es conveniente y necesario atrapar (catch) errores o excepciones. asi el programador podra incluir algun mecanismo de corrección de errores o al menos de avisarle al usuario en lugar de que sea el servidor quien le avise.Esta excepción ocurrio al tiempo de ejecución del programa y por el problema ya descrito y explicado. Este mecanismo de correccion de errores es la clausula o instruccion .

y programar cada el if de cada CheckBox con la operación correspondiente y el despliegue del resultado). se puso en la clausula catch.Try{ Instrucciones normales de java. 2. }. Si aparecen mas errores o excepciones en un programa es valido que un try lleve mas de un catch. Un try-catch puede encerrar una instruccion de java. Evaluar la función para x = 2. . En resumen cuando en algun programa al tiempo de ejecución les aparezca un error o excepcion van a ocupar usar try-catch para atraparlo o corregirlo. Construir un pagina html con los datos de un automóvil y una segunda pagina muestra un plan de financiamiento a dos años y una tercera pagina muestra un plan de financiamiento a tres años. } catch(tipo de error o excepcion var de error){ inst de aviso o correc de error puede incluir la var de error . el tipo de error o excepcion a cubrir se los va a estar indicando el propio servidor de paginas como lo muestra la pantallita ejemplo de excepción y observar que la misma excepcion que aparecio en dicha pantallita. un grupo de instrucciones de java o todo el programa completo. TAREAS PROGRAMACION JAVA JSP 1. En el prog5 jsp se uso un try-catch en cada if. 8 (usar un CheckBox por cada valor de x. se pudo usar un try catch con todos los if's pero no se conoce de antemano cuales variables strings se quedan en null asi que fue mas conveniente revisar if por if.-5.

3.(se recomienda que en cada if construyan la forma o pagina de manera dinamica de la forma html que tienen en el programa correspondiente) . las opciones seran algunos de los programas ya hechos. Construir un programa de seleccion de menús.

Codigo prog6 jsp <%! String sexo. se deseleccionan solos es por esta razón que decimos que radiobotones son mutuamente excluyentes. }. out.println("carrera:<br>").jsp METHOD=post>").println("<input type=radio name=CARRERA value=sistemas checked>sistemas<br>"). out. out.println("sexo:<br>"). %> <% // es mejor esta declaracion no hay que inicializar if(request. out.println("</FORM>").println("carrera="+carrera+"<br>").println("<input type=radio name=SEXO value=masculino checked>masculino<br>"). out.UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 11: COMPONENTE RADIOBUTTON JAVA JSP Se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes entre si es decir si el usuario selecciona un componente radio todos los demás componentes radioButton en la forma. out.println("sexo="+sexo+"<br>").getParameter("OK") != null) { sexo=request.println("<input type=radio name=SEXO value=neutro>neutro<br>").println("<FORM ACTION=prog6.getParameter("CARRERA"). out. carrera. // construyendo forma dinamica out. carrera=request. out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). out.getParameter("SEXO"). out.println("<input type=radio name=CARRERA value=medicina>medicina<br>"). %> .println("<input type=radio name=SEXO value=femenino>femenino<br>"). out.println("<input type=radio name=CARRERA value=informatica>informatica<br>"). out.

mientras que en radiobutton es la misma para todo un grupo similar de ellos.1. asi que es bastante sencillo tomar el valor del radiobuton seleccionado y ya cargado este valor realizar o programar el proceso correspondiente. . La razón principal para esta situación es que los radiobotones son mutuamente excluyentes entre si Y QUE SOLO UNO PUEDE ESTAR ENCENDIDO A LA VEZ por eso los agrupamos con la propiedad NAME para que html los pueda considerar como dos o mas grupos diferentes. 2. CONSTRUIR UN CUESTIONARIO DE 6 PREGUNTAS SOBRE LOS HÁBITOS DE ESTUDIO DE UN ESTUDIANTE Y PASAR SUS RESPUESTAS A UNA PAGINA NUEVA. Recordar que en checkbox(tema anterior) la propiedad NAME debe ser distinta para cada uno de ellos. html va a regresar solamente el par NAME=VALUE de el radiobuton que este seleccionado.html. Observar que tenemos dos grupos de radiobotones uno con NAME=SEXO y otro con NAME=CARRERA sin embargo existen varios radiobotones y cada radiobuton tiene su propio valor o VALUE. TAREAS PROGRAMACION JAVA JSP 1. A diferencia del checkbox. Tambien tienen la propiedad checked para que aparezcan seleccionados al cargar el programa prog6 jsp 5. 4. 3. esto lo hace por cada grupo de radiobotones que tengamos en la forma html Recordar que html regresa un y solo un par NAME=VALUE por cada grupo de radiobutton's que existan en la forma.

LA PAGINA HTML TIENE NAME = X Y VALUE = 3. .2. 10 . EVALUAR UNA FUNCION CUALESQUIERA. -5.

El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo. x<=10.).UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA TEMA 12: JAVA JSP CICLO FOR Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez. x++) . condición. Su formato general es: for (inicialización. incremento) { instrucción(es). }. Se deben separar esos 3 argumentos con punto y coma (. EJEMPLO <% // mira ma'a sin usar forma for (int x=1. La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo. En su forma simple la inicialización es una instrucción de asignación que carga una variable de control de ciclo con un valor inicial. Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

}. for (x= 50 { etcétera }. el valor inicial de la variable debe ser mayor que el valor final.El ciclo comienza en uno y se incrementa de uno en uno este es el caso mas general.{ out. Los incrementos también pueden ser diferentes al de uno en uno.println("x= "+x+"<br>"). ej. Solo para los casos de incrementos y decrementos de una en una unidad substituir en el for. cambiar el sentido de la condición. Incluso pueden ser decrementos. b. Pero el valor inicial puede se diferente de uno. for (x = -3 . CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NÚMEROS DEL 20 AL 30. x=x+3){ etc. Incluso el valor inicial puede ser negativo. }. el x = x + 1 por x++ el x = x . ejemplo. 2. x= x-4 ) 6. DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAÑADOS DE SU POTENCIA CUADRADA Y ..}. ejemplo.x⇐15.. recordar.x⇐ 8. x >= 10. for(x=5. x=x+1) { etc. ejemplo. 5. for (x=1. 4.}. solo que en este caso. a. . 2. %> Casos Particulares del ciclo for: 1.x=x+1){ etc.1 por x– TAREAS PROGRAMACION JAVA JSP 1. x⇐ 20. 3. 1.

3.RAÍZ CUBICA RESPECTIVA(revisar el tema de operadores aritmeticos). EVALUAR LA FUNCION <m> Y=5X^2 + 3X + 8</m> CUANDO X–> -3…10 (RANGO DE -3 HASTA 10) . ACOMPAÑADOS DE SU FACTORIAL Y LOGARITMO RESPECTIVO(revisar el tema de operadores aritmeticos tambien). DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO INDIQUE. DESPLEGAR LOS MÚLTIPLOS DE 5. 4. ENTRE 10 Y 50. 5.

UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA TEMA 13: JAVA JSP CICLO WHILE En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina. %> <% x=1.html y activarlo desde ahí. excepto que si quieren pueden construir una forma. Prog8 jsp ejecutarlo directamente como se indico en el tema anterior. El grupo cierto de instrucciones puede ser una sola instrucción o todo un grupo de instrucciones. es poner un punto y coma(.) despues de la (condición) ejemplo while(condicion).println("x= "+x+"<br>"). x++. <%! int x. instrucción(es) para salir del ciclo. Un error muy comun con el while. }. %> While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que existan 2 de rompimiento o terminación de ciclo. Su formato general es : cargar o inicializar variable de condición. while(condición) { grupo cierto de instrucciones. while (x<=10) { out. ←-esto es y causa un error. }. .

Los casos generales de for tambien se aplican a while. DESPLEGAR MULTIPLOS DE 4 ENTRE 60 Y 20 ACOMPAÑADOS DE SU LOGARITMOS DE BASE 10 Y BASE e RESPECTIVOS. A este ciclo también se le conoce también como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la condición y posteriormente ejecuta las instrucciones. DESPLEGAR ENTEROS ENTRE 50 Y 80 2. 3. TAREAS PROGRAMACION JAVA JSP 1. 4.La condición puede ser simple o compuesta. . Evaluar una funcion cualesquiera para el rango de valores de x de -3 a +5. CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.

<%! int x. También se le conoce por esta razón como ciclo de condición de salida. es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición. Tareas Java Jsp 1. prog9. x++.jsp y ejecutarlo directamente( si quieren).tres del while . do { grupo cierto de instrucción(es). %> Otra diferencia básica con el ciclo while es que. } while (condición). aunque la condición sea falsa desde un principio el cuerpo de instrucciones se ejecutara por lo menos una vez. %> <% x=1.tres del for 2.println("x= "+x+"<br>").. do { out.. instrucción(es) de rompimiento de ciclo. }while (x<=10). Su formato general es : cargar o inicializar variable de condición.UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA INSTRUCCIONES DE TEMA 14: CICLO DO WHILE JAVA JSP Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo.

Si se quiere que al menos una vez se ejecute el ciclo entonces usar do while. Si se desconoce la cantidad de veces a repetir el ciclo o se quiere mayor control sobre la salida o terminación del mismo entonces usar while. Si se conoce la cantidad exacta de veces que se quiere que se ejecute el ciclo o si el programa de alguna manera puede calcularla usar for.UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA INSTRUCCIONES DE TEMA 15: JAVA JSP CONCLUSIONES ACERCA DE CICLOS En java Jsp el problema de dado un problema cualesquiera cual ciclo se debe usar se resuelve con: 1. . 2. 3.

porque solo permiten almacenar o procesar un dato a la vez. Es decir. Las variables usadas hasta ahora reciben propiamente el nombre de variables escalares. Cada dato dentro del arreglo se le conoce como elemento del arreglo y se simboliza y procesa (captura. Variables de tipo arreglo si permiten almacenar y procesar conjuntos de datos del mismo tipo a la vez. En java Jsp se ocupan entonces variables que sean capaces de almacenar y manipular conjuntos de datos a la vez. Por ejemplo si se quiere almacenar nombre y edad de 15 personas con el método tradicional se ocuparan 30 variables y solo es nombre y edad de 15 personas. agreguen mas datos y mas personas y ya es tiempo de empezar a analizar otro tipo de variables. operación. despliegue ) usando el nombre del arreglo respectivo y un subíndice indicando la posición relativa del elemento con respecto a los . variables escalares no son suficientes ya que su principal problema es que solo permiten almacenar y procesar un dato a la vez. en problemas que exigen manejar mucha información o datos a la vez.UNIDAD 3: JAVA JSP ARREGLOS TEMA 1: JAVA JSP INTRODUCCION Uno de los problemas mas comunes en los diversos sistemas de información es el tratamiento o procesamiento de una gran volumen de datos o de información.

solo recordar que en JAVA JSP la primera posición. NOMBRES Juan – >nombres(0) Pedro → nombres(1) Rosa –> nombres(2) Jose –> nombres(3) Sin embargo sus problemas son similares a los de variables normales es decir hay que declararlos. desplegarlos. compararlos. ej.demás elementos del arreglo. elemento o renglón es el 0 (cero). capturarlos. . hacer operaciones con ellos. etc.

ENE FEB MAR ABR MAY SUC 1 20 30 40 A 0 . matrices o bidimensionales en ambos casos son variables que permiten almacenar un conjunto de datos del mismo tipo a la vez. vectores o unidimensionales y los arreglos tipo tablas.UNIDAD 3:JAVA JSP ARREGLOS TEMA 2: JAVA ARREGLOS JSP En programación tradicional siempre se manejan dos tipos de arreglos los arreglos tipo listas. cuadros. a) LISTAS EDAD 1 8 3 4 2 2 1 5 B) TABLAS CIA ACME ING MENS VTAS (MILES DE $) ……. como en los siguientes ejemplos. concentrados. su diferencia es en la cantidad de columnas que cada uno de estos tipos contiene.

SUC 5 60 70 80 B 0 SUC 9 10 11 12 D 0 0 0 0 En java Jsp se observa la diferencia principal entre un arreglo tipo lista y un arreglo tipo tabla son las cantidades de columnas que contienen. NOTA IMPORTANTE.- LOS CONCEPTOS MANEJADOS AQUI ESTAN ENFOCADOS A LOS SISTEMAS DE INFORMACION CONTABLES FINANCIEROS ADMINISTRATIVOS. EN ALGEBRA MATRICIAL, SI SON IMPORTANTES LOS CONCEPTOS DE VECTORES Y MATRICES, PERO LAS OPERACIONES Y METODOS SON PRECISAMENTE LOS DEL ALGEBRA MATRICIAL.

UNIDAD 3: JAVA JSP ARREGLOS
TEMA 3: JAVA JSP ARREGLOS TIPO LISTA
Un arreglo tipo lista se define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o mas renglones. También reciben el nombre de vectores en álgebra o arreglos unidimensionales en programación. Los procesos normales con una lista o con sus elementos, incluyen declarar toda la lista, capturar sus elementos, desplegarlos, realizar operaciones con ellos, desplegarlos, etc. Para declarar una lista se usa el siguiente formato; tipodato nomlista[]= new tipodato[cant elementos]; SORPRESA, no existen en java jsp arreglos o listas tradicionales lo que existe es un objeto, por tanto se debera usar el operador new antes de empezar a procesar el arreglo, la ventajas son: a) estas listas pueden usar el metodo length,(ejemplo nomlista.length;) para conocer el tamaño de la misma. int edades[]= new int[12]; float sueldos[]=new float[5]; String municipios[]={“tijuana”,”tecate”,”ensenada”}; en este ulimo caso, observar que tambien pueden crearse listas ya con tamaño fijo e inicializadas o cargadas.

notas: Recordar también que la primera posición o renglón en una lista es la posición o renglón 0 (cero). Prog10 jsp
<%! int edad[]=new int[5], ren=0; %> <% String temp1=request.getParameter("INSERTAR"); if(temp1==null)temp1=" "; if(temp1.compareTo("insertar")==0){ if(ren < 5){ edad[ren]=Integer.parseInt(request.getParameter("EDAD")); ren=ren+1;}; if(ren==5){out.print("ARREGLO LLENO");}; }; if(request.getParameter("SUMAR") != null ) { // operaciones for(ren=0; ren<=4; ren++) edad[ren]=edad[ren]* 12; // DESPLEGANDO EN OBJETO LISTA DE HMTL CON BULLETS FOR NORMAL out.println("EDADES EN MESES"); out.println("<UL>"); for(ren=0;ren<=4;ren++) {out.println("<LI>"+edad[ren]); }; out.println("</UL>"); // DESPLEGANDO EN OBJETO LISTA DE HMTL FOR NORMAL out.println("<OL>"); for(ren=0; ren<=4; ren++) { out.println("<LI>"+edad[ren]); }; out.println("</OL>"); // DESPLEGANDO USANDO OBJETO TABLE DE HMTL FOR NORMAL out.println("<table border=2><tr><th>EDADES EN MESES</th></tr>"); for(ren=0; ren<=4; ren++) { out.println("<tr><td>"+edad[ren]+"</td></tr>"); }; }; // construyendo forma dinamica out.println("<FORM ACTION=prog10.jsp METHOD=post>"); out.println("DAME EDAD:"+ren+"<INPUT TYPE=TEXT NAME=EDAD>"); out.println("<INPUT TYPE=SUBMIT NAME=INSERTAR VALUE=insertar ><BR>"); out.println("<INPUT TYPE=SUBMIT NAME=SUMAR VALUE=sumar><BR>"); out.println("</FORM>"); %>

Notas: Se están usando dos SUBMIT en el programa, el primero de ellos para insertar los elementos en la lista y el segundo para convertirlos a meses. Es por esta razon que primero se lee el TEXTBOX “INSERTAR” y si trae “null” se cambia por un especio en blanco, la razon es porque java no permite

“tijuana”. Se esta usando una variable contador llamada “reng” para controlar tantos los indices de la lista o vector asi como para controlar la cantidad de elementos que se van a insertar en el arreglo.18}. 65. “ensenada”}.comparar strings contra “null”. Para este programa ejemplo se usaron los dos casos mas comunes de listas en html (UL y OL) ver tutorial y tambien se uso Table de html. por supuesto que en sus programas normales deberan usar un solo caso de estos tres de preferencia el TABlE.85. se deberá usar un ciclo for con una variable entera llamada renglón misma que también se usa como índice de la lista.33}. Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez.16.17. “rosarito”. 33.30. Para inicializar una lista se debe usar el siguiente formato: tipodato nomlista[]={lista de valores}. String *ciudad[]={“tecate”. TAREAS PROGRAMACION JAVA JSP “mexicali”. Recordar que todos los datos internos de la lista estarán almacenados en la memoria ram del computador. para despliegues se pueden usar varios tipos de objetos y controles de html(LIST y TABLE revisar tutorial de html). . ej: int edad[4]={15. float sueldo[3]={40.

3. desplegarlos aumentados en un 25%. incluyendo nombre. Capturar 4 sueldos. . 2. precio y cantidad en sus 3 listas respectivas( se vale inicializar los arreglos de nombre y precio). Capturar y desplegar 5 precios de mercancias cualesquiera. Capturar los datos de 5 mercancias comprados en una tienda. después calcular una cuarta lista con el gasto total por cada producto desplegarlo todo e incluir también el gran total.1.

uno externo para controlar renglón y uno interno para controlar columna. Para capturar sus elementos. ejemplo. Los elementos de la tabla se deberan simbolizar con el nombre de la tabla y 2 subindices. ejemplo: int calif[][]=new int[3][4]. La declaración de una tabla sera de acuerdo a los siguientes formatos: 1) tipodato nomtabla[][]= new tipodato[reng][col]. el primer subindice referencia al renglon y el siguiente subindice referencia la columna los dos dentro del mismo corchete. Para procesar ( recordar solo operaciones y comparaciones) internamente todos los elementos de la tabla se ocupan dos ciclos for(). usaremos procedimiento desarrollado con listas. 2) Clasenumerica constructor[ren][col]. double ingresos[][]= new double[3][4]. el . objetotabla[][]= new Integer calif[][]= new Integer[2][3].UNIDAD 3: JAVA JSP ARREGLOS TEMA 4: ARREGLOS BIDIMENSIONALES TIPO TABLA Un arreglo tipo tabla se define como un conjunto de datos del mismo tipo organizados en dos o mas columnas y uno o mas renglones. Double ingresos[][]=new Double[3][4].

col++) { out.col<=2.col++) edad[ren][col]=edad[ren][col]*12.}.println("<FORM ACTION=prog11. col=col+1.println("<table border=2><tr><th>EDAD EN MESES</th></tr>"). if(col == 3){col=0. out. col.jsp METHOD=post>"). %> Notas: Observar el formato de declaración y como se controlan los indices de captura reng.println("</FORM>").Para efectuar otros procesos tales como operaciones despliegue con todos los elementos de la tabla se deberan usar 2 ciclos un for externo para controlar renglon y un for interno para controlar columna. Notas: El for reng tiene su propio grupo de instrucciones encerrados entre {}. out. out.println("<INPUT TYPE=SUBMIT NAME=MESES VALUE=meses><BR>").parseInt(request. ren<=1. col=0. for(ren=0. Prog11 jsp <%! int edad[][]=new int[2][3]. for(col=0. if(ren==2) {out.col<=2. if(temp1. %> <% String temp1=request.println("<tr>"). // construyendo forma dinamica out.print("TABLA LLENA"). }. }.}.println("DAME EDAD:"+ren+". if(temp1==null)temp1=" ". // DESPLEGANDO USANDO OBJETO TABLE DE HMTL FOR NORMAL out. . }. ren=0. Mientras que el for col solo tiene una instrucción que ejecutar el print(celda ).println("<INPUT TYPE=SUBMIT NAME=INSERTAR VALUE=insertar ><BR>"). if(request. ren++) { out. }.}. ren<=1.getParameter("INSERTAR").getParameter("EDAD")).getParameter("MESES") != null ) { // operaciones for(ren=0.println("<td>"+edad[ren][col]+"</td>").println("</tr>")."+col+"<INPUT TYPE=TEXT NAME=EDAD>").ren=ren+1. out. out. ren++) for(col=0.compareTo("insertar")==0){ if(col < 3){ edad[ren][col]=Integer.

6 }.3. se debera usar el siguiente formato: tipodato nomtabla[2][3]={1. QUE SE PRODUCEN EN TRES PLANTAS DIFERENTES DE UNA EMPRESA MAQUILADORA. CONSTRUIR UN CUADRO QUE CONTENGA LAS COMISIONES GANADAS POR TRES VENDEDORES. TAREAS PROGRAMACION JAVA JSP 1. 2.2. CONSTRUIR UN CUADRO QUE CONTENGA LOS INGRESOS MENSUALES POR VENTAS DURANTE LOS TRES PRIMEROS MESES DEL AÑO DE CUATRO SUCURSALES DE UNA CADENA DE AUTO REFACCIONES.el ultimo print(</termina renglon) es del ciclo for reng). AGREGAR AL FINAL UNA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR MESES Y UNA SEGUNDA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR SUCURSAL(2 programas uno capturado y otro inicializado). Para inicializar tablas.5. CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS DE CUATRO PRODUCTOS CUALESQUIERA. ADEMAS LISTAS DE COMISIONES TOTALES Y PROMEDIOS GANADAS POR LOS VENDEDORES. El renglon de encabezado solo tiene una celda.4. ASI COMO LISTAS DE . por eso los otros dos renglones con mas celdas se ajustarón por su cuenta. para corregir esta situación revisar su tutorial de html(TABLE). 3. DE LOS 5 TIPOS DE LINEA BLANCA DE CONOCIDA MUEBLERIA.

ANALIZAR ESTE CODIGO: ' PARA TOTALES Y PROMEDIOS POR RENGLON FOR R = 0 TO 3 FOR C = 0 TO 2 TOTRENG(R) = TOTRENG(R) + TABLA(R.C) NEXT R PROMCOL(C) = TOTCOL(C) / 4 NEXT C SUGERENCIA: CONSTRUIR PRIMERO LOS CUADROS EN PAPEL. .COMISIONES TOTALES Y PROMEDIOS POR TIPO DE LINEA BLANCA(inicializado).C) NEXT C PROMRENG(R) = TOTRENG(R)/3 NEXT R 'PARA TOTALES Y PROMEDIOS POR COLUMNA FOR C = 0 TO 2 FOR R = 0 TO 3 TOTCOL(C)=TOTCOL(C) + TABLA(R.

UNIDAD 4: JAVA PROGRAMACION ORIENTADA OBJETOS TEMA 1: DECLARACIONES o PROCEDIMIENTOS JAVA JSP Un camino para dividir un gran programa en partes mas pequeñas es el uso de declaraciones. Es decir una declaracion es un modulo de un programa que realiza una tarea especifica y que no puede regresar valores al programa principal u a otro procedimiento que lo este invocando. etc.} %> Un programa puede tener tantos procedimientos como se deseen. variables. Una declaración es un grupo de instrucciones. constantes. Su formato es: <%! void Nom_decl(){instrucciones. Las declaraciones se construyen antes del cuerpo principal del programa. Despue de escribir una declaración se usara ese nombre propio como una sola instrucción o llamada. que estan diseñados con un próposito particular y tiene su nombre propio. para hacer una llamada o invocación a el procedimiento durante la ejecución de un programa se debera escribir el nombre dela misma y los parentesis en blanco. . es decir en la parte declarativa.

println("DAME LA ALTURA:<INPUT TYPE=TEXT NAME=ALTURA value="+altura+"><BR>"). %> <% // no usar objetos request y out fuera de scriptlet // porque no estan creados por java todavia if(request.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). out. // construyendo forma dinamica out.}. d) Fin de menu. altura = Integer.println("AREA:<INPUT TYPE=TEXT NAME=AREA value="+area+"><BR>"). out.getParameter("BASE")). double area=0.jsp <%! int base=0.println("<FORM ACTION=prog12. void proc1(){ area= base * altura / 2. a) Pesos a dolares. out. b) Area de un triangulo.parseInt(request.0 .jsp METHOD=post>"). c) Emitir Boleta. Menu.println("DAME LA BASE:<INPUT TYPE=TEXT NAME=BASE value="+base+"><BR>").altura=0. out.getParameter("OK") != null) { base = Integer. TAREAS PROGRAMACION JAVA JSP Construir un programa java jsp que contenga puras llamadas a procedimientos dentro de un menu. %> Recordar que no se deben usar los objetos REQUEST y OUT antes de la parte principal del programa (esto porque java convierte el jsp a un servlet y la creación de REQUEST y OUT lo hace despues. generando errores de objetos request y out desconocidos). }. // llamando o invocando procedimiento uno proc1().println("</FORM>"). out. .Prog12.getParameter("ALTURA")).parseInt(request.

UNIDAD 4: JAVA ORIENTADA OBJETOS JSP PROGRAMACION TEMA 2: PARAMETROS JAVA JSP Un parametro es una variable que puede pasar su valor a un procedimiento desde el principal o desde otro procedimiento.getParameter("OK") != null) { base = 10. %> <% // no usar objetos request y out fuera de scriptlet // porque no estan creados por java todavia if(request.println("AREA:<INPUT TYPE=TEXT NAME=AREA value="+area+"><BR>"). double altura=0. Estos valores que se pasan del cuerpo principal del programa al procedimiento se llaman parametros.jsp <%! int base=0. double area=0. void proc1(int a. out. Existen ocasiones en que es necesario mandar al procedimiento ciertos valores para que los use en algún proceso. double b){ area= a * b / 2.3. out. // construyendo forma dinamica out.println("DAME LA ALTURA:<INPUT TYPE=TEXT NAME=ALTURA value="+altura+"><BR>"). out. altura = 3. .1416.}. }.1416). }.0 .println("<FORM ACTION=prog13. %> prog13.println("DAME LA BASE:<INPUT TYPE=TEXT NAME=BASE value="+base+"><BR>"). // llamando o invocando procedimiento uno y pasando parametros // recordar que se pueden mandar datos o variables proc1(base. Entonces una declaracion completa es: <%! void NomProc(lista de parametros) { cuerpo de instrucciones.jsp METHOD=post>").

out. orden y tipo a las variables que reciben. Capturar el nombre y las 3 calificaciones en un procedimiento. 2.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). La variable que se recibe tiene un ambito local dentro del procedimiento. TAREAS PROGRAMACION JAVA JSP 1. es decir solo la puede usar ese procedimiento. 4. Cuando se usan variables como parametros. 3. . la que se recibe puede tener otro nombre. La cantidad de variables que se envian deben ser igual en cantidad. La variable que se manda tiene un nombre. la variable que se manda debe ser declarada dentro del principal o del procedimiento de donde se esta enviando. Construir una tabla de multiplicar que el usuario indique captura y control de ciclo en el principal. imprimir nombre y promedio en principal 2. Construir un procedimiento que reciba un numero entero y que mande llamar a un segundo procedimiento pasando el letrero “PAR O IMPAR”. out.println("</FORM>"). 3. calculo en un procedimiento. calcular promedio en un segundo. %> REGLAS PARA EL USO DE PARAMETROS 1.

podra actuar como variable local en esa función o procedimieto. donde despues de haber recibido el valor.UNIDAD 4: JAVA JSP PROGRAMACION ORIENTADA OBJETOS POO TEMA 3: JAVA JSP VARIABLES LOCALES Y GLOBALES En java Jsp el lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable. En tercer lugar es fuera de todas las funciones pero dento de la parte declarativa <%! … %>. En segundo lugar es como parametro de una función o procedimiento. a este tipo de variables se les llama variables globales y podran . Las reglas basicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar una variable. a estas se les llama variables locales y solo pueden ser usadas por instrucciones que esten dentro de esa función o procedimiento. En escencia una variable local solo es conocida por el código de esa función o procedimieto y es desconocida por otras funciones o procedimientos. En primer lugar es dentro de cualquier función o procedimiento incluyendo main.

ser usadas por cualquier función o procedimiento del programa. .

. estas variables actuan como locales dentro del cuerpo de la funcion. La lista de parametros formales es una lista de variables separadas por comas (. Si no se especifica un tipo se asume de default que el tipo regresado es int. %> El tipo especifica el tipo de valor que la funcion regresara utlizando la instrucción return. INSTRUCCION RETURN Dentro del cuerpo de la función deber haber una instrucción return cuando menos. La forma general de una funcion es: <%! tipodatoregresa Nom_fun(parametros) { cuerpo de instrucciones. que realiza una tarea especifica y que puede regresar un valor a la parte principal del programa u otra funcion o procedimiento que la invoque. }.UNIDAD 4: JAVA JSP PROGRAMACION ORIENTADA OBJETOS POO TEMA 4: JAVA JSP FUNCIONES En jaba jsp una funcion es un modulo de un programa separado del cuerpo principal.) que almacenaran los valores que reciba la funcion. La declaracion de parametros es la especificacion de cada tipo de parametro recibido. intruccion return. para regresar el valor. esta instrucción permite regresar datos. Aunque no se ocupen parametros los paréntesis son requeridos.

3). // construyendo forma dinamica out. Las segundas funciones son aquellas que manipulan información y regresan un valor que indican la terminacion o la falla de esa manipulacion.println("<FORM ACTION=prog14.jsp METHOD=post>"). }. Ejemplo. out.println("RESULTADO:<INPUT TYPE=TEXT NAME=RESULTADO value="+res+"><BR>"). res= alfa. } EXISTEN 3 CLASES USUALES DE FUNCIONES.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). %> Es permitido poner mas de un return en el cuerpo de instrucciones sobre todo en condiciones.5) + 3 + funcion1(2. . out. double b){ return a * b. } else { return 20.getParameter("OK") != null) { // llamando o invocando funcion uno y pasando parametros // recordar que se pueden mandar datos o variables double alfa=funcion1(2. Las primeras son de tipo computacional que son diseñadas para realizar operaciones con los argumentos y regresan un valor basado en el resultado de esa operación.println("</FORM>").Prog14 jsp <%! double res=0. pero solo un return se ejecutara. out. double funcion1(int a. }. 3. %> <% // no usar objetos request y out fuera de scriptlet // porque no estan creados por java todavia if(request. if (suma >= 10) { return 10.2.

una funcion lo graba con el 20% de iva si es nacional. Construir una funcion que nos regrese el triple de cualquier numero. TAREAS PROGRAMACION JAVA JSP 1. . despliegue en el principal. es decir son estrictamenta procedurales. Imprimir nombre y promedio de un alumno. capturar 3 calificaciones y nombre en un procedimiento. 3. captura y control de ciclo en el principal. 4. 5. Crear una tabla de multiplicar. calcular promedio en una funcion y desplegar 2. Construir una funcion que nos regrese la letra “I” o “P” si el numero que recibio fue impar o par respectivamente. Construir un programa que emita una factura si el articulo es importado. la misma funcion lo graba con el 15% de iva si no lo es. operaciones en una funcion.Las terceras son aquellas que no regresan ningun valor.

UNIDAD 4: JAVA JSP PROCEDIMIENTOS Y FUNCIONES
TEMA 5: JAVA JSP ARREGLOS COMO PARAMETROS
Para pasar un arreglo completo como parametro a un procedimiento a una función solo se manda el nombre del arreglo sin corchetes e indices, en el procedimiento o función que recibe solo se declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre del arreglo sin corchetes e indices. Sin embargo es conveniente aclarar, que a diferencia de variables escalares normales, java no genera una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en su lugar java sigue usando los datos que estan en el arreglo original, es por esta razón que cambios que se le hagan a los datos del arreglo que recibe realmente se esta haciendo al arreglo original como lo muestra el siguiente ejemplo: Prog15 jsp
<%! //recordar que r es global int r; void decl1(int alfa[]) { for(r=0;r<=2;r++) alfa[r]=alfa[r]+10; };

%> <% // no usar objetos request y out fuera de scriptlet // porque no estan creados por java todavia if(request.getParameter("OK") != null) { int eta[]={3,4,5}; decl1(eta); for(r=0;r<=2;r++) out.println("eta="+eta[r]+"<br>"); }; // construyendo forma dinamica out.println("<FORM ACTION=prog15.jsp METHOD=post>"); out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>"); %>

Es de recordar que los cambios que le hagan al arreglo dentro de la función se reflejaran en el arreglo original, es por esto que si se quiere modificar un arreglo en una función no hay necesidad de regresar ningun valor. TAREAS PROGRAMACION JAVA JSP 1. Inicializar 10 edades en el principal mandar la lista a un procedimiento que la convierte a meses, desplegar en principal. 2. Capturar un arreglo de 7 ciudades en principal, sortear u ordenar o alfabetizar (sorteo burbuja) en un procedimiento y desplegar en principal tanto la lista original como la lista ordenada.

proceso. etc. Problema B: Resolver el problema de almacenar en forma permanente los datos que se generan dentro de un programa ya sea por captura. El problema (A) se resuelve usando el concepto de estructuras o registros el problema (B) se resuelve usando el concepto de archivos. Problema A: Variables que puedan almacenar un conjunto de valores y no necesariamente del mismo tipo. .UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 1: INTRODUCCION JAVA JSP Antes de empezar a programar en serio se estudian en esta unidad dos problemas.

Un registro es una variable especial que tiene la capacidad de almacenar datos de diferentes tipos. en este caso ni variables escalares ni arreglos son adecuados. Este metodo tiene la ventaja de que ademas los campos tradicionales de un registro (en atributos) tambien puede incorporar una metodos que permiten procesar de manera los campos o atributos de la clase.UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 2: REGISTROS JAVA JSP Ya se ha visto como variables simples pueden almacenar una sola pieza de información y como arreglos pueden almacenar un conjunto de ellas del mismo tipo y al mismo tiempo. }. alumno. Para resolver estos problemas los lenguajes de programación proveen de un tipo de dato especial llamado registros.edad=18. static String nombre= new String(). pero a menudo se necesita trabajar sobre datos de diversos tipos. Ejemplo.nombre="pepe el toro". class alumno{ void alumno(){}. void desplegar(){ de incluir forma de serie de mas facil . void inicializar(){ alumno. Sin embargo JAVA usa en su lugar una CLASE. static int edad. estos dos mecanismos pueden manejar una gran variedad de situaciones.

println(alumno.edad). alumno. capturarlo y desplegarlo un numero indeterminado de veces.nombre="pepe el toro".out.println("</FORM>"). la razón ya se explico anteriormente.jsp.getParameter("OK") != null) { alumno. out. aumentar sueldo en 25% y desplegar. }.println("<FORM ACTION=prog16.edad). // construyendo forma dinamica out.System. Crear una clase de alumno que incluya un metodo que capture 3 califaciones. <%! static class alumno{ static String nombre=" ". static int edad=0.jsp METHOD=post>"). nomclase. out.out. . %> Recordar no usar objetos OUT.nombre).println(alumno. System. 3. Capturar una clase o registro de empleados.println(alumno.nombre). }. Request en la parte declarativa de el programa.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"). out. }. 2.nombredelcampo TAREAS PROGRAMACION JAVA JSP 1. out. static void inicializar(){ alumno.println(alumno. void alumno(){}. } // termina la clase Programa 16.inicializar(). %> <% if(request. Para indicar a “java” durante cualquier proceso que la variable a utilizar es un campo de una clase se debera utilizar el siguiente formato.edad=18. }. Declarar una clase o registro de empleado.

UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 3: JAVA JSP ARCHIVOS (INTRODUCCION) Si bien es cierto que ya se pueden manejar gran cantidad de datos del mismo y diferente tipo al mismo tiempo. De esta situación nace el concepto de archivos que son medios que facilita el lenguaje para almacenar los datos en forma permanente normalmente en los dispositivos de almacenamiento standar. Capturar una clase o registro de cuentas por cobrar. el problema es que al terminar de ejecutarse el programa los datos se pierden. ESCRIBIR O GRABAR: Es la operacion mas elemental con un archivo consiste en tomar un . mandar imprimir un aviso si el saldo esta atrazado.4. Operaciones basicas con archivos: 1. En general es necesario entender algunos conceptos elementales de sistemas de archivos tradicionales. Como nota a tomar en cuenta los datos que se van almacenando en un archivo de disco se almacenan en renglones consecutivos y cada renglon en disco se conoce como registro del archivo favor de no confundir el concepto de registro de archivo y registro o estructura como variable ya analizada son dos cosas totalmente diferentes aunque se llamen igual.

. arreglo.Para este caso si se puede acceder o leer un renglon n cualquiera.o unos datos en variables de cualquier tipo (escalar. se debera recorrer o accesar los n-1 registros anteriores. de ints. mezcla de datos. etc. LEER: Operación consistente en sacar los datos del archivo en disco y mandarlo o cargar la variable respectiva Organización de archivos: En general existen dos tipos de archivos: 1.En este caso los datos se almacenan en forma consecutiva y no es posible leer (recuerdan que significa esta operación) ningun registro (recuerdan la nota de arriba) directmente es decir para leer el registro n. 2. Archivos Secuenciales. formateados. Archivos Directos o Random.. ATENCION: Ya que se decide utilizar algun archivo especifico de datos (caracteres. de chars. Tipo de archivos: A) En general. Almacenamiento en arhivos: . structuras) y almacenarlas en un archivo de datos en disco. strings. 2. registros o arreglos) solo utilizar las funciones de escritura y lectura de ese tipo de archivo por ningun motivo mezcle funciones de lectura y escritura de otro tipo de archivos. de floats. existen tantos tipos de archivos como tipos de datos existen es decir existen archivos de bytes.

Modo Texto: en este caso los datos son almacenados usando codigp ascii y por tanto son plenamente visibles usando cualquier editor. Modo Binario: en este caso los datos son almacenados en notación hexadecimal y por tanto se ocupa un editor binario para reconocerlos sin embargo un archivo binario es mas compacto que un archivo texto.1. 2. .

98. mientras que apertura siempre se esta realizando por los programas especializados en algun proceso. .En este caso se pretende abrir un archivo ya existente en disco para procesarlo. scandisk 4. /s. tipo y especialidad de almacenamiento de datos apropiado. 3.. o leer algun registro en especial para mandarlo a una variable de cualquier tipo.En este proceso se pretende solamente crear un archivo nuevo en disco. No confundir creación con apertura creación es un proceso que solo se ejecuta una sola vez en la vida de un archivo.. ya sea cargar o grabar datos en sus registros. Apertura de Archivos.FAIL.En este proceso se carga una clase en memoria con sus datos pertinentes y se graba la clase en el archivo en disco. Altas en archivo. con su nombre..RETRY. Cierre de archivos: Es la operación mas importante en cualquier programa que maneje archivos o se cierra el archivo como ultima instrucción del pograma o se vera el anuncio ABORT. Creación de Archivo. 2.UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 4: JAVA JSP ARCHIVOS SECUENCIALES PLANOS Existen ademas muchas otras operaciones asociadas a archivos las mas elementales son: 1.

etc. donde los datos originales ya grabados se tienen que cambiar o actualizar. Consulta de archivos: En este proceso se pretende desplegar todos los registros del archivo en disco a la pantalla ya sea consola o mejor aún. Busqueda en archivos: Una de las operaciones mas comunes. generalmente el campo clave de la clase. consiste en que el usuario pide toda la información de algun renglon en disco.En este proceso el usuario esta interesado en algun conjunto de renglones con caracteristicas comunes (condición).. . 10.En este proceso. o la calificación no es 100 es 20. porporcionando la información de algun campo.. el cliente huyo. a una pagina html 7. a una clase en memoria para su procesamiento. etc. por ejemplo todos los alumnos de “sistemas”. o todos los empleados que ganen mas de $500. etc 9.00 pesos. 8.5. Bajas de registros: tambien muy comun este proceso por ejemplo el alumno ya egreso. Modificaciones de registros o archivos: Problema muy comun. 6. Filtros. se abre el archivo y se manda el registro de disco. Lectura de archivo. o todos los clientes que sean de “tijuana”. por ejemplo el nombre no era “juan” es “juana”.

*" %> <% // declarando int clave=0. out. archivo. // construyendo forma dinamica out. out.parseFloat(request. try { // creando archivo en append archivo = new DataOutputStream(new FileOutputStream("c:\\archivo1.io.parseInt(request. } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}.getParameter("CLAVE")).println("ESTATURA :<INPUT TYPE=TEXT NAME=ESTATURA><BR>"). }. out. float estatura=0.UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 5: GRABACION ARCHIVO SECUENCIAL JAVA JSP Grabación y lectura son los dos procesos mas comunes con archivos disco en cualquier lenguaje de programación.getParameter("NOMBRE"). . Codigo de grabación: Prog17.println("CLAVE :<INPUT TYPE=TEXT NAME=CLAVE><BR>").getParameter("INSERTAR") != null) { // capturando datos clave=Integer.String nombre="".getParameter("ESTATURA")). out.jsp METHOD=post>"). out. estatura=Float.println("</FORM>"). if(request.true)).writeInt(clave).println(clave+": registro grabado").println("<INPUT TYPE=SUBMIT NAME=INSERTAR VALUE=GRABAR ><BR>").writeUTF(nombre).close(). out. nombre=request. archivo.jsp <%@ page import="java.dat".writeFloat(estatura). // grabando al archivo archivo. // cerrando el archivo archivo.println("<FORM ACTION=prog17.println("NOMBRE :<INPUT TYPE=TEXT NAME=NOMBRE><BR>"). // creando un objeto de tipo archivo DataOutputStream archivo = null.

tambien se usa DATAOUTPUTSTREAM. “void writeBoolean”(boolean v)” Writes a “boolean” to the ” underlying output stream as a 1-byte value.%> Se usa una clase llamada FileOutputStream. el primero todo la ruta o path a donde quedara el archivo(cuidado con no poner la doble diagonal \\) y el segundo parametro es la palabra “true”. “void write”(int b)” Writes the specified byte (the low eight bits of ” the argument “b”) to the underlying output stream. si no se pone este parametro(true). especializada en archivos con muchos metodos y constructores para crear. manipular y procesar archivos el constructor usado solo lleva dos parametros. es decir que cada nuevo registro se vaya escribiendo al final del archivo. mientras que dataoutputstream esta especializada en grabar y leer datos formateados. un nuevo registro se sobreescribiria sobre el registro anterior. ” size”()” Returns the current value of the counter “written”. int len)“ “void Writes “len” bytes from the specified byte array starting at ” offset “off” to the underlying output stream. esto es para que el archivo se abra en modo llamado “APPEND”. Sin embargo en el programa no se uso solo FILEOUTPUSTREAM ( solo para crear el archivo). observar que los metodos que uso el objeto archivo para grabar o almacenar datos se especializan en algun tipo de dato en especial. sus otros metodos son: Method Summary “void flush”()” Flushes this data output stream. write”(byte[] b. “int” the number of bytes written to this data output stream so far. “void writeByte”(int v)“ . esta segunda clase es derivada de la anterior y comparte muchos de sus metodos. la diferencia es que fileoutputstream esta especializada en grabar y leer bytes. int off.

WriteBytes (String s) Writes out the string to the underlying output stream as a sequence of bytes. writeFloat”(float v)” Converts the float argument to an “int” using the “floatToIntBits” method in class “Float”. high byte first. writeDouble”(double v)“ Converts the double argument to a “long” using the “doubleToLongBits” method in class “Double”. writeChar”(int v)” Writes a “char” to the underlying output stream as a 2-byte value. high byte first. high byte first. No olvidar cerrar el archivo. writeUTF (String str) writes a string to the underlying output stream using UTF-8 encoding in a machine-independent manner.crear y cargar un archivo2.” “void ” “void ” “void ” “void ” “void ” “void ” “void ” “void ” “void ” Writes out a “byte” to the underlying output stream as a 1byte value. con la instruccion archivo. que son obligatorios o no compila el programa.dat que contenga registros de empleados. high byte first. writeInt”(int v)“ Writes an “int” to the underlying output stream as four bytes. and then writes that “int” value to the underlying output stream as a 4-byte quantity. . and then writes that “long” value to the underlying output stream as an 8-byte quantity..close TAREAS PROGRAMACION JAVA JSP 1. Observar que la grabación lleva un try-catch filenotfound y ioexception. high byte first. writeShort”(int v)“ Writes a “short” to the underlying output stream as two bytes. high byte first. writeLong”(long v)“ Writes a “long” to the underlying output stream as eight bytes. WriteChars (String s) writes a string to the underlying output stream as a sequence of characters.

crear y cargar un archivo3.2..dat que contenga registros de productos .

readFloat(). out.println("<TD>"+nombre+"</TD>").println("</TR>"). if(request.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>ESTATURA</th></TR>").getParameter("LECTURA") != null) { // construyendo una tabla html out. float estatura=0. try { // abriendo archivo archivo = new DataInputStream(new FileInputStream("c:\\archivo1.println("</FORM>").println("<HTML><TABLE Border=10 CellPadding=5><TR>"). // creando un objeto de tipo archivo DataInputStream archivo = null. nombre=archivo.println("<TD>"+estatura+"</TD>").*" %> <% // declarando int clave=0. Prog18. out. out.println("<TR>"). }.readInt(). clave=archivo. // ciclo de lectura del archivo while(true){ out. out. out.println("<TD>"+clave+"</TD>").println("<INPUT TYPE=SUBMIT NAME=LECTURA VALUE=leer ><BR>"). archivo.println("<FORM ACTION=prog18.close(). // construyendo forma dinamica out. out. como lo muestra el siguiente codigo ejemplo.dat")). out.readUTF(). estatura=archivo.UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 6: LECTURA ARCHIVO SECUENCIAL JAVA JSP El proceso de lectura de los registros de un archivo secuencial es realmente sencillo. %> .jsp METHOD=post>"). } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}.String nombre="".jsp: <%@ page import="java.io.

readFloat”()“ “float” See the general contract of the “readFloat” method of “DataInput”. readChar”()“ “char” See the general contract of the “readChar” method of “DataInput”.Notas: Observar en codigo que ahora se usan FILEINPUTSTREAM Y DATAINPUTSTREAM como clases. readDouble”()“ “double See the general contract of the “readDouble” method of ” “DataInput”. “int” readInt”()“ See the general contract of the “readInt” method of . readFully”(byte[] b. El ciclo de lectura se realiza con un while(true) los metodos de DATAINPUTSTREAM SON: Method Summary read”(byte[] b)“ “int” See the general contract of the “read” method of “DataInput”. read”(byte[] b. readBoolean”()“ “boolea See the general contract of the “readBoolean” method of n” “DataInput”. En fileinputstream solo se uso el parametro de abrir archivo(no el true de append) como ya se menciono estas clases se especializan en archivos secuenciales. int off. int off. int len)“ “void” See the general contract of the “readFully” method of “DataInput”. int len)“ “int” See the general contract of the “read” method of “DataInput”. readFully”(byte[] b)“ “void” See the general contract of the “readFully” method of “DataInput”. readByte”()“ “byte” See the general contract of the “readByte” method of “DataInput”.

. readUnsignedShort”()“ “int” See the general contract of the “readUnsignedShort” method of “DataInput”. TAREAS PROGRAMACION JAVA JSP 1.“DataInput”. | readShort”()“ “short” See the general contract of the “readShort” method of “DataInput”.. readUTF”()“ String See the general contract of the “readUTF” method of “DataInput”.Leer y desplegar los archivos creados en el tema anterior. String with: BufferedReader d = new BufferedReader(new InputStreamReader(in)). | | “long” | readLong”()“ See the general contract of the “readLong” method of “DataInput”. skipBytes”(int n)“ “int” See the general contract of the “skipBytes” method of “DataInput”. this string of characters is then returned as a “String”. readUTF”(“DataInput “in)“ Reads from the stream “in” a representation of “static” a Unicode character string encoded in Java String modified UTF-8 format. readUnsignedByte”()“ “int” See the general contract of the “readUnsignedByte” method of “DataInput”.

proporcionando un dato de busqueda. hacer un ciclo while(true) . consultas y modificaciones) con ellos. editar. El primer proceso para un archivo secuencial es agregar una cantidad indefinida de registros al archivo este proceso se resuelve o ejecutando una cantidad indeterminada de veces el programa de grabación ya hecho o incluir un ciclo while en el mismo programa. solo tenemos que abrir el archivo para lectura. Actualmente estos procesos o similares a ellos se llaman insertar. en las modernas bases de datos pero esto lo analizaremos mas adelante. Un segundo proceso tambien comun. bajas. generalmente la clave del registro.UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 7: BUSQUEDA ARCHIVOS SECUENCIALES JAVA JSP Recordar que existen una serie de procesos basicos con archivos el famoso y antiguo ABC (altas. eliminar. llamado consulta es desplegar todos los registros del archivo a la vez problema tambien resuelto en el programa de lectura. El tercer Proceso que “resolvemos” en este tema es la busqueda de un registro determinado. etc. La solucion es sencilla. en este proceso el usuario del programa quiere que se despliegue un y solo un registro de información.

out. out. }.getParameter("CLAVEB")). . archivo.readInt(). if(request. %> TAREAS PROGRAMACION JAVA JSP 1.condicionar y solo desplegar el registro cuando se cumpla la condición. out. out.String nombre="". while(true){ clave=archivo. } } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}.println("<INPUT TYPE=SUBMIT NAME=BUSCAR VALUE=buscar><BR>").println("<TD>"+clave+"</TD>"). float estatura=0.parseInt(request. // capturando clave a buscar claveb=Integer.println("<TD>"+estatura+"</TD>").println("<HTML><TABLE Border=10 CellPadding=5><TR>").readFloat().println("CLAVE BUSCAR:<INPUT TYPE=TEXT NAME=CLAVEB><BR>"). out.println("<FORM ACTION=prog19. Codigo prog19.readUTF(). try { // abriendo archivo archivo = new DataInputStream(new FileInputStream("c:\\archivo1.println("<TR>"). // construyendo forma dinamica out.dat")).*" %> <% // declarando int clave=0.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>ESTATURA</th></TR>").int claveb=0. out. out. out.Hacer programas de busquedas para los archivos hechos. // creando un objeto de tipo archivo DataInputStream archivo = null.jsp METHOD=post>"). if (claveb==clave){ out.println("</FORM>"). estatura=archivo. nombre=archivo.getParameter("BUSCAR") != null) { // construyendo tabla html out..Java: <%@ page import="java.io.println("</TR>").close().println("<TD>"+nombre+"</TD>").

.

UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES
TEMA 8: JAVA JSP FILTROS o CONDICIONES
Como su nombre lo indica en este proceso se pretende desplegar todo un conjunto de renglones que cumplan con la condición por ejemplo se pide desplegar todos los alumnos de “sistemas” o todos los empleados que sean de “sinaloa”, etc. Filtros se usan para obtener información acerca de un subconjunto de renglones de el archivo. Codigo prog20 jsp
<%@ page import="java.io.*" %> <% // declarando int clave=0;float est=0;String nombre=""; float estatura=0; // creando un objeto de tipo archivo DataInputStream archivo = null; if(request.getParameter("FILTRAR") != null) { // construyendo tabla html out.println("<HTML><TABLE Border=10 CellPadding=5><TR>"); out.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>ESTATURA</th></TR>"); // capturando filtro est=Float.parseFloat(request.getParameter("ESTATURA")); try { // abriendo archivo archivo = new DataInputStream(new FileInputStream("c:\\archivo1.dat")); while(true){ clave=archivo.readInt(); nombre=archivo.readUTF(); estatura=archivo.readFloat(); if (estatura>=est){ out.println("<TR>"); out.println("<TD>"+clave+"</TD>"); out.println("<TD>"+nombre+"</TD>"); out.println("<TD>"+estatura+"</TD>"); out.println("</TR>"); } } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}; archivo.close();

}; // construyendo forma dinamica out.println("<FORM ACTION=prog20.jsp METHOD=post>"); out.println("ESTATURA >=:<INPUT TYPE=TEXT NAME=ESTATURA><BR>"); out.println("<INPUT TYPE=SUBMIT NAME=FILTRAR VALUE=Filtrar><BR>"); out.println("</FORM>"); %>

Seria mas interesante construir un programa donde el filtro se construya con dos comboboxs y un textbox para el dato(recordar definición de condición simple) y de esta manera se podra construir un programa que filtre por cualuier campo y por cualquier operador relacional, pero este programa es la 1.- TAREA Java Jsp Filtrar el archivo de alumnos por cualquier campo.

UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES
TEMA 9: JAVA JSP BAJA O ELIMINACION ARCHIVO SECUENCIAL
Eliminar o dar de baja en un archivo secuencial, implica tener que estar procesando dos archivos a la vez, el segundo de ellos es un archivo temporal, un algoritmo de eliminacion fisica quedaria como: Procedimiento : 1. Abrir el archivo original en modo letcura. 2. Abrir un archivo llamado temporal en modo escritura. 3. Iniciar un ciclo de lectura del archivo original. 3a.- Dentro del ciclo leer el primer registro. 3b.- Validar el registro si no es eliminable, se escribe al archivo temporal. 3c.- Fin de ciclo (cerrar el ciclo). 4. Cerrar ambos archivos. 5. eliminar el archivo original. 6. renombrar el archivo temporal con el nombre de archivo original. Una segunda tecnica, consiste en agregar un campo de estado (status) al registro, tal como se vio en el curso anterior: Sin embargo el proceso de baja se tiene que realizar en un sistema de información, para resolver este problema la respuesta es agregar un campo especial llamado status que puede ser de tipo char, con

while(true){ clave=archivo. nombre=archivo.getParameter("CLAVEB")). etc. .dat").writeFloat(estatura). float estatura=0.readUTF(). una 'b' significa que esta en baja.readFloat().algunos caracteres de control que se puedan cargar en el por ejemplo una 'a' siginifica que esta en alta. // eliminando original renombrando temporal File file1 = new File("c:\\archivo1. archivot = new DataOutputStream(new FileOutputStream("c:\\temp.” A continuación damos un ejemplo de eliminación fisica: Prog21 jsp <%@ page import="java. if (file1.writeUTF(nombre).}.close(). DataOutputStream archivot = null.parseInt(request.getParameter("ELIMINAR") != null) { // capturando clave a eliminar claveb=Integer.io.delete(). mandarlo cargado el campo de status con 'a' y estar validando con if siempre este campo en cualquier proceso de busqueda o condicion o despliegue. archivot.dat". archivot.int claveb=0. estatura=archivo. if (claveb!=clave){ archivot.writeInt(clave).String nombre="". if(request. es que cuando se agrega o manda el registro por primera vez a disco. Lo unico que se tiene que hacer. File file2 = new File("c:\\temp. si se encuentra cargado con 'b' entonces solo avisar al usuario que esta de baja dicho registro.readInt().dat")). // cerrando archivos archivo.true)).dat"). try { // abriendo archivos archivo = new DataInputStream(new FileInputStream("c:\\archivo1.exists()) {file1. archivot. }}} catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}.*" %> <% // declarando int clave=0.close(). // creando un objeto de tipo archivo DataInputStream archivo = null.

println("<INPUT TYPE=SUBMIT NAME=ELIMINAR VALUE=Eliminar><BR>").println("<FORM ACTION=prog21. %> TAREAS PROGRAMACION JAVA JSP 1.jsp METHOD=post>"). . // construyendo forma dinamica out.println("CLAVE ELIMINAR:<INPUT TYPE=TEXT NAME=CLAVEB><BR>"). // avisando out.println("</FORM>"). out.Agregar un modulo de eliminacion o baja.println("REGISTRO ELIMINADO"). a los archivos ya construidos.renameTo(file1). out..file2. }. out.

readInt().String nombre="".close(). // cerrando archivos archivo.getParameter("SUMAR") != null) { try { // abriendo archivos archivo = new DataInputStream(new FileInputStream("c:\\archivo1.writeFloat(estatura).true)). // grabando a temporal archivot. if(request. }} catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}. estatura=archivo.readFloat().*" %> <% // declarando int clave=0. archivot = new DataOutputStream(new FileOutputStream("c:\\temp. // sumando estatura = estatura + 5. // creando dos objetos de tipo archivo uno para escritura y otro para lectura DataInputStream archivo = null. DataOutputStream archivot = null.dat")). archivot.readUTF().writeUTF(nombre). sin embargo es tambien facil de resolver. Prog22. . archivot. float estatura=0. como lo muestra el siguiente ejemplo.writeInt(clave).UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 10: OPERACIONES CON CAMPOS JAVA JSP Este es tambien un caso comun con los elementos de un archivo. Solo usar los dos archivos el original y el temporal y antes de grabarse al temporal hacer la operacion correspondiente. while(true){ clave=archivo.dat".jsp <%@ page import="java. nombre=archivo.io.

no cargar promedio. nombre.. %> TAREAS PROGRAMACION JAVA JSP 1. File file2 = new File("c:\\temp. calif1. el promedio lo deberan calcular con un programa.println("</FORM>").jsp METHOD=post>").exists()) {file1.println("<INPUT TYPE=SUBMIT NAME=SUMAR VALUE=EST+5><BR>"). file2.dat").construir un archivo que traiga matricula. out.renameTo(file1). if (file1.}. cargar unos 5 renglones de alumnos.close(). out.println("ESTATURAS SUMADAS "). calif3 y promedio. calif2. // avisando out. }.delete(). .archivot. // eliminando original renombrando temporal File file1 = new File("c:\\archivo1.println("<FORM ACTION=prog22. // construyendo forma dinamica out.dat").

parseInt(request.int claveb=0.*" %> <% // declarando int clave=0.getParameter("CLAVEB")).dat")). nombre=archivo. while(true){ clave=archivo. if(temp1==null)temp1=" ".jsp METHOD=post>"). .println("<FORM ACTION=prog23.compareTo("buscar")==0) { // capturando clave a buscar claveb=Integer.readInt().readUTF(). if (claveb==clave){ out. float estatura=0. try { // abriendo archivo archivo = new DataInputStream(new FileInputStream("c:\\archivo1. estatura=archivo. DataOutputStream archivot = null.jsp <%@ page import="java. // creando un objeto de tipo archivo DataInputStream archivo = null. el ejemplo que se construye va mostrando los registros del archivo y pregunta y modifica o edita el registro pedido.readFloat().getParameter("BUSCAR"). es decir se ocupan los dos archivos el original y el temporal y ya sea que se modifique una sola clave o se modifiquen todos los registros. La solucion es similar a los temas anterior.String nombre="". Prog23.UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 11: EDICION DE REGISTROS JAVA JSP Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva informacíón o para corregir algun error de captura original o para agregar alguna columna que no existia por modificación de la tabla o la base de datos. if(temp1. // codigo de busqueda String temp1=request.io.

delete().parseInt(request. archivot. nombre=archivo.dat").parseInt(request. archivo. nombre=request. // avisando out. // cargando clave de edicion claveb=Integer.writeFloat(estatura). out.println("REGISTRO EDITADO"). out. archivot. }.readUTF().readInt(). }.exists()) {file1. archivot.println("NOMBRE :<INPUT TYPE=TEXT NAME=NOMBRE value=\""+nombre+"\"><BR>").println("<INPUT TYPE=SUBMIT NAME=EDITAR VALUE=editar><BR>"). // cerrando archivos archivo.out.writeUTF(nombre).getParameter("CLAVEB")). File file2 = new File("c:\\temp.println("CLAVE :<INPUT TYPE=TEXT NAME=CLAVE value="+clave+"><BR>"). }} catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}. if (file1.dat")). archivot. .writeInt(clave).close().close().writeUTF(nombre).true)).renameTo(file1). // codigo de edicion String temp2=request.close().compareTo("editar")==0){ try { // abriendo archivos archivo = new DataInputStream(new FileInputStream("c:\\archivo1. } } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}. archivot = new DataOutputStream(new FileOutputStream("c:\\temp. estatura=Float. while(true){ clave=archivo. estatura=archivo.dat". } else{ // capturando y grabando nuevos datos clave=Integer.}.writeFloat(estatura). // eliminando original renombrando temporal File file1 = new File("c:\\archivo1.writeInt(clave).getParameter("ESTATURA")).println("</FORM>"). archivot. out. if(temp2==null)temp2=" ".readFloat().println("ESTATURA :<INPUT TYPE=TEXT NAME=ESTATURA value="+estatura+"><BR>"). }.getParameter("NOMBRE").getParameter("EDITAR"). out. if (claveb != clave){ archivot.getParameter("CLAVE")). if(temp2.dat"). file2.parseFloat(request. out. archivot.println("<INPUT TYPE=HIDDEN NAME=CLAVEB value="+claveb+"><BR>").

%> TAREAS PROGRAMACION JAVA JSP 1.construir programas de edición para sus archivos . out. out.println("<FORM ACTION=prog23.// construyendo forma dinamica out..println("CLAVE ELIMINAR:<INPUT TYPE=TEXT NAME=CLAVEB><BR>").jsp METHOD=post>").println("<INPUT TYPE=SUBMIT NAME=BUSCAR VALUE=buscar><BR>").println("</FORM>"). out.

float estatura=0.Usar el tag <img src> de html EN EL PROGRAMA jsp. out. prog24.println("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>ESTATURA</th><th>FOTOGRAFIA</TH></TR>").println("<HTML><TABLE Border=10 CellPadding=5><TR>"). // creando un objeto de tipo archivo DataInputStream archivo = null. Para manejar este elemento: 1.String nombre="".int claveb=0.Es un metodo sencillo.io. en este caso ROOT ( para el lws). MUCHO OJO este paso exije que se tengan que reconstruir todos los programas anteriores para incluir este nuevo campo y volver a crear los archivos de ejemplos.agregar un campo de string llamado fotourl o foto o url a el registro en el archivo secuencial y cargarlo con el nombre de la imagen por ejemplo pato. 3.getParameter("CLAVEB")). .jpg.parseInt(request..*" %> <% // declarando int clave=0.getParameter("BUSCAR") != null) { // construyendo tabla html out.String foto="". // capturando clave a buscar claveb=Integer. if(request..UNIDAD 5: JAVA JSP REGISTROS Y ARCHIVOS SECUENCIALES TEMA 12: GRAFICOS JAVA JSP Campos de graficos o de imagenes se han convertido en elementos importantes de cualquier base de datos.jsp <%@ page import="java. primero subir las imagenes ( de preferencia jpg) con un ftp normal a tusitio y al folder principal de el servidor. 2..

out. y en cuanto porque se usaron cuatro \\ recordar que en java dentro de una string las secuencias de escape ( \a.println("<INPUT TYPE=SUBMIT NAME=BUSCAR VALUE=buscar><BR>").readFloat(). // construyendo forma dinamica out. por esa causa para mandar un \ a la pagina se tiene que usar la secuencia de escape y como la dirección incluia al principio y una diagonal \ al final se mandaron \\ y respectivamente. sin embargo en el programa se esta usando http:\\\\localhost\\pato.println("<TD><img src=http:\\\\localhost\\progs\\"+foto+"></TD>"). %> nota: Observar que en img src debe ir la dirección internet del servidor por ejemplo http:\\misitio. while(true){ clave=archivo.readUTF().println("<TD>"+nombre+"</TD>"). archivo. out. foto=archivo. out.jsp METHOD=post>"). \r etc) van precedidas del simbolo \.try { // abriendo archivo archivo = new DataInputStream(new FileInputStream("c:\\archivo1.jpg. en cuanto a localhost se puede sustituir por el dominio ejemplo laurosoto.println("CLAVE BUSCAR:<INPUT TYPE=TEXT NAME=CLAVEB><BR>").println("<TD>"+estatura+"</TD>").println("<TD>"+clave+"</TD>"). out. nombre=archivo. }.dat")). } } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {}. out. out.readInt(). estatura=archivo. out.println("<FORM ACTION=prog24.println("</TR>").println("<TR>"). out.jpg.com.close(). TAREAS PROGRAMACION JAVA JSP .readUTF().println("</FORM>"). if (claveb==clave){ out.com\pato.

VIDEOS. ETC. . REFACCIONARIAS.CONSTRUIR UN SISTEMA COMPLETO QUE TENGA TODOS LOS PROCESOS VISTOS. JOYERIAS. PUEDEN SELECCIONAR.