Anda di halaman 1dari 85

nformacin 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 fsicos, ni por su poder militar, sino por la cantidad de informacin
que produce y consume, as como por la recombinacin de informacin
nueva en un conocimiento de grado superior.
Nuevos sistemas de informacin, tienden a ser cada vez de mayor
alcance y complejidad sobre todo cuando se toman en cuenta la nuevas
necesidades de informacin y conocimiento que demandan las nuevas
organizaciones.
Nuevos sistemas de informacin son costosos en tiempos y recursos, la
solucin moderna de sistemas de informacin exigen herramientas y
metodologas que resuelvan rapida, econmica, eficiente y de manera
global, problemas de informacin y conocimiento planteados por las
organizaciones.
Ademas 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 programacion se ocupan para la creacion de
nuevos sistemas y necesidades creativas de informacion.
Java un lenguaje de programacion moderno implementado por la
compaa www.java.sun.com a a finales de 1996, se ha convertido en el
lenguaje estandar para la construccion de aplicaciones basadas en
internet asi como de los nuevos modelos de programacin, tales como
programacion movil, programacion para dispositivos, porgramacion para
servicios web, etc.
En programacin orientada a objetos ( OOP ) un programa es
considerado como un sistema de objetos interactuando entre s,
ambientes de desarrollo visuales facilitan aun ms la construccin de
programas y solucin de problemas, porque permiten abstraer al
ingeniero de software de todo el GUI (interfase grfica) del problema, que
constituye ms del 60% del cdigo normal de un programa.
En OOP todo problema aun aquellos sencillos de informacin, se
consideran y resuelven como mdulos de cdigo gigante (clase) que
contiene todo el cdigo necesario(variables, procedimientos, funciones,
interfaces, etc.) para solucionar el problema.
En programacion java basica, se tiene la mezcla de lo mejor de estos tres
mundos, es decir construimos programas, aplicaciones y sistemas de
informacion usando tecnivas estructuradas, contruyendo objetos y
diseando sistemas graficos, y todo orientado a la construccin de
sistemas de informacin basados en redes de cualquier tipo o tamao.
UNIDAD 1: JAVA JSP ELEMENTOS BSICOS
TEMA 2: MODELO DE SOLUCIN JAVA JSP
En general un problema de informacin 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 solucin.
Una herramienta rpida que nos permite descomponer en partes un
problema para su solucin es el llamado modelo de solucin, esta
consiste de una pequea caja que contiene los tres elementos ms
bsicos en que se puede descomponer cualquier problema sencillo de
informacin, 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
matemtica, ej. X= y + 5).
LA TERCERA PARTE es el resultado o solucin del problema que
generalmente se obtiene de la parte de operaciones del modelo y dichos
datos estn almacenados en las llamadas variables de salida.
En resumen para todo problema sencillo de informacin 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 informacin o variables de salida se van a desplegar en pantalla
para responder al problema planteado originalmente?
Como nota importante no confundir los trminos datos, variables e
informacin:
Datos se refiere a informacin en bruto no procesada ni catalogada, por
ejemplo Tijuana, calle primera # 213,15 aos, $2,520.00, etc.
Variables es el nombre de una localidad o direccin interna en la
memoria del computador donde se almacenan los datos, ejemplo de
variables para los casos del inciso anterior, CIUDAD, DIRECCIN,
EDAD, SUELDO, ETC.
Informacin son datos ya procesados que resuelven un problema
planteado.
EJEMPLO DE MODELO DE SOLUCIN
Construir un modelo de solucin que resuelva el problema de calcular el
rea de un tringulo con la formula rea igual a base por altura sobre
dos.
Variable(s) de
Entrada
Proceso u Operacin
Variable(s) de
Salida
BASE ALTURA
AREA= BASE * ALTURA /
2
AREA
PROBLEMA 2.- CONVERTIR LA EDAD EN AOS DE UNA PERSONA A
MESES.
PROBLEMA 3.- CONVERTIR PESOS A DLARES.
PROBLEMA 4.- CALCULAR EL REA DE UN CIRCULO CON LA
FORMULA

PROBLEMA 5.- EVALUAR LA FUNCIN 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 tambin que existirn problemas sencillos donde:
No se ocupan entradas o no se ocupan operaciones, pero todos
ocupan salida.
Una formula grande o muy compleja puede ser ms segura y fcil de
resolver, si es descompuesta y resuelta en partes, juntando al final
los parciales para obtener el resultado final.
Un problema puede tener ms de una solucin correcta.
El problema no esta suficientemente explicado o enunciado, entonces,
estudiarlo, analizarlo y construirlo de manera genrica.
TAREAS PROGRAMACION JAVA JSP
Construir los modelos de solucin de los siguientes problemas:
PROBLEMA 6.- Convertir millas a kilmetros (caso normal)
PROBLEMA 7.- Convertir 125 metros a centmetros (no ocupa entradas)
PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada rbol
en la UABC, tambin se calcula que en cada nido existen un promedio
de 5.8 pjaros, se pide calcular la cantidad total de nidos y de pjaros en
los 227 arboles que existen en la UABC. (no ocupa entradas)
PROBLEMA 9.- La gorda Sra. Lpez 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 automvil (no ocupa operaciones)
PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 Kms, si un
automvil 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 funcin para cualquier valor de x. (caso
normal).
PROBLEMA 13.-Evaluar la funcin para cuando x vale 4 . (no ocupa
entradas).


UNIDAD I: JAVA JSP ELEMENTOS BSICOS
TEMA 3: JAVA JSP VARIABLES
Identificadores son conjuntos de letras y/o nmeros 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( pequeos mdulos con
cdigo), 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 ejecucin de un
programa.
Existen ciertas reglas en cuanto a variables:
Claras y con referencia directa al problema.
No espacios en blanco, ni smbolos extraos en ellas.
Se pueden usar abreviaturas, pero solo de carcter general.
No deben ser palabras reservadas del lenguaje.
Ejemplos de buenas variables:
Nombre, Edad, SdoDiario, IngMensual, Permetro, Calif1, etc.
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
especfico.
Un tipo de dato define todo el posible rango de valores que una variable
puede tomar al momento de ejecucin del programa y a lo largo de toda
la vida til del propio programa.
Los tipos de datos ms comunes en java jsp son:
Primitive Data Types
Keywor
d
Description Size/Format
(integers)
byte Byte-length integer 8-bit two's complement
short Short integer 16-bit two's complement
int Integer 32-bit two's complement
long Long integer 64-bit two's complement
(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-bit Unicode character
boolea
n
A boolean value (true or false) true or 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, ej;
String nombre= new String();
String ciudad= new String(Tijuana);
En este ultimo caso se crea la string y se inicializa con un dato o valor.
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);
}
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
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); } *** La misma fuente y notas
anteriores



TEMA 6: JAVA JSP OPERADORES ARITMETICOS
Un operador es un smbolo especial que indica al compilador que debe
efectuar una operacin matemtica o lgica.
Java jSP reconoce los siguientes operadores aritmticos:
Operad
or
Operacin
+ Suma
- Resta
* Multiplicacion
/ Division
%
Residuo o
Modulo
Como notas importantes a recordar siempre;
En problemas de division entre enteros, java trunca la parte residual, ej;
Desplegar> 13/5 > el resultado es 2
Mas adelante se dira como resolver este problema.
Para resolver los problemas de potencias y races, se usan ciertas
instrucciones especiales que proporciona el lenguaje, llamadas funciones
matemticas, en java existe toda una librera de instrucciones o
funciones matemticas.
Recordar que todas las funciones reciben uno o ms datos o valores y
regresan siempre un resultado, una de estas funciones matemticas es:
import java.lang.math ;
public static double pow(double a, double b);
Esta funcin ocupa dos valores o datos( base y exp) ambos de tipo
double, y regresa un resultado tambin de tipo double, ejemplo;
* resolver el problema de calcular
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 races, se aprovecha una de las mas
elementales y conocida de las leyes de exponentes que dice:

Es decir una raz cualquiera se puede transformar a una potencia con un
exponente fraccionario.
Ejemplo:
problema y = 3 x esto es equivalente a entonces
Usando la funcin pow
y= 3*Math.pow(x, 0.5);
* En este ejemplo no funcional se esta dando por supuesto que no
interesa el tipo de dato que requiere la funcin 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);
public static double cos(double a);
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);
}

UNIDAD 7: JAVA JSP ELEMENTOS BASICOS
TEMA 7: JAVA JSP OPERADOR CAST y CONVERSIONES
Se puede forzar un dato, variable o una expresin 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:
// declaracin

int alfa;

// Asignacin

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 tendrn 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:
El de la divisin entre enteros.
El tipo de dato especifico que requieren las funciones.
Ejemplos:
a) // Declaracin

float alfa;

// Operacin

alfa = (float)23/5;

// Pero en estos casos es preferible

alfa=23/5.0;

En toda divisin 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)// Declaracin

double potencia;

// Operacin

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

Como se observa en el ejemplo, se puede usar pow(), directamente con
los datos, argumentos o parmetros requeridos , si estos son numricos,
pero transformndolos con el operador cast.
Esto tambin va a permitir evaluar expresiones matemticas de manera
mas directa y sencilla, solo recordando usar un pow() por cada potencia y
cada raz de la ecuacin, ejemplo:
sea
dentro de un programa esto se resuelve con;
// rea de declaracin 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,
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();
B.3) Objeto Numerico a Objeto Numerico
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():


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 jerarqua de
los operadores al plantear y resolver una operacin 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.- Parntesis
2.- Potencias y races
3.- Multiplicaciones y divisiones
4.- Sumas y restas
5.- Dos o ms de la misma jerarqua u orden, entonces
resolver de izquierda a derecha
Nota: Si se quiere alterar el orden normal de operaciones,
entonces usar parntesis.
Nota: Tampoco es bueno usar parntesis de mas en una
operacin, esto solo indica que no se evalo bien la formula, como
en el siguiente ejemplo;

aqu los parntesis estn de mas, porque por orden de
operaciones, multiplicacin y divisin tienen la misma jerarqua y
entonces se resuelven de izquierda a derecha, en sus programas
de java jsp ni que falten parntesis ni que sobren parntesis.

UNIDAD 1: JAVA JSP ELEMENTOS BASICOS
TEMA 9: APLICACIONES JAVA JSP
Recordar que JAVA es un lenguaje de programacin moderno, que esta
enfocado a la construccin de sistemas de informacion que se ejecutarn
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.
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 actualizacin 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 aplicacin, cuando
al web server le piden un jsp, lo compila, lo convierte a servlet con
todas las implicaciones que se mencionarn 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.
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
construccin de programas, apliacciones y sistemas de
informacin modernos.
RECORDAR que en este modelo de programacion nuestros
programas se van a almacenar y estar ejecutando en un servidor
de paginas, es por esta razon que les recomiendo usar un sitio de
hospedaje adecuado, DE LA MANERA MAS PROFESIONAL
POSIBLE.
Yo recomiendo Brinkster for web hosting click here! PARA
COMPRAR EL HOSPEDAJE, cualquier tarjeta de debito o credito
se puede usar, excepto las electron**
DEPENDIENDO DEL CURSO SELECCIONAR El PAQUETE
WINDOWS O LINUX APROPIADO PARA QUE PUEDAN
ALMACENAR Y CARGAR TODOS LOS PROGRAMAS Y
EJEMPLOS DE ESTE SITIO DE PROGRAMACIONFACIL.
UNIDAD 1: JAVA JSP ELEMENTOS BSICOS
TEMA 10: JAVA JSP CONCEPTOS BSICOS DE PROGRAMACION
ORIENTADA OBJETOS
Para nuestro propsito en general un objeto puede definirse como
cualquier cosa, ente o entidad fsica o lgica de informacin.
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 caractersticas 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 categora.
Las propiedades mas generales son forma, color, tamao, peso, etc.,
pero ya en particular:
Chamarra Marca, material, precio, color, tamao, etc
Alumno Matricula, nombre, edad, domicilio, etc.
Gato Raza, nombre, color, edad, etc.
VentanaWindows>Tamao, Color, font, etc.
b) Mtodos: Son las conductas propias de la naturaleza del objeto.
As como las propiedades son el ser (que es) del objeto, los mtodos son
el hacer (que hacer) del objeto.
ejemplo de mtodos:
Gato > Maullar(), comer(), correr(), saltar(), etc.
Alumno> Estudiar(), comer(), asistir clase(), pintear()
Cuaderno>Esescrito(), esrayado(), esborrado(), etc.
VentanaWindows> Abrir(), cerrar(), maximizar(), etc.
c) Eventos: Es la relacin (de varias maneras) que se puede dar entre
dos objetos ya sean de la misma o diferente clase.
Un evento se manifiesta como un interaccin entre dos objetos, en
general al momento de la relacin al mismo tiempo se dar una reaccin
o respuesta por parte de los dos objetos que se manifiestan como una
serie, cadena o conjuntos de mtodos propios que se activan o disparan,
ejemplo:
Evento
Relaci
n
Mtodos que se activan
gato detecta gata
detect
ar
maullar(), correr(), oler()
gato detecta perro
detect
ar
bufar(), saltar(), correr()
maestro ensea alumno
Ense
ar
pasar lista(), preguntar(), etc
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 ejemplo hay controles
especializados en desplegar textos o mensajes, otros controles se
especializan en desplegar imgenes o vdeos, otros en manipular
directorios o archivos en disco, etc.
Pero en general tanto las formas como los controles no dejan
de ser objetos en programacin y por tanto tienen sus
propiedades, mtodos y estn sujetos a eventos.

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 construccin 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 aplicacin, 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 pequeo 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>");

out.println("AREA:<INPUT TYPE=TEXT NAME=AREA
value="+area+"><BR>");

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 instruccines de java %> ) donde
cada uno de ellos tiene un proposito definido.
Otros delimitadores son:
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.
Instruccion <%= instruccion %> Para poner una y solo una
instruccin 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
instruccin %>, la instruccin 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
definicin, 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
2.- En la parte de abajo se esta construyendo una pagina
html dinamica, usando la instruccin( 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 atencin 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 programacin.
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 accin 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 accin y en este
caso la accin 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 programa.
8.- Se esta usando una instruccin 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 razn 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
operacin 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.
OBJETOS HTML
Button, Submit, Reset, CheckBox, Radio, Password, Text,
TextArea, Select, Hidden
Controles Button, Submit y Reset.
Propiedade
s
Eventos Metodos
form OnClick click
name OnFocus focus
value
enabled
Control CheckBox.
Propiedades Eventos Metodos
form OnClick click
name OnFocus focus
value
enabled
checked
defaultchecked
Control Radio.
Propiedade
s
Eventos Metodos
form OnClick click
name OnFocus focus
value
enabled
checked
Control Password.
Propiedade
s
Eventos Metodos
form OnBlur blur
name OnFocus focus
value
enabled
Controles Text y Textareas.
Propiedade
s
Eventos Metodos
form OnBlur blur
name OnFocus focus
value
enabled
Control Select.
Propiedades Eventos Metodos
length OnBlur blur
options OnFocus focus
selectedIndex

OnChang
e

Control Hidden.
Propiedade
s
Eventos Metodos
name
value


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.
abstract 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
continue

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
JAVA.SUN.COM

UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 1: JAVA JSP INTRODUCCIN
En este capitulo se continua siguiendo el esquema de trabajo ya
planteado en el capitulo anterior, es decir:
Construccin de programas mezclando una pagina con forma html y un
programa de tipo jsp
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 ejecucin de un programa.
Estas instrucciones se dividen en tres grandes categoras:
1.- Instrucciones Condicionales que en java jsp se implementan con las
instrucciones if y switch.
b) Instrucciones de ciclos con
for
while
do while
En java jsp muchas de ellas tienen sus correspondientes componentes
visuales, derivados de html.

UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 3: JAVA JSP INSTRUCCIONES CONDICIONALES
Una de las mas poderosas caractersticas de cualquier computador es la
capacidad que tiene de tomar decisiones.
Es decir al comparar dos alternativas diferentes el computador puede
tomar una decisin basndose en la evaluacin que hace de alguna
condicin.
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
dependern de la evaluacin que el computador hace con y de la
condicin.
Todo lenguaje de programacin como java jsp debe tener instrucciones
que permitan formar condiciones e instrucciones que pueden evaluar
esas condiciones.
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 seleccin y
decisin en html.
El formato general de una instruccin condicional es:

Como se observa, son cuatro partes bien diferenciadas entre si;
La propia instruccin condicional en si
La condicin
El grupo cierto de instrucciones
El grupo falso de instrucciones
Cuando el computador evala una condicin el resultado de esa
evaluacin solo es evaluado de dos maneras o la condicin es CIERTA o
la condicin es FALSA.
Esto depender del valor que tenga asignado o que se haya capturado
para la variable que esta en la condicin, por ejemplo si se capturo 6000
en sueldo en el ejemplo a) entonces el computador indicara que la
condicin es CIERTA pero en otro caso si a la variable sueldo primero se
le asigno un valor de 250 entonces el computador indicara que la
condicin es FALSA.
Ya dependiendo del resultado de la evaluacin, el computador ejecuta
las instrucciones contenidas en el grupo de cierto o falso
respectivamente.
En este curso de java jsp empezaremos el anlisis por la CONDICIN.
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
Relacinales
Constante o
Variables
sexo = m
sueldo > 300,000
En java jsp una condicin simple se define como el conjunto de variables
y/o constantes unidas por los llamados operadores relacinales.
UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 5: JAVA JSP OPERADORES RELACIONALES
Los operadores relacinales 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 comparacin 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 condicin en
una instruccin 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.




UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 6: JAVA JSP INSTRUCCIN IF
Es la instruccin condicional mas usada en los diversos lenguajes de
programacin, su formato completo y de trabajo en java jsp es:
cargar o asignar la variable de condicin;
if (condicin)
{ grupo cierto de instrucciones;}
else
{ grupo falso de instrucciones; };
Primus.- Observar donde van y donde no van los puntos y comas;
Secundus.- La condicin va entre parntesis ;
Tertius.- Si un if no ocupa un grupo falso de instrucciones entonces no se
pone el else, y la llave antes del else si terminara 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>");

%>

Para ejecutarlos subirlos a tu sitio en programacinfacil y pedirlo desde
ah con la direccin http://programacionfacil.com/tusitio/prog4.html
Corrida prog2 jsp

Recordar que es valido usar mas de una instruccin 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
mltiplo de 4 ( recordar el operador mod(%), analizado en el tema de
operadores aritmticos).
3.- Capturar los cinco datos mas importantes de un Empleado,
incluyendo el sueldo diario y los das 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.
UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 7: JAVA JSP CONDICIONES COMPUESTAS
En muchas ocasiones es necesario presentar mas de una condicin para
su evaluacin 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 condicin compuesta se define como dos o mas condiciones
simples unidas por los llamados operadores lgicos.
Los operadores lgicos que java jsp reconoce son:
OPERAD
OR
SIGNIFICADO
&& Y LOGICO
O LOGICO
!
NO
NEGACION

Ejemplo:
if ( (sueldo >100) && ( sexo=='m') ) etc, etc, etc.
Y recordar que para comparar strings usar;
if ( carrera.compareTo(informatica) == 0 )
Notas:
Observar que cada condicin 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 evale como CIERTA una condicin compuesta
que contiene el operador lgico &&, las dos condiciones simples deben
ser ciertas.
Para que el computador evale como CIERTA una condicin compuesta
que contiene el operador lgico ||, 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 relacin donde n = cantidad de
condiciones, la primera mitad de ellos empieza en cierto y la segunda
mitad en falso.
Ejemplo, si formamos una condicin compuesta con dos condiciones
simples y el operador lgico 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
2DA COND
SIMPLE
EVALUACI
ON
C C C
C F F
F C F
F F F
La evaluacin final, se obtiene usando la regla anteriormente descrita
para una condicin 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 condicin compuesta con Or es la
siguiente;
IRA COND
SIMPLE
2DA COND
SIMPLE
EVALUACI
ON
C C C
C F C
F C C
F F F
Construir una tabla de verdad para una condicin compuesta de tres o
mas condiciones simples, es tambin 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 condicin triple primero se evalan las dos primeras
incluyendo su operador bajo las reglas ya descritas y luego se evala el
resultado parcial contra la ultima condicin y ultimo operador para
obtener la evaluacin final.
Ejemplo una condicin compuesta de tres condiciones simples, donde el
primer operador lgico es el y y el segundo operador lgico es el O,
dara la siguiente tabla de verdad.
Ira
cond
2da
cond
Eval 1a Y
2a
3ra
cond
Eval eval O
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 mltiplo 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 produccin, en caso contrario desplegarle
en otra pagina un bono de despensa del 25% de su sueldo semanal.
UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 8: JAVA JSP INSTRUCCIN SWITCH
Tambin existen ocasiones o programas donde se exige evaluar muchas
condiciones a la vez, en estos casos o se usa una condicin compuesta
muy grande o se debe intentar convertir el problema a uno que se pueda
resolver usando la instruccin SWITCH.
Esta instruccin es una instruccin de decisin mltiple 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 instruccin es el siguiente;
capturar o asignar variable de condicin;
switch(var OPCION)
{
case const1: instruccin(es);
break;
case const2: instruccin(es);
break;
case const3: instruccin(es);
break;
default: instruccin(es);
};
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>");

%>

corrida:

Observar el caso b, observar como se pueden usar mas de dos case
con un solo break sorry por lo de BACA pero el unico animalito que me
acorde fue el BURRO y luego mis alumnos se sienten aludidos y
ofendidos.
TAREAS PROGRAMACION JAVA JSP
1.- Construir un programa que capture un deporte cualesquiera y
despliegue dos implementos deportivos apropiados.
2.- Evaluar cualquier funcin vista para cuando x =3,-4, 5
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 pequeo
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 edicin
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.)
La segunda parte es la lista de opciones o respuestas que se debe
cargar al tiempo de ejecucin 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>MEXICALI");

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

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

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

%>

CORRIDA:

Notas:
1.- Observar que el servidor de paginas devolvio el par
MUNICIPIO=TIJUANA que estamos capturando en nuestra variable
municipio.
TAREAS PROGRAMACION JAVA JSP
1.- Arreglar un par de los programas anteriores agregandole este control
a los que se puedan.
2.- Evaluar la funcin para x = 2,-5, 8
3.- Construir una forma.html con los datos de un automvil(usar puros
select) y construir dos paginas de salida o respuesta una con un plan de
financiamiento a dos aos u otra con un plan de financiamiento a tres
aos.
UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA
TEMA 10: JAVA JSP CHECKBOX Y EXCEPCIONES
El componente CheckBox , permite seleccionar una opcin al usuario del
programa o tomar una decisin directamente en pantalla.
Ejemplos de uso:

Observar que dos o mas checkboxs pueden estar seleccionados a la
vez.
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 tusitio 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 fuern seleccionados.
Corrida:

Para programar este componente:
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 validacin y no olvidar subirlo a tu sitio.
ERRORES Y EXCEPCIONES
Estos problemas de errores y excepciones que en java, se producen al
tiempo de execucin del programa son los problemas normales de mal
codigo y que tambien se producen al tiempo de compilacin no al tiempo
de ejecucion del programa, este tema se refiere a eehhrorres y
excepciones al tiempo de ejecucin 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 ejecucin del
programa cuando en alguna parte del programa se produce alguna
condicin 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 comparacin java avisa de una
excepcion como se muestra en la siguiente pantalla ejemplo:

Esta excepcin ocurrio al tiempo de ejecucin 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 ejecucin, mientras que un error aunque
sea atrapado(catch) por el programa y el programador el programa
suspendera y terminara su ejecucin.
Si errores o excepciones no son atrapadas(catch) el programa terminara
su ejecucin y mandara el aviso al usuario, como se demuestra en la
pantallita de arriba.
Es por esta razn que es conveniente y necesario atrapar (catch) errores
o excepciones, asi el programador podra incluir algun mecanismo de
correccin 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
Try{

Instrucciones normales de java;

} catch(tipo de error o excepcion var de error){ inst de
aviso o correc de error puede incluir la var de error ; };

Un try-catch puede encerrar una instruccion de java, un grupo de
instrucciones de java o todo el programa completo.
En el prog5 jsp se uso un try-catch en cada if, 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.
En resumen cuando en algun programa al tiempo de ejecucin les
aparezca un error o excepcion van a ocupar usar try-catch para atraparlo
o corregirlo, 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 excepcin y observar que la misma excepcion que
aparecio en dicha pantallita, se puso en la clausula catch.
Si aparecen mas errores o excepciones en un programa es valido que un
try lleve mas de un catch.
TAREAS PROGRAMACION JAVA JSP
1.- Evaluar la funcin para x = 2,-5, 8 (usar un CheckBox por cada valor
de x, y programar cada el if de cada CheckBox con la operacin
correspondiente y el despliegue del resultado).
2.- Construir un pagina html con los datos de un automvil y una
segunda pagina muestra un plan de financiamiento a dos aos y una
tercera pagina muestra un plan de financiamiento a tres aos.
3.- Construir un programa de seleccion de mens, las opciones seran
algunos de los programas ya hechos.(se recomienda que en cada if
construyan la forma o pagina de manera dinamica de la forma html que
tienen en el programa correspondiente)

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 dems componentes radioButton en la
forma, se deseleccionan solos es por esta razn que decimos que
radiobotones son mutuamente excluyentes.
Codigo prog6 jsp
<%! String sexo, carrera; %>

<%

// es mejor esta declaracion no hay que inicializar

if(request.getParameter("OK") != null)

{

sexo=request.getParameter("SEXO");

carrera=request.getParameter("CARRERA");

out.println("carrera="+carrera+"<br>");

out.println("sexo="+sexo+"<br>");

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog6.jsp METHOD=post>");

out.println("sexo:<br>");

out.println("<input type=radio name=SEXO value=masculino
checked>masculino<br>");

out.println("<input type=radio name=SEXO
value=femenino>femenino<br>");

out.println("<input type=radio name=SEXO
value=neutro>neutro<br>");

out.println("carrera:<br>");

out.println("<input type=radio name=CARRERA value=sistemas
checked>sistemas<br>");

out.println("<input type=radio name=CARRERA
value=informatica>informatica<br>");

out.println("<input type=radio name=CARRERA
value=medicina>medicina<br>");

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

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

%>

1.- 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.
2.- Recordar que en checkbox(tema anterior) la propiedad NAME debe
ser distinta para cada uno de ellos, mientras que en radiobutton es la
misma para todo un grupo similar de ellos.
3.- La razn principal para esta situacin 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.
4.- Tambien tienen la propiedad checked para que aparezcan
seleccionados al cargar el programa prog6 jsp
5.- A diferencia del checkbox, html va a regresar solamente el par
NAME=VALUE de el radiobuton que este seleccionado, esto lo hace
por cada grupo de radiobotones que tengamos en la forma html
Rrecordar que html regresa un y solo un par NAME=VALUE por cada
grupo de radiobutton's que existan en la forma.html, asi que es bastante
sencillo tomar el valor del radiobuton seleccionado y ya cargado este
valor realizar o programar el proceso correspondiente.
Corr


TAREAS PROGRAMACION JAVA JSP
1.- CONSTRUIR UN CUESTIONARIO DE 6 PREGUNTAS SOBRE LOS
HBITOS DE ESTUDIO DE UN ESTUDIANTE Y PASAR SUS
RESPUESTAS A UNA PAGINA NUEVA.
2.- EVALUAR UNA FUNCION CUALESQUIERA, LA PAGINA HTML
TIENE NAME = X
Y VALUE = 3, -5, 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.
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 instruccin simple o compuesta.
Su formato general es:
for (inicializacin; condicin; incremento)
{ instruccin(es); };
En su forma simple la inicializacin es una instruccin de asignacin que
carga una variable de control de ciclo con un valor inicial.
La condicin es una expresin relacional que evala la variable de
control de ciclo contra un valor final o de parada que determina cuando
debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo
debe cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma ;
EJEMPLO
Codigo prog7 jsp y recuerden subirlo y pedirlo con:
http://programacionfacil.com/tusitio/prog7.jsp
<%

// mira ma'a sin usar forma

for (int x=1; x<=10; x++)

{ out.println("x= "+x+"<br>"); };

%>

El chiste va de la siguiente manera, un nio paseandose en una bicicleta;
Mira ma'a sin manos
Mira ma'a parado
Mira ma'a sin dientes
corrida: prog7 jsp


Casos Particulares del ciclo for:
1.- El ciclo comienza en uno y se incrementa de uno en uno este es el
caso mas general.
2.- Pero el valor inicial puede se diferente de uno, ejemplo;
for(x=5;x15;x=x+1){ etc.};
3.- Incluso el valor inicial puede ser negativo, ejemplo;
for (x = -3 ;x 8; x=x+1) { etc.};
4.- Los incrementos tambin pueden ser diferentes al de uno en uno, ej.;
for (x=1; x 20; x=x+3){ etc. };
5.- Incluso pueden ser decrementos, solo que en este caso, recordar;
5.1.-el valor inicial de la variable debe ser mayor que el valor final.
5.2.-cambiar el sentido de la condicin.
ejemplo;
for (x= 50 ; x >= 10; x= x-4 ) { etctera };
6.- Solo para los casos de incrementos y decrementos de una en una
unidad substituir en el for;
el x = x + 1 por x++
el x = x - 1 por x
TAREAS PROGRAMACION JAVA JSP
1.- CONSTRUIR UN PROGRAMA QUE DESPLIEGUE LOS NMEROS
DEL 20 AL 30.
2.- DESPLEGAR LOS ENTEROS ENTRE 50 Y 30 ACOMPAADOS DE
SU POTENCIA CUADRADA Y RAZ CUBICA RESPECTIVA(revisar el
tema de operadores aritmeticos).
3.- DESPLEGAR LOS MLTIPLOS DE 5, ENTRE 10 Y 50,
ACOMPAADOS DE SU FACTORIAL Y LOGARITMO
RESPECTIVO(revisar el tema de operadores aritmeticos tambien).
4.- DESPLEGAR LA TABLA DE MULTIPLICAR QUE EL USUARIO
INDIQUE.
5.- EVALUAR LA FUNCION <m> Y=5X^2 + 3X + 8</m> CUANDO X> -
310 (RANGO DE -3 HASTA 10)


UNIDAD 2: JAVA JSP CONTROL DE PROGRAMA
TEMA 13: JAVA JSP CICLO WHILE
En este ciclo el cuerpo de instrucciones se ejecuta mientras una
condicin permanezca como verdadera en el momento en que la
condicin se convierte en falsa el ciclo termina.
Su formato general es :
cargar o inicializar variable de condicin;
while(condicin)
{
grupo cierto de instrucciones;
instruccin(es) para salir del ciclo;
};
Un error muy comun con el while, es poner un punto y coma(;) despues
de la (condicin) ejemplo while(condicion); -esto es y causa un error.
Prog8 jsp
ejecutarlo directamente como se indico en el tema anterior, excepto que
si quieren pueden construir una forma.html y activarlo desde ah.
<%! int x; %>

<%

x=1;

while (x<=10)

{

out.println("x= "+x+"<br>");

x++;

};

%>

corrida prog8 jsp


While puede llevar dos condiciones en este caso inicializar 2 variables de
condicin y cuidar que existan 2 de rompimiento o terminacin de ciclo.
El grupo cierto de instrucciones puede ser una sola instruccin o todo un
grupo de instrucciones.
La condicin puede ser simple o compuesta.
Los casos generales de for tambien se aplican a while.
A este ciclo tambin se le conoce tambin como ciclo de condicin de
entrada o prueba por arriba porque este ciclo evala primero la condicin
y posteriormente ejecuta las instrucciones.
TAREAS PROGRAMACION JAVA JSP
1.- DESPLEGAR ENTEROS ENTRE 50 Y 80
2.- DESPLEGAR MULTIPLOS DE 4 ENTRE 60 Y 20 ACOMPAADOS
DE SU LOGARITMOS DE BASE 10 Y BASE e RESPECTIVOS.
3.- CONSTRUIR LA TABLA DE DIVIDIR QUE EL USUARIO INDIQUE.
4.- Evaluar una funcion cualesquiera para el rango de valores de x de -3
a +5
UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
TEMA 14: CICLO DO WHILE JAVA JSP
Su diferencia bsica con el ciclo while es que la prueba de condicin es
hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando
menos una vez porque primero ejecuta las instrucciones y al final evala
la condicin;
Tambin se le conoce por esta razn como ciclo de condicin de salida.
Su formato general es :
cargar o inicializar variable de condicin;
do {
grupo cierto de instruccin(es);
instruccin(es) de rompimiento de ciclo;
} while (condicin);
prog9.jsp y ejecutarlo directamente( si quieren).
<%! int x; %>

<%

x=1;

do {

out.println("x= "+x+"<br>");

x++;

}while (x<=10);

%>

Corrida prog11.jsp


Otra diferencia bsica con el ciclo while es que, aunque la condicin sea
falsa desde un principio el cuerpo de instrucciones se ejecutara por lo
menos una vez.
Tareas Java Jsp
1.- tres del for
2.- tres del while
UNIDAD 2: JAVA JSP INSTRUCCIONES DE CONTROL DE
PROGRAMA
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:
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.
Si se desconoce la cantidad de veces a repetir el ciclo o se quiere
mayor control sobre la salida o terminacin del mismo entonces
usar while.
Si se quiere que al menos una vez se ejecute el ciclo entonces usar do
while.
UNIDAD 3: JAVA JSP ARREGLOS
TEMA 1: JAVA JSP INTRODUCCION
Uno de los problemas mas comunes en los diversos sistemas de
informacin es el tratamiento o procesamiento de una gran volumen de
datos o de informacin.
Las variables usadas hasta ahora reciben propiamente el nombre de
variables escalares, porque solo permiten almacenar o procesar un dato
a la vez.
Por ejemplo si se quiere almacenar nombre y edad de 15 personas con
el mtodo 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.
Es decir, en problemas que exigen manejar mucha informacin o datos a
la vez, variables escalares no son suficientes ya que su principal
problema es que solo permiten almacenar y procesar un dato a la vez.
En java Jsp se ocupan entonces variables que sean capaces de
almacenar y manipular conjuntos de datos a la vez.
Variables de tipo arreglo si permiten almacenar y procesar conjuntos de
datos del mismo tipo a la vez.
Cada dato dentro del arreglo se le conoce como elemento del arreglo y
se simboliza y procesa (captura, operacin, despliegue ) usando el
nombre del arreglo respectivo y un subndice indicando la posicin
relativa del elemento con respecto a los dems elementos del arreglo,
solo recordar que en JAVA JSP la primera posicin, elemento o
rengln es el 0 (cero), ej.
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, capturarlos, hacer operaciones con ellos,
desplegarlos, compararlos, etc.
UNIDAD 3:JAVA JSP ARREGLOS
TEMA 2: JAVA ARREGLOS JSP
En programacin tradicional siempre se manejan dos tipos de arreglos
los arreglos tipo listas, vectores o unidimensionales y los arreglos tipo
tablas, cuadros, concentrados, matrices o bidimensionales en ambos
casos son variables que permiten almacenar un conjunto de datos del
mismo tipo a la vez, su diferencia es en la cantidad de columnas que
cada uno de estos tipos contiene, como en los siguientes ejemplos;
a) LISTAS
EDAD
1
8
3
4
2
2
1
5
B) TABLAS
CIA ACME
ING MENS VTAS
(MILES DE $)
.ENE FEB MAR ABR MAY
SUC
A
1
0
2
0
3
0
4
0
SUC
B
5
0
6
0
7
0
8
0
SUC
D
9
0
1
0
0
1
1
0
1
2
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.
Tambin reciben el nombre de vectores en lgebra o arreglos
unidimensionales en programacin.
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 tamao 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
tamao fijo e inicializadas o cargadas
notas:
Recordar tambin que la primera posicin o rengln en una lista es la
posicin o rengln 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>");

%>

Corrida:

notas:
Se estan usando dos SUBMIT en el prrograma, 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 comparar strings contra null. 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.
Para el caso de operaciones y comparaciones con todos los elementos
de la lista a la vez, se deber usar un ciclo for con una variable entera
llamada rengln misma que tambin se usa como ndice de la lista.
Recordar que todos los datos internos de la lista estarn 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).
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.
Para inicializar una lista se debe usar el siguiente formato:
tipodato nomlista[]={lista de valores};
ej;
int edad[4]={15,16,17,18};
float sueldo[3]={40.85, 65.30, 33.33};
String *ciudad[]={tecate, tijuana, mexicali, rosarito, ensenada};
TAREAS PROGRAMACION JAVA JSP
1.- Capturar y desplegar 5 precios de mercancias cualesquiera.
2.- Capturar 4 sueldos, desplegarlos aumentados en un 25%.
3.- Capturar los datos de 5 mercancias comprados en una tienda,
incluyendo nombre, precio y cantidad en sus 3 listas respectivas( se vale
inicializar los arreglos de nombre y precio), despus calcular una cuarta
lista con el gasto total por cada producto desplegarlo todo e incluir
tambin el gran total.
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.
Para procesar ( recordar solo operaciones y comparaciones)
internamente todos los elementos de la tabla se ocupan dos ciclos for(),
uno externo para controlar rengln y uno interno para controlar columna.
Los elementos de la tabla se deberan simbolizar con el nombre de la
tabla y 2 subindices, el primer subindice referencia al renglon y el
siguiente subindice referencia la columna los dos dentro del mismo
corchete.
La declaracin de una tabla sera de acuerdo a los siguientes formatos:
1) tipodato nomtabla[][]= new tipodato[reng][col];
ejemplo:
int calif[][]=new int[3][4];
double ingresos[][]= new double[3][4];
2) Clasenumerica objetotabla[][]= new constructor[ren][col];
ejemplo;
Integer calif[][]= new Integer[2][3];
Double ingresos[][]=new Double[3][4];
Para capturar sus elementos, usaremos el procedimiento desarrollado
con listas.
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.
Prog11 jsp
<%! int edad[][]=new int[2][3], ren=0, col=0; %>

<%

String temp1=request.getParameter("INSERTAR");

if(temp1==null)temp1=" ";

if(temp1.compareTo("insertar")==0){

if(col < 3){

edad[ren][col]=Integer.parseInt(request.getParameter("EDAD"
));

col=col+1;};

if(col == 3){col=0;ren=ren+1;};

if(ren==2) {out.print("TABLA LLENA");};

};

if(request.getParameter("MESES") != null )

{

// operaciones

for(ren=0; ren<=1; ren++)

for(col=0;col<=2;col++)

edad[ren][col]=edad[ren][col]*12;

// DESPLEGANDO USANDO OBJETO TABLE DE HMTL FOR NORMAL

out.println("<table border=2><tr><th>EDAD EN
MESES</th></tr>");

for(ren=0; ren<=1; ren++)

{ out.println("<tr>");

for(col=0;col<=2;col++)

{ out.println("<td>"+edad[ren][col]+"</td>"); };

out.println("</tr>"); };

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog11.jsp METHOD=post>");

out.println("DAME EDAD:"+ren+","+col+"<INPUT TYPE=TEXT
NAME=EDAD>");

out.println("<INPUT TYPE=SUBMIT NAME=INSERTAR
VALUE=insertar ><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=MESES
VALUE=meses><BR>");

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

%>

Corrida:

Notas:
Observar el formato de declaracin y como se controlan los indices de
captura reng, col.
notas:
El for reng tiene su propio grupo de instrucciones encerrados entre {}.
Mientras que el for col solo tiene una instruccin que ejecutar el
print(celda ), el ultimo print(</termina renglon) es del ciclo for reng).
El renglon de encabezado solo tiene una celda, por eso los otros dos
renglones con mas celdas se ajustarn por su cuenta, para corregir esta
situacin revisar su tutorial de html(TABLE).
Para inicializar tablas, se debera usar el siguiente formato:
tipodato nomtabla[2][3]={1,2,3,4,5,6 };
TAREAS PROGRAMACION JAVA JSP
1.- CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS
DE CUATRO PRODUCTOS CUALESQUIERA, QUE SE PRODUCEN EN
TRES PLANTAS DIFERENTES DE UNA EMPRESA MAQUILADORA.
2.- CONSTRUIR UN CUADRO QUE CONTENGA LOS INGRESOS
MENSUALES POR VENTAS DURANTE LOS TRES PRIMEROS MESES
DEL AO DE CUATRO SUCURSALES DE UNA CADENA DE AUTO
REFACCIONES, 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).
3.-CONSTRUIR UN CUADRO QUE CONTENGA LAS COMISIONES
GANADAS POR TRES VENDEDORES, DE LOS 5 TIPOS DE LINEA
BLANCA DE CONOCIDA MUEBLERIA, ADEMAS LISTAS DE
COMISIONES TOTALES Y PROMEDIOS GANADAS POR LOS
VENDEDORES, ASI COMO LISTAS DE COMISIONES TOTALES Y
PROMEDIOS POR TIPO DE LINEA BLANCA(inicializado).
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 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,C)

NEXT R

PROMCOL(C) = TOTCOL(C) / 4

NEXT C

SUGERENCIA: CONSTRUIR PRIMERO LOS CUADROS EN PAPEL.
UNIDAD 4: JAVA PROGRAMACION ORIENTADA OBJETOS
TEMA 1: DECLARACIONES o PROCEDIMIENTOS JAVA JSP
Un camino para dividir un gran programa en partes mas pequeas es el
uso de declaraciones.
Una declaracin es un grupo de instrucciones, variables, constantes, etc,
que estan diseados con un prposito particular y tiene su nombre
propio.
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.
Despue de escribir una declaracin se usara ese nombre propio como
una sola instruccin o llamada.
Las declaraciones se construyen antes del cuerpo principal del
programa, es decir en la parte declarativa.
Su formato es:
<%! void Nom_decl(){instrucciones;} %>

Un programa puede tener tantos procedimientos como se deseen, para
hacer una llamada o invocacin a el procedimiento durante la ejecucin
de un programa se debera escribir el nombre dela misma y los parentesis
en blanco.
Prog12.jsp
<%!

int base=0,altura=0; double area=0;

void proc1(){

area= base * altura / 2.0 ;};

%>

<%

// no usar objetos request y out fuera de scriptlet

// porque no estan creados por java todavia

if(request.getParameter("OK") != null)

{

base = Integer.parseInt(request.getParameter("BASE"));

altura = Integer.parseInt(request.getParameter("ALTURA"));

// llamando o invocando procedimiento uno

proc1();

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog12.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>");

out.println("AREA:<INPUT TYPE=TEXT NAME=AREA
value="+area+"><BR>");

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

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

%>Corrida:

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 creacin de REQUEST y OUT lo hace despues, generando
errores de objetos request y out desconocidos).
TAREAS PROGRAMACION JAVA JSP
Construir un programa java jsp que contenga puras llamadas a
procedimientos dentro de un menu.
Menu.
a) Pesos a dolares.
b) Area de un triangulo.
c) Emitir Boleta.
d) Fin de menu.
UNIDAD 4: JAVA JSP PROGRAMACION ORIENTADA OBJETOS
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.
Existen ocasiones en que es necesario mandar al procedimiento ciertos
valores para que los use en algn proceso.
Estos valores que se pasan del cuerpo principal del programa al
procedimiento se llaman parametros.
Entonces una declaracion completa es:
<%! void NomProc(lista de parametros)
{ cuerpo de instrucciones; }; %>
prog13.jsp
<%!

int base=0; double altura=0; double area=0;

void proc1(int a, double b){

area= a * b / 2.0 ;};

%>

<%

// no usar objetos request y out fuera de scriptlet

// porque no estan creados por java todavia

if(request.getParameter("OK") != null)

{

base = 10;

altura = 3.1416;

// llamando o invocando procedimiento uno y pasando
parametros

// recordar que se pueden mandar datos o variables

proc1(base,3.1416);

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog13.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>");

out.println("AREA:<INPUT TYPE=TEXT NAME=AREA
value="+area+"><BR>");

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

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

%>

CORRIDA:

REGLAS PARA EL USO DE PARAMETROS
1.- Cuando se usan variables como parametros, la variable que se
manda debe ser declarada dentro del principal o del procedimiento de
donde se esta enviando.
2.- La variable que se manda tiene un nombre, la que se recibe puede
tener otro nombre.
3.- La cantidad de variables que se envian deben ser igual en cantidad,
orden y tipo a las variables que reciben.
4.- La variable que se recibe tiene un ambito local dentro del
procedimiento, es decir solo la puede usar ese procedimiento.
TAREAS PROGRAMACION JAVA JSP
1.- Capturar el nombre y las 3 calificaciones en un procedimiento,
calcular promedio en un segundo, imprimir nombre y promedio en
principal
2.- Construir una tabla de multiplicar que el usuario indique captura y
control de ciclo en el principal, calculo en un procedimiento.
3.- Construir un procedimiento que reciba un numero entero y que mande
llamar a un segundo procedimiento pasando el letrero PAR O IMPAR.
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.
Las reglas basicas que determinan como una variable puede ser usada
depende de 3 lugares donde se puede declarar una variable.
En primer lugar es dentro de cualquier funcin o procedimiento
incluyendo main, a estas se les llama variables locales y solo pueden ser
usadas por instrucciones que esten dentro de esa funcin o
procedimiento.
En segundo lugar es como parametro de una funcin o procedimiento,
donde despues de haber recibido el valor, podra actuar como variable
local en esa funcin o procedimieto.
En escencia una variable local solo es conocida por el cdigo de esa
funcin o procedimieto y es desconocida por otras funciones o
procedimientos.
En tercer lugar es fuera de todas las funciones pero dento de la parte
declarativa <%! %>, a este tipo de variables se les llama variables
globales y podran ser usadas por cualquier funcin o procedimiento del
programa.
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 realiza una tarea especifica y que puede regresar
un valor a la parte principal del programa u otra funcion o procedimiento
que la invoque.
La forma general de una funcion es:
<%! tipodatoregresa Nom_fun(parametros)

{ cuerpo de instrucciones;

intruccion return;

}; %>

El tipo especifica el tipo de valor que la funcion regresara utlizando la
instruccin return.
Si no se especifica un tipo se asume de default que el tipo regresado es
int.
La lista de parametros formales es una lista de variables separadas por
comas (,) que almacenaran los valores que reciba la funcion, estas
variables actuan como locales dentro del cuerpo de la funcion.
Aunque no se ocupen parametros los parntesis son requeridos.
La declaracion de parametros es la especificacion de cada tipo de
parametro recibido.
INSTRUCCION RETURN
Dentro del cuerpo de la funcin deber haber una instruccin return
cuando menos, para regresar el valor, esta instruccin permite regresar
datos.
Prog14 jsp
<%!

double res=0;

double funcion1(int a, double b){

return a * b; };

%>

<%

// no usar objetos request y out fuera de scriptlet

// porque no estan creados por java todavia

if(request.getParameter("OK") != null)

{

// llamando o invocando funcion uno y pasando parametros

// recordar que se pueden mandar datos o variables

double alfa=funcion1(2,2.5) + 3 + funcion1(2, 3.3);

res= alfa;

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog14.jsp METHOD=post>");

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

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

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

%>

corrida:

Es permitido poner mas de un return en el cuerpo de instrucciones sobre
todo en condiciones, pero solo un return se ejecutara.
Ejemplo;
if (suma >= 10)
{ return 10; }
else
{ return 20; }
EXISTEN 3 CLASES USUALES DE FUNCIONES.
Las primeras son de tipo computacional que son diseadas para realizar
operaciones con los argumentos y regresan un valor basado en el
resultado de esa operacin.
Las segundas funciones son aquellas que manipulan informacin y
regresan un valor que indican la terminacion o la falla de esa
manipulacion.
Las terceras son aquellas que no regresan ningun valor, es decir son
estrictamenta procedurales.
TAREAS PROGRAMACION JAVA JSP
1.- Imprimir nombre y promedio de un alumno, capturar 3 calificaciones y
nombre en un procedimiento, calcular promedio en una funcion y
desplegar
2.- Crear una tabla de multiplicar, captura y control de ciclo en el
principal, operaciones en una funcion, despliegue en el principal.
3.- Construir una funcion que nos regrese el triple de cualquier numero.
4.- Construir un programa que emita una factura si el articulo es
importado, una funcion lo graba con el 20% de iva si es nacional, la
misma funcion lo graba con el 15% de iva si no lo es.
5.- Construir una funcion que nos regrese la letra I o P si el numero
que recibio fue impar o par respectivamente.
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 funcin solo se manda el nombre del arreglo sin corchetes e indices,
en el procedimiento o funcin 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 razn 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>");

%>

corrida prog15 jsp

Es de recordar que los cambios que le hagan al arreglo dentro de la
funcin se reflejaran en el arreglo original, es por esto que si se quiere
modificar un arreglo en una funcin 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.

Anda mungkin juga menyukai