• No se han encontrado resultados

49716517 Tutorial Jsp

N/A
N/A
Protected

Academic year: 2021

Share "49716517 Tutorial Jsp"

Copied!
131
0
0

Texto completo

(1)

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

(2)

12. CICLO FOR

13. CICLO WHILE

14. CICLO DO...WHILE

15. CONCLUSIONES ACERCA DE CICLOS

UNIDAD 3: JAVA JSP ARREGLOS

1. INTRODUCCION

2. ARREGLOS TRADICIONALES 3. ARREGLOS TIPO LISTA 4. ARREGLOS TIPO TABLA

UNIDAD 4: JAVA JSP FUNCIONES Y PROCEDIMIENTOS

1. PROCEDIMIENTOS Y FUNCIONES 2. PARAMETROS

3. VARIABLES LOCALES Y GLOBALES 4. FUNCIONES

5. 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

(3)

11. EDICION o MODIFICACION REGISTROS

12. GRAFICOS

UNIDAD 6: JAVA JSP ARCHIVOS DIRECTOS

1. INTRODUCCION ARCHIVOS DIRECTOS 2. CREACION ARCHIVOS

3. GRABACION Y LECTURA DISCO 4. BUSQUEDA EN ARCHIVO DIRECTO 5. FILTROS o CONDICIONES

6. BAJA o ELIMINACION

7. OPERACIONES CON CAMPOS

8. EDICION o MODIFICACION REGISTROS 9. 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

(4)

UNIDAD 8: JAVA JSP INT A LAS BASES DE DATOS (MYSQL)

1. INTRODUCCION

2. MODELOS DE ALMACENAMIENTO DE DATOS 3. TABLAS

4. TABLAS (CONTINUACION) 5. MYSQL (1)

6. OBJETO RESULTSET MYSQL (2) 7. SELECCION O DESPLIEGUE

8. INSERCCION O ADICION DE REGISTROS 9. BUSQUEDAS

10. FILTROS

11. OPERACIONES CON CAMPOS

12. BAJAS

13. EDICION DE REGISTROS

(5)

UNIDAD I: JAVA JSP ELEMENTOS BASICOS

TEMA 1: INTRODUCCION JAVA JSP

From Ugly Duckling to Swan

Eli Cohen, Reconceptualizing Information Systems as a Field of the Transdiscipline Informing Science: From Ugly Duckling to Swan, Journal of Computing and Information Technology. 7 (3) 1999, 213-219.

Hans Christian Anderson wrote a tale in which all the young ducks made fun of another. They made the duckling feel inadequate because he was different. One day a swan, the most beautiful of the fowl, declared that the youngster was in fact a young swan and a fine one at that.

“Information Systems is the field of inquiry that attempts to provide the business client with information in a form, format, and schedule that maximizes its effectiveness.”

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 sus activos físicos, ni por su poder militar, sino por la cantidad de información que produce y consume, así como por la recombinación de información nueva en un conocimiento de grado superior.

Nuevos sistemas de información, tienden a ser cada vez de mayor alcance y complejidad sobre todo cuando se toman en cuenta las nuevas necesidades

(6)

de información y conocimiento que demandan las nuevas organizaciones.

Nuevos sistemas de información son costosos en tiempos y recursos, la solución moderna de sistemas de información exigen herramientas y metodologías que resuelvan rápida, económica, eficiente y de manera global, problemas de información y conocimiento planteados por las organizaciones.

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”.

Nuevos paradigmas de programación se ocupan para la creación de nuevos sistemas y necesidades creativas de información.

Java un lenguaje de programación moderno implementado por la compañía www.java.sun.com a finales de 1996, 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, tales como programación móvil, programación para dispositivos, programación para servicios web, etc.

En programación orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre sí, ambientes de desarrollo visuales facilitan aun más la construcción de programas y solución de problemas, porque permiten abstraer al ingeniero de software de todo el GUI (interfase gráfica) del problema, que constituye más del 60% del código normal de un programa.

(7)

En OOP todo problema aun aquellos sencillos de información, se consideran y resuelven como módulos de código gigante (clase) que contiene todo el código necesario (variables, procedimientos, funciones, interfaces, etc.) para solucionar el problema.

En programación java básica, se tiene la mezcla de lo mejor de estos tres mundos, es decir construimos programas, aplicaciones y sistemas de información usando técnicas estructuradas, construyendo objetos y diseñando sistemas gráficos, y todo orientado a la construcción de sistemas de información basados en redes de cualquier tipo o tamaño.

(8)

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, 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.

Una herramienta rápida que nos permite descomponer en partes un problema para su solución es el llamado modelo de solución, 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, estas tres partes son:

LA PRIMERA PARTE son todos los datos que el

computador ocupa para resolver el problema, estos datos son almacenados internamente en la memoria del computador en las llamadas variables de entrada.

LA SEGUNDA PARTE son todas las operaciones

generalmente algebraicas necesarias para solucionar el problema, generalmente esta parte del modelo es una ecuacion algebraica o formula (o igualdad matemática, ej. X= y + 5).

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.

(9)

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 el computador para resolver el problema planteado? 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, variables e información:

Datos se refiere a información en bruto no procesada

ni catalogada, por ejemplo “Tijuana”, “calle primera # 213”,”15 años”, ” $2,520.00”, etc.

Variables es el nombre de una localidad o dirección

interna en la memoria del computador donde se almacenan los datos, ejemplo de variables para los casos del inciso anterior, CIUDAD, DIRECCIÓN, EDAD, SUELDO, ETC.

Información son datos ya procesados que resuelven

un problema planteado.

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.

(10)

PROBLEMA 2.- CONVERTIR LA EDAD EN AÑOS DE UNA PERSONA A MESES.

PROBLEMA 3.- CONVERTIR PESOS A DÓLARES.

PROBLEMA 4.- CALCULAR EL ÁREA DE UN CIRCULO CON LA FORMULA

AREA = PI * RADIO2

PROBLEMA 5.- EVALUAR LA FUNCIÓN y = 5x²-3x +2 PARA

CUALQUIER VALOR DE X.

 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.

 Pero recordar también que existirán problemas sencillos donde:

 No se ocupan entradas o no se ocupan operaciones, pero todos ocupan salida.

 Una formula grande o muy compleja puede ser más segura y fácil de resolver, si es descompuesta y resuelta en partes, juntando al final los parciales para obtener el resultado final.

 Un problema puede tener más de una solución correcta.

 El problema no esta suficientemente explicado o enunciado, entonces, estudiarlo, analizarlo y construirlo de manera genérica.

Variable(s) de

Entrada Proceso u Operación Variable(s) de Salida BASE ALTURA AREA = BASE * ALTURA / 2 AREA

(11)

TAREAS PROGRAMACION JAVA JSP

Construir los modelos de solución de los siguientes problemas:

PROBLEMA 6.- Convertir millas a kilómetros (caso normal)

PROBLEMA 7.- Convertir 125 metros a centímetros (no ocupa entradas)

PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada árbol en la UABC, también se calcula que en cada nido existen un promedio de 5.8 pájaros, se pide calcular la cantidad total de nidos y de pájaros en los 227 arboles que existen en la UABC. (no ocupa entradas)

PROBLEMA 9.- La gorda Sra. López y sus 8 hijos solo compran una vez al mes su mandado en conocido supermercado, en dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de tortillas cuesta $3.55 y el frasco de café vale $14.25, si solo compran de estos tres productos para su mandado, calcular su gasto total.( problema no claro)

PROBLEMA 10.- Capturar y desplegar los cinco datos mas importantes de un automóvil (no ocupa operaciones)

PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 Kms, si un automóvil la recorre a una velocidad constante de 30 millas por hora, cuanto tiempo tarda en llegar. (1 milla =1.609 Km.) (dos maneras correctas de resolverlo).

PROBLEMA 12.-Evaluar la función y = 3x2 + 2x – 5 para

(12)

PROBLEMA 13.-Evaluar la función y = -5x3 - 3x2 + 8 para

(13)

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, funciones( pequeños módulos con código), etiquetas, clases, objetos, 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.

Existen ciertas reglas en cuanto a variables:

 Claras y con referencia directa al problema.

 No espacios en blanco, ni símbolos extraños en ellas.

 Se pueden usar abreviaturas, pero solo de carácter general.

 No deben ser palabras reservadas del lenguaje. Ejemplos de buenas variables:

Nombre, Edad, SdoDiario, IngMensual, Perímetro, Calif1, etc.

(14)

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, 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.

Los tipos de datos más comunes en java jsp son:

Primitive Data Types Keywor

d Description Size/Format

(integers)

“byte” Byte-length integer 8-bitcomplement two's

“short” Short integer 16-bitcomplement two's

“int” Integer 32-bitcomplement two's

“long” Long integer 64-bitcomplement two's

(real numbers)

“float” Single-precision floating point 32-bit IEEE 754 “double

Double-precision floating

point 64-bit IEEE 754

(other types)

“char” A single character 16-bitcharacter Unicode “boolea A boolean value (“true” or true or false

(15)

n” “false”)

* tabla tomada de java.sun.com documentation

Como se observa es muy similar a las de c o c++.

Para el caso de strings se debera usar la Clase String que tiene dos constructores, de momento entenderemos esto ultimo como dos maneras de crearse, ejemplo;

1. String nombre = new String();

2. String ciudad = new String(“Tijuana”);

En este ultimo caso se crea la string y se inicializa con un dato o valor.

(16)

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, descendientes de la clase NUMBERS, que contienen una serie de metodos que facilitan la interaccion con los usuarios de nuestras aplicaciones en captura y despliegue de datos numericos.

Sin embargo su caracteristica mas importante a tomar en cuenta, es que objetos numericos derivados de estaS clase, no pueden entrar a operaciones DIRECTAMENTE, ni recibir el resultado de operaciones.

Class Integer

public final class java.lang.Integer extends java.lang.Number {

// Fields

public final static int **MAX_VALUE**; public final static int **MIN_VALUE**; // Constructors

public **Integer**(int value); public **Integer**(String s);

// Methods

public double **doubleValue**();

public boolean **equals**(Object obj); public float **floatValue**();

public static Integer **getInteger**(String nm);

public static Integer **getInteger**(String nm, int val); public static Integer **getInteger**(String nm, Integer val); public int **hashCode**();

public int **intValue**(); public long **longValue**();

public static int **parseInt**(String s);

public static int **parseInt**(String s, int radix); public static String **toBinaryString**(int i); public static String **toHexString**(int i);

public static String **toOctalString**(int i); public String **toString**();

public static String **toString**(int i);

public static String **toString**(int i, int radix); public static Integer **valueOf**(String s);

public static Integer **valueOf**(String s, int radix); }

(17)

Esta clase convierte un dato de tipo int a un objeto. Este objeto contiene un solo campo de tipo int.

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. Ademas de otros metodos de igual utilidad.

* Clase y notas tomadas directamente de java.sun

Class Double

public final class java.lang.Double extends java.lang.Number

{

// Fields

public final static double **MAX_VALUE**; public final static double **MIN_VALUE**; public final static double **NaN**;

public final static double **NEGATIVE_INFINITY**; public final static double **POSITIVE_INFINITY**; // Constructors

public **Double**(double value); public **Double**(String s);

// Methods

public static long **doubleToLongBits**(double value); public double **doubleValue**();

public boolean **equals**(Object obj); public float **floatValue**();

public int **hashCode**(); public int **intValue**();

public boolean **isInfinite**();

public static boolean **isInfinite**(double v); public boolean **isNaN**();

public static boolean **isNaN**(double v);

public static double **longBitsToDouble**(long bits); public long **longValue**();

public String **toString**();

public static String **toString**(double d); public static Double **valueOf**(String s); }

* La misma fuente y las mismas notas de la clase anterior

Class Float

public final class java.lang.Float extends java.lang.Number {

// Fields

public final static float **MAX_VALUE**; public final static float **MIN_VALUE**; public final static float **NaN**;

public final static float **NEGATIVE_INFINITY**; public final static float **POSITIVE_INFINITY**; // Constructors

(18)

public **Float**(double value); public **Float**(float value); public **Float**(String s);

// Methods

public double **doubleValue**(); public boolean **equals**(Object obj);

public static int **floatToIntBits**(float value); public float **floatValue**();

public int **hashCode**();

public static float **intBitsToFloat**(int bits); public int **intValue**();

public boolean **isInfinite**();

public static boolean **isInfinite**(float v); public boolean **isNaN**();

public static boolean **isNaN**(float v); public long **longValue**();

public String **toString**();

public static String **toString**(float f); public static Float **valueOf**(String s); }

* La misma fuente y notas anteriores

Class Long

public final class java.lang.Long extends java.lang.Number {

// Fields

public final static long MAX_VALUE; public final static long MIN_VALUE; // Constructors

public Long(long value); public Long(String s); // Methods

public double doubleValue(); public boolean equals(Object obj); public float floatValue();

public static Long getLong(String nm);

public static Long getLong(String nm, long val); public static Long getLong(String nm, Long val); public int hashCode(); public int intValue(); public long longValue();

public static long parseLong(String s);

public static long parseLong(String s, int radix); public static String toBinaryString(long i); public static String toHexString(long i); public static String toOctalString(long i); public String toString();

public static String toString(long i);

public static String toString(long i, int radix); public static Long valueOf(String s);

public static Long valueOf(String s, int radix); }

(19)

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.

Java jSP reconoce los siguientes operadores aritméticos: Operad or Operación + Suma - Resta * Multiplicacion / Division % ResiduoModulo o

Como notas importantes a recordar siempre;

En problemas de division entre enteros, java trunca la parte residual, ejemplo;

Desplegar—> 13/5 —> el resultado es 2

Mas adelante se dira como resolver este problema. Para resolver los problemas de potencias y raíces, se usan ciertas instrucciones especiales que proporciona el lenguaje, llamadas funciones matemáticas, en java existe toda una librería de instrucciones o funciones matemáticas.

(20)

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.lang.math ;

public static double pow(double a, double b);

Esta función ocupa dos valores o datos ( base y exp) ambos de tipo double, y regresa un resultado también de tipo double, ejemplo;

* resolver el problema de calcular 53

import java.io.*; import java.lang.Math; public class ejemplo1 {

public static void main(String args[]) {

double base =5; double exponente=3; double potencia =0;

potencia = Math.pow(base, exponente); System.out.println("potencia =" +potencia); } // cerrar main

} //cerrar clase

Para resolver el problema de raíces, 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.

Ejemplo:

Problema y = 3Ö x esto es equivalente a y = 3 * x 1/2 entonces

Usando la función pow

(21)

* 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, recordar que no se pueden hacer directamente operaciones con ellos ni tampoco pueden recibir resultados en ellos, lo que se debe hacer es usar una variable temporal de tipo apropiado, 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), como lo muestra el siguiente ejemplo;

Integer alfa = new Integer(20); Double zeta = new Double(5); double alfa1=0, zeta1=0; alfa1=alfa.doubleValue(); zeta1=zeta.doubleValue(); alfa1=alfa1 + zeta1; desplegar alfa1;

Como se observa se crearon dos objetos numericos, 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.

La libreria matematica de java jsp completa incluye:

Class Math

public final class java.lang.Math extends java.lang.Object

{ Fields

public final static double E; public final static double PI; Methods

public static double abs(double a); public static float abs(float a); public static int abs(int a); public static long abs(long a); public static double acos(double a); public static double asin(double a); public static double atan(double a);

public static double atan2(double a, double b); public static double ceil(double a);

(22)

public static double exp(double a); public static double floor(double a);

public static double IEEEremainder(double f1, double f2); public static double log(double a);

public static double max(double a, double b); public static float max(float a, float b); public static int max(int a, int b); public static long max(long a, long b); public static double min(double a, double b); public static float min(float a, float b); public static int min(int a, int b); public static long min(long a, long b); public static double pow(double a, double b); public static double random();

public static double rint(double a); public static long round(double a); public static int round(float a); public static double sin(double a); public static double sqrt(double a); public static double tan(double a); }

(23)

UNIDAD 7: JAVA JSP ELEMENTOS BASICOS

TEMA 7: JAVA JSP OPERADOR CAST y CONVERSIONES

Se puede forzar un dato, variable o una expresión a convertirse o cambiarse a un nuevo tipo de dato.

El operador cast realiza este proceso, es decir convierte datos, variables o expresiones a un nuevo tipo de dato, su formato es: (nvotipo) dato , var, exp;

Ejemplo: // declaración int alfa; // Asignación alfa = 20; // Cambio de tipo (float) alfa; Ejemplo: (int) 3.1416;

• en este ejemplo se está convirtiendo un float a int, recordar que en este caso ya no se tendrán los decimales.

• Como nota importante se puede hacer cast solo con tipos de datos, no entre tipos de datos y objetos de una clase numerica.

Como nota importante este operador resuelve los dos problemas pendientes:

1. El de la división entre enteros.

(24)

Ejemplos:

a) // Declaración float alfa; // Operación

alfa = (float)23/5;

// Pero en estos casos es preferible alfa=23/5.0;

En toda división recordar agregar a uno de los dos valores el (.0), solo que los dos elementos sean variables entonces usar el operador cast con una de ellas.

b)// Declaración double potencia; // Operación

potencia = Math.pow ( (double)5, (double)3);

Como se observa en el ejemplo, se puede usar pow(), directamente con los datos, argumentos o parámetros requeridos , si estos son numéricos, pero transformándolos con el operador cast.

Esto también va a permitir evaluar expresiones matemáticas de manera mas directa y sencilla, solo recordando usar un pow() por cada potencia y cada raíz de la ecuación, ejemplo:

Sea dentro de un programa esto se resuelve con;

// área de declaración de variables double y, x;

// área de captura de datos capturar el valor de x; // área de operaciones

y = 3 * Math.pow(x, (double)3) - Math.pow(x, (1/3.0)) + 4 * Math.pow(x, (double)2));

// área de despliegue de resultados desplegar x, 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, en general existen tres casos generales difrentes, considerando datos o variables numericas,

(25)

objetos numericos y strings que es un caso especial y comun:

a.1) Variable numerica a variable numerica

Usar el operador cast ejemplo: var to var

int alfa1=10; double alfa2=3.1416; alfa1= (int)alfa2;

observar que valores decimales deben declararse como doubles

a.2) variable numerica a string

ejemplo; var to string int zeta=50;

String alfa= String.valueOf(zeta);

a.3) variable numerica a objeto numerico

caso 1: usando constructor int zeta=80;

Float alfa4 = new Float(zeta);

caso 2: ya existe el objeto numerico Double alfa5 = new Double(0); Int zeta=30;

alfa5=Double.valueOf(String.valueOf(zeta));

b.1) Objeto Numerico a Variable numerica

todos los objetos numericos deben crearse inicializados aunque sea a (0)

Integer alfa = new Integer(300); Int zeta = alfa.intValue();

b.2) Objeto numerico a String

Float alfa = new Float(“3.45”); String beta = new String(” ”); Beta = alfa.toString();

(26)

Integer alfa=new Integer(50); Double beta=new Double(0);

beta = beta.valueOf(alfa.toString());

c.1) String to variable numerica

String alfa= new String(“3.5”); double beta= 0;

beta= Double.parseDouble(alfa);

c.2) String to Objeto Numerico

String alfa8=new String(“50”); Double alfa9=new Double(0); alfa9 = alfa9.valueOf(alfa8);

TAREAS JAVA JSP POW():

1. 2. 3.

(27)

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:

- 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, que antes de plantear una formula en un programa se deberá evaluar contra el siguiente:

Orden de operaciones:

1. Paréntesis

2. Potencias y raíces

3. Multiplicaciones y divisiones 4. Sumas y restas

5. 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, entonces usar paréntesis.

Nota: Tampoco es bueno usar paréntesis de mas en

una operación, esto solo indica que no se evalúo bien la formula, como en el siguiente ejemplo;

(28)

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

(29)

UNIDAD 1: JAVA JSP ELEMENTOS BASICOS

TEMA 9: APLICACIONES JAVA JSP

Recordar que JAVA es un lenguaje de programación moderno, 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.

Esto indica la necesidad de construir diversos tipos de aplicaciones, programas o sistemas en general existen los sguientes tipos de aplicaciones basicas:

1. Aplicaciones o programas que se ejecuten en “consolas”, es decir ambientes del tipo msdos, linux, terminales tontas, etc.

2. Aplicaciones o sistemas que se ejecuten en ambientes graficos o de tipo “ventanas:, ejemplo windows, kde o gnome de linux, sistem 8 de apple, etc.

3. Aplicaciones de tipo APPLETS, que tambien son programas en java que se mandan a una pc remota o lejana, donde esa pc se encarga de correrla o ejecutarla o compilarla y correrla. Este applet lo manda un servidor de paginas(web server) junto con la pagina correspondiente, cada vez que un usuario se conecta al web server y requiere la pagina que contiene el applet.

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.

(30)

Por supuesto que el browser del cliente debe estar preparado para ejecutar applets, 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.

4. Aplicacion de tipo SERVLETS, que son programas en java que se ejecutan direcatemente en el servidor de paginas o web server, que al ser invocado o llamado por una pc remota, el web server compila y ejecuta el servlet, ya ejecutado se mandan generalmente los resultados a la maquina remota, estos resultados se mandan en forma de una pagina html, para que la maquina remota los vea en su propio browser. Una vez que el web server o servidor de paginas ejecuta un servlet, lo mantiene vivo o despierto, para responder de manera mas rapida a las peticiones siguientes que se hagan del servlet.

5. Aplicaciones JSP (Java Server Pages), tecnologia que combina codigo html y codigo java en un solo programa o aplicación, cuando al web server le piden un jsp, lo compila, 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ó.

6. Beans y Java Beans, tecnologias de tipo servlet pero que estan especializadas principalmente en mantener enlaces constantes a bases de datos de cualquier marca (access, oracle, mysql, etc), 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.

(31)

7. Existen otra serie de aplicaciones diferentes que se pueden construir con java, tales como aplicaciones rmi, aplicaciones en tiempo real, ejb , pero de momento estan fuera del alcance de estas notas.(estarse pendiente de la siguiente actualizacion de este texto) .

En general todas las aplicaciones que se pueden desarrollar (consola, graficas, applets y servlets, jsp, 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), 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.

(32)

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, ente o entidad física o lógica de información.

En este sentido todos los elementos materiales o inmateriales pueden clasificarse como objetos.

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. Las propiedades mas generales son forma, color, tamaño, peso, pero ya en particular:

Chamarra → Marca, material, precio, color, tamaño, etc

Alumno → Matricula, nombre, edad, domicilio, etc.

Gato → Raza, nombre, color, edad, etc.

VentanaWindows–>Tamaño, Color, font, etc. b) Métodos: Son las conductas propias de la

naturaleza del objeto.

Así como las propiedades son el ser (que es) del objeto, los métodos son el hacer (que hacer) del objeto.

ejemplo de métodos:

Gato —> Maullar(), comer(), correr(), saltar(), etc.

(33)

Alumno—> Estudiar(), comer(), asistir clase(), pintear()

Cuaderno–>Esescrito(), esrayado(), esborrado(), etc.

VentanaWindows–> Abrir(), cerrar(),

maximizar(), etc….

c) Eventos: Es la relación (de varias maneras) que

se puede dar entre dos objetos ya sean de la misma o diferente clase.

Un evento se manifiesta como un interacción entre dos objetos, 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, cadena o conjuntos de métodos propios que se activan o disparan, ejemplo:

Evento Relación Métodos que se activan gato detecta gata detectar maullar(),oler() correr(), gato detecta perro detectar bufar(),correr() saltar(), maestro enseña

alumno Enseñar pasarpreguntar(), etc lista(),

Raton click

Windows click maximizar(), cerrar()

Raton dblclk

Windows dblclk minimizar(), etc

Un Programa en java jsp se puede considerar como un conjunto de una o mas paginas o formas, donde cada una de ellas contiene un conjunto de objetos, componentes o controles.

Un componente o propiamente dicho un control es un objeto que se especializa en una tarea especifica por

(34)

ejemplo hay controles especializados en desplegar textos o mensajes, otros controles se especializan en desplegar imágenes o vídeos, otros en manipular directorios o archivos en disco, etc.

Pero en general tanto las formas como los controles no dejan de ser objetos en programación y por tanto tienen sus propiedades, métodos y están sujetos a eventos.

(35)

UNIDAD 1: JAVA JSP ELEMENTOS BASICOS

TEMA 11: JAVA JSP ( JAVA SERVER PAGE )

Java Server Page, es otra de las nuevas tecnologias para tratar de hacer mas eficiente el modelo cliente-servidor y sobre todo la construcción de sistemas de comercio electronico.

En este modelo una pagina html tambien incluye codigo en java, es el servidor de paginas quien al estar mandando la pagina a la pc remota la compila y la convierte en un servlet.

Esta tecnologia combina en una sola aplicación, tanto codigo html como codigo java.

El proceso de crear un jsp, es sencillo se crea un achivo normal con notepad combinando codigo html y codigo java, se graba con extension .jsp, se hace un ftp al servidor y listo.

Cuando el usuario requiere un jsp el servidor lo carga, lo compila, lo convierte a servlet y manda la pagina resultante al usuario remoto.

Empezamos con un pequeño ejemplo: prog1.jsp

<%

// declarando

int base=0,altura=0; double area=0; if(request.getParameter("OK") != null) {

base = Integer.parseInt(request.getParameter("BASE")); altura = Integer.parseInt(request.getParameter("ALTURA")); area= base * altura / 2.0 ; };

// construyendo forma dinamica

out.println("<FORM ACTION=prog1.jsp METHOD=post>"); out.println("DAME LA BASE:<INPUT TYPE=TEXT NAME=BASE value="+base+"><BR>");

out.println("DAME LA ALTURA:<INPUT TYPE=TEXT NAME=ALTURA value="+altura+"><BR>");

(36)

out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>");

%>

corrida:

Solo grabarlo como prog1.jsp (ojo con notepad y su .txt), al folder web-inf luego ftp a tu sitio en

LUNARPAGES y llamarlo con

www.LUNARPAGES/tusitio/prog1.jsp Notas:

1. 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.

(37)

Comentarios <%– comentario –%> Ignorados cuando jsp es convertida a servlet y muy utiles para documentar nuestros programas jsp. Declaracion <%! Variables, metodos, etc %> Recordar que todo buen programa, empieza declarando variables.

2. Instruccion <%= instruccion %> Para poner una y solo una instrucción de java, ademas recordar que ya existen aparte ciertas instrucciones o variables predefinidas tales como request, response, out, session, application, config, and pageContext( tambien disponibles en scriptlets). Recordar ademas que cuando se use <%= una sola instrucción %>, la instrucción no debe terminar con punto y coma.

Scriptlet <% todo un programa completo %> Un scriptlet es un grupo de instruciones de java, como se deduce de esta definición, se usara muchos scriptltes en nuestros jsp.

Aqui si, las instucciones deben terminar con punto y coma

Un bloque de instruciones <% bloque java %>, puede empezar (<%) en un scriptlet y terminar en otro scriptlet, pero asegurarse de que todos los scriptlets se abran y se cierren.

Include Directive <%@ include file=“url” %> Se usa para incluir achivos en la pc que compila la jsp, esto se realiza al tiempo que la jsp es

convertida en servlet, el url debe ser relativo. 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. NOTA: HASTA AQUI SON LAS DIRECTIVAS O DELIMITADORES MAS COMUNES EN PROGRAMAS O APLICACIONES SENCILLAS

(38)

2.- En la parte de abajo se esta construyendo una pagina html dinamica, usando la

instrucción( mejor dicho objeto OUT) out.println de java, les recuerdo conseguir un buen tutorial de HTML y estudiarlo a fondo.

3. Se esta usando tres objetos TEXT de html (ver apendice html), de estos objetos se cargan su propiedad NAME y VALUE en este ultimo caso usando una variable normal de java jsp

4. Poner atención dentro del programa que cuando creamos objetos HTML se declaran en

mayusculas y cuando creamos variables java se declaran en minusculas, no es una regla pero si es una buena practica de programación.

5. Se esta usando un objeto HTML submit del cual se usan las propiedades NAME y VALUE, este objeto tiene como proposito principal activar la acción de la forma (llamarse a si mismo el prog1.jsp) y ademas mandar los datos que proporciono el usuario hacia el servidor.

6. La ultima parte de la pagina es FORM, todos los objetos html deberan estar encerrados entre esta forma o ventana, 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, la segunda parte es un metodo, es este caso es el metodo POST tambien se puede poner el

metodo GET, en ambos casos este metodo regresa los datos desde la pc del usuario hacia el servidor, 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. Al principio del programa se deberan declarar e inicializar a 0 o ”” todas las variables del

(39)

8. Se esta usando una instrucción IF para revisar el VALUE de SUBMIT, recordar que cuando el

usuario pide por primera vez el programa al servidor , el VALUE del objeto SUBMIT es “null”, ya que el usuario carga datos en los objetos TEXT y realiza un click en SUBMIT, el value de SUBMIT pasa a valer “evento1”.

9. Se esta usando el objeto

REQUEST.GETPARAMETER( VALUE OBJETO HTML) para leer la propiedad VALUE de los objetos HTML y de paso cargarlos en las variables java apropiadas.

10. Recordar que todos los datos que entran o salen de un objeto html seran de tipo string. 11. Por la razón del inciso 10 se esta usando

el metodo parseInt(string) para convertir la string a int.

12. Ya cargadas las variables se debera

realizar la operación apropiada, recordar incluir estas variables en la forma dinamica.

TAREAS PROGRAMACION JAVA JSP

15 DE LOS PROBLEMAS PROPUESTOS EN EL TEMA DE MODELO DE SOLUCION.

(40)

Apéndice: OBJETOS HTML

“Button, Submit, Reset, CheckBox, Radio, Password, Text, TextArea, Select, Hidden”

“Controles Button”, “Submit” y “Reset”. Propiedad

es Eventos Metodos

“form” “OnClick “click” “name” “OnFocus” “focus” “value”

“enabled”

Control “CheckBox”.

Propiedades Eventos Metodos

“form” “OnClick “click” “name” “OnFocus” “focus” “value” “enabled” “checked” “defaultcheck ed” Control “Radio”. Propiedad es Eventos Metodos

(41)

“name” “OnFocus” “focus” “value” “enabled” “checked ” Control “Password”. Propiedad es Eventos Metodos

“form” “OnBlur” “blur” “name” “OnFocus” “focus” “value”

“enabled”

Controles “Text” y “Textarea”s. Propiedad

es Eventos Metodos

“form” “OnBlur” “blur” “name” “OnFocus” “focus” “value”

“enabled”

Control “Select”.

Propiedades Eventos Metodos

“length” “OnBlur” “blur” “options” “OnFocus “focus” “selectedInd “OnChang

(42)

ex” e” Control “Hidden”. Propiedad es Eventos Metodos “name” “value”

(43)

Apéndice: Java Language Keywords

Here's a list of Java's keywords. These words are reserved–you cannot use any of these words as names in your Java programs. “true”, “false”, and “null” are not keywords but they are reserved words, so you cannot use them as names in your programs either.

“abstrac

t” “double” “int” “strictfp” && “boolean

” “else” “interface” “super” “break” “extends” “long” “switch” “byte” “final” “native” “synchronized” “case” “finally” “new” “this” “catch” “float” “package “throw” “char” “for” “private” “throws” “class” “goto” & “protected” “transient” “const”

% “if” “public” “try”

“continu

e” “implements” “return” “void” “default” “import” “short” “volatile” “do” “instanceof “static” “while”

% indicates a keyword that is not currently used %% indicates a keyword that was added for Java 2

(44)

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.

(45)

UNIDAD 2: CONTROL DE PROGRAMA

TEMA 2: JAVA JSP INSTRUCCIONES DE CONTROL DE PROGRAMA

Instrucciones de control de programa permiten alterar la secuencia normal de ejecución de un programa. Estas instrucciones se dividen en tres grandes categorías:

1. Instrucciones Condicionales que en java jsp se implemen

tan con las instrucciones if y switch. a. Instrucciones de ciclos con

 for  while  do while

En java jsp muchas de ellas tienen sus correspondientes componentes visuales, derivados de html.

(46)

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.

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.

En java jsp algunos ejemplos de instrucciones 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.

Todo lenguaje de programación como java jsp debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones.

(47)

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, es decir tambien existen los objetos, controles o componentes de selección y decisión en html.

El formato general de una instrucción condicional es:

Como se observa, son cuatro partes bien diferenciadas entre si;

• 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.

Esto dependerá del valor que tenga asignado o que se haya capturado para la variable que esta en la condición, 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

(48)

entonces el computador indicaría que la condición es FALSA.

Ya dependiendo del resultado de la evaluación, el computador ejecuta las instrucciones contenidas en el grupo de cierto o falso respectivamente.

En este curso de java jsp empezaremos el análisis por la CONDICIÓN.

(49)

UNIDAD 2: JAVA JSP INSTRUCCIONES DE

CONTROL DE PROGRAMA

TEMA 4: JAVA JSP CONDICIONES SIMPLES

En general todas las condiciones se forman con: Variabl

es Operadores Relaciónales ConstanteVariables o

sexo = m

sueldo > 300,000

En java jsp una condición simple se define como el conjunto de variables y/o constantes unidas por los llamados operadores relaciónales.

(50)

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 o es diferente que

Tambien observar y tener cuidado sobre todo con el operador de igualdad (y el operador relacional de comparación por igualdad es decir; sueldo = 500, Se esta pidiendo cargar o asignar la variable sueldo con el valor 500 sueldo == 500, Se esta pidiendo que se compare el valor o dato que se encuentra en la variable sueldo, contra el numero 500.

En java jsp solo este ultimo formato es valido dentro de una condición en una instrucción condicional.

Para objetos derivados de la clase STRING se usara el metodo str1.compareTo(str2) que regresa cero (0) si str1

es igual str2, regresa un positivo si str1 es mayor que str2 y regresa un negativo si str1 es menor que str2.

(51)

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, su formato completo y de trabajo en java jsp es:

cargar o asignar la variable de condición; if (condición)

{ grupo cierto de instrucciones;} else

{ grupo falso de instrucciones; };

Primus.- Observar donde van y donde no van los puntos y comas;

Secundus.- La condición va entre paréntesis ;

Tertius.- Si un if no ocupa un grupo falso de instrucciones entonces no se pone el else, y la llave antes del else si terminaría con punto y coma.

Ejemplo: Prog2 jsp

<%

// declarando

int sueldo=0;String res="";

if(request.getParameter("OK") != null) { sueldo = Integer.parseInt(request.getParameter("SUELDO")); if (sueldo >= 3000) { res="RICO"; } else {res="POBRE"; }; };

// construyendo forma dinamica

out.println("<FORM ACTION=prog2.jsp METHOD=post>"); out.println("DAME SUELDO:<INPUT TYPE=TEXT NAME=SUELDO value="+sueldo+"><BR>");

out.println("EVALUACION:<INPUT TYPE=TEXT NAME=RES value="+res+"><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>");

(52)

%>

Recordar que es valido usar mas de una instrucción dentro del grupo cierto o falso del if.

Recorar ademas que para el caso de strings usar: if ( carrera.compareTo(“informatica”) == 0 )

TAREAS PROGRAMACION JAVA JSP

1. Capturar un numero cualesquiera e informar si es o no es mayor de 100.

2. Capturar un numero entero cualesquiera e informar si es o no es múltiplo de 4 ( recordar el operador mod(%), analizado en el tema de operadores aritméticos).

3. Capturar los cinco datos mas importantes de un Empleado, incluyendo el sueldo diario y los días trabajados desplegarle su cheque semanal solo si ganó mas de $500.00 en la semana, en caso contrario desplegarle un bono de despensa semanal de $150.00.

4. 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, 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.

5. Capturar los datos mas importantes de una mercancia cualesquiera, incluyendo cantidad, precio, etc. desplegar una orden de compra, solo si el producto es de origen nacional, en caso contrario no hacer nada.

(53)

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.

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.

Una condición compuesta se define como dos o mas condiciones simples unidas por los llamados operadores lógicos.

Los operadores lógicos que java jsp reconoce son: OPERAD

OR SIGNIFICADO

&& “Y” LOGICO

“O” LOGICO ! NEGACION“NO”

Ejemplo:

if ( (sueldo >100) && ( sexo=='m') ) etc, etc, etc. Y recordar que para comparar strings usar;

if ( carrera.compareTo(“informatica”) == 0 ) Notas:

(54)

Observar que cada condición simple lleva sus propios parentesis.

Si la variable es de tipo string el dato va entre comillas(”), pero si la variable es de tipo char el dato va entre apostrofes(').

Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico ”&&”, las dos condiciones simples deben ser ciertas. Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico “||”, basta con que una de las condiciones simples sea cierta.

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, la primera mitad de ellos empieza en cierto y la segunda mitad en falso.

Ejemplo, si formamos una condición compuesta con dos condiciones simples y el operador lógico “y”, la cantidad total de casos posibles serian , y se puede construir la siguiente tabla de verdad.

Tabla de verdad con “y”

IRA COND

SIMPLE 2DASIMPLE COND EVALUACION

C C C

C F F

F C F

(55)

La evaluación final, se obtiene usando la regla anteriormente descrita para una condición compuesta, que contiene el operador “Y”.

Esta tabla significa lo siguiente;

1. Cualquiera que sean la cantidad de datos procesados, siempre caerá en uno de estos cuatro casos generales.

La tabla de verdad para una condición compuesta con “Or” es la siguiente;

IRA COND

SIMPLE 2DASIMPLE COND EVALUACION

C C C

C F C

F C C

F F F

Construir una tabla de verdad para una condición compuesta de tres o mas condiciones simples, es también tarea sencilla, solo recordar que;

1. La cantidad posible de casos es casos posibles, la mitad empiezan con Cierto y la otra mitad empiezan con Falso.

2. 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.

Ejemplo una condición compuesta de tres condiciones simples, donde el primer operador lógico es el “y” y el segundo operador lógico es el “O”, daría la siguiente tabla de verdad.

(56)

cond cond 2a cond 3ra C C C C C C C C F C C F F C C C F F F F F C F C C F C F F F F F F C C F F F F F

TAREAS PROGRAMACION JAVA JSP

1. 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. Construir un programa que indique si un numero es un par positivo.

3. Capturar los datos de una mercancia incluyendo su cantidad en existencia, desplegar una orden de compra si la cantidad en existencia del producto es menor que el punto de reorden, o si el origen del producto es nacional.

4. Construir un programa que capture los datos de un empleado, desplegar en una pagina su cheque semanal si gana mas de $500.00 y si esta en el departamento de producción, en caso contrario desplegarle en otra pagina un bono de despensa del 25% de su sueldo semanal.

(57)

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, 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.

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, es decir enteras, character, cuando el computador encuentra el valor de igualdad entre variable y constante entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este ultimo es opcional.

El formato de esta instrucción es el siguiente: capturar o asignar variable de condición; switch(var OPCION)

{

case const1: instrucción(es); break;

case const2: instrucción(es); break;

case const3: instrucción(es); break; ………

(58)

}; prog3 jsp <% // declarando char letra=' '; if(request.getParameter("OK") != null) {

//recordar que TEXTBOX contiene una string letra=request.getParameter("LETRA").charAt(0); switch(letra) {case 'a': out.println("aguila "); break; case 'b': case 'B': out.println("baca "); break; case 'c': out.println("caballo "); break; default: out.println("no hay "); };

// observar que se puede escribir direcatmente a la pagina dinamica // esto es para los flojos

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog3.jsp METHOD=post>"); out.println("DAME UNA LETRA:<INPUT TYPE=TEXT NAME=LETRA value="+letra+"><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>");

%>

TAREAS PROGRAMACION JAVA JSP

1. Construir un programa que capture un deporte cualesquiera y despliegue dos implementos deportivos apropiados.

2. Evaluar cualquier función vista para cuando x =3,-4, 5

(59)

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.

Ejemplo de esta clase de datos, son por ejemplos Municipio en BC las posibles respuestas solo son (Tecate, Tijuana, Mexicali, Ensenada, Rosarito), otro ejemplo es Sexo (Hombre, Mujer), etc.

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.

Este componente SELECT DEBERA CONSTRUIRSE EN dos partes una parte de encabezado para poner el nombre del grupo de respuestas( por ejemplo municipios, sexo, etc.)

(60)

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.jsp <% // declarando String municipio=""; if(request.getParameter("OK") != null) { municipio =request.getParameter("MUNICIPIO"); out.println(municipio+" ="); if (municipio.compareTo("ENSENADA")==0) out.println("TIBIO"); if (municipio.compareTo("TIJUANA")==0) out.println("HELADO"); if (municipio.compareTo("MEXICALI")==0) out.println("CALIENTE"); };

// construyendo forma dinamica

out.println("<FORM ACTION=prog4.jsp METHOD=post>"); out.println("<B>MUNICIPIOS</B>");

out.println("<SELECT NAME=MUNICIPIO>");

out.println("<OPTION>ENSENADA<OPTION>TECATE<OPTION>TIJUANA<OPTION>ME XICALI");

out.println("</SELECT>");

out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>");

%>

TAREAS PROGRAMACION JAVA JSP

1. Arreglar un par de los programas anteriores agregandole este control a los que se puedan.

2. Evaluar la función para x = 2,-5, 8.

3. Construir una forma.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.

(61)

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.

(62)

Codigo prog5 jsp

<%! String m,n,f; %> <%

// observar declaracion y usando las otras directivas if(request.getParameter("OK") != null) { m=request.getParameter("M"); n=request.getParameter("N"); f=request.getParameter("F"); try{

if (m.compareTo("on")==0) out.println("masculino checado<br>"); }catch(java.lang.NullPointerException e){};

try{

if (n.compareTo("on")==0) out.println("neutro checado<br>"); }catch(java.lang.NullPointerException e){};

try{

if (f.compareTo("on")==0) out.println("femenino checado<br>"); }catch(java.lang.NullPointerException e){};

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog5.jsp METHOD=post>"); out.println("<b>sexo:</b><br>");

out.println("<input type=checkbox name=M checked>masculino<br>"); out.println("<input type=checkbox name=F >femenino<br>");

out.println("<input type=checkbox name=N checked>neutro<br>"); out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>"); out.println("</FORM>");

%>

Notas:

1. grabarlo y subirlo como prog5. jsp a tu sitio en programacionfacil.com

2. La propiedad name debera ser diferente en cada checkbox usado, la propiedad checked se usa para que aparezca ya palomeado o seleccionado el control.

3. Cuando se activa prog5 jsp, esta forma manda el par NAME = on solo de los checkbox que fuerón seleccionados.

(63)

Como ya se indico, esta forma va a mandar el par NAME=on asi que esto es sencillo en java jsp, 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, 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, este tema se refiere a eehhrorres y excepciones al tiempo de ejecución del programa.

Java tiene un mecanismo muy completo para el manejo de errores y excepciones, un ERROR ocurre generalmente al tiempo de estarse ejecutandose un programa, por ejemplo una division entre cero.

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, 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:

(64)

Esta excepción ocurrio al tiempo de ejecución del programa y por el problema ya descrito y explicado. 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.

Si errores o excepciones no son atrapadas(catch) el programa terminara su ejecución y mandara el aviso al usuario, 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. Este mecanismo de correccion de errores es la clausula o instruccion

Referencias

Documento similar

4.- Másteres del ámbito de la Biología Molecular y Biotecnología (9% de los títulos. Destaca el de Biotecnología Molecular de la UB con un 4% y se incluyen otros

- Fase Visual: Color rojo cereza. Puede presentar un pequeño precipitado de sales tartáricas o de polifenoles polimerizados. - Fase Olfativa: Aroma limpio y complejo, donde destaca

Debido a la calidad y el legado de nuestra compañía, los cuales se reflejan en nuestros pianos, elegir un instrumento hecho por Steinway &amp; Sons tiende a ser una decisión

- Un curso formativo para los técnicos de laboratorio de la UPV sobre la prevención de los residuos en los laboratorios, que se llevará a cabo los días 23, 24, 25, 26 y 27

Sin duda esta iglesia es la más espectacular de la isla, no solo por donde se encuentra ubicada y por las impresionantes vistas de Oía a lo lejos, si no porque es un lugar muy

Quizás tengas muchas ideas nuevas, quizás las situaciones sean demasiado desconocidas para ti, quizás te falta información para poder decidir, en todas ellas la solución es

Esta formación se produce mediante el doctorado (13 alumnos, lo que significa el 32% de los encuestados), diferentes másteres entre los que destacan de nuevo el de Profesorado

OBJETO: Realizar una consultoría para documentar y contar con las herramientas y la metodología para transferir a otras entidades los procesos de la Estrategia