QUÉ ES JSP

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.

Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas JSP están compuestas de código HTML/XML mezclado con etiquetas especiales para programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML habitual.

MOTOR JSP

El motor de las páginas JSP está basado en los servlets de Java -programas en Java destinados a ejecutarse en el servidor-, aunque el número de desarrolladores que pueden afrontar la programación de JSP es mucho mayor, dado que resulta mucho más sencillo aprender que los servlets.

En JSP creamos páginas de manera parecida a como se crean en ASP o PHP -otras dos tecnologías de servidor-. Generamos archivos con extensión .jsp que incluyen, dentro de la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor. Antes de que sean funcionales los archivos, el motor JSP lleva a cabo una fase de traducción de esa página en un servlet, implementado en un archivo class (Byte codes de Java). Esta fase de traducción se lleva a cabo habitualmente cuando se recibe la primera solicitud de la página .jsp, aunque existe la opción de precompilar en código para evitar ese tiempo de espera la primera vez que un cliente solicita la página.

Anuncios

QUÉ SON LOS APPLETS DE JAVA

Es otra manera de incluir código a ejecutar en los clientes que visualizan una página web. Se trata de pequeños programas hechos en Java, que se transfieren con las páginas web y que el navegador ejecuta en el espacio de la página.

Los applets de Java están programados en Java y precompilados, es por ello que la manera de trabajar de éstos varía un poco con respecto a los lenguajes de script como Javascript. Los applets son más difíciles de programar que los scripts en Javascript y requerirán unos conocimientos básicos o medios del lenguaje Java.

La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan. Además, Java es más potente que Javascript, por lo que el número de aplicaciones de los applets podrá ser mayor.

Como desventajas en relación con Javascript cabe señalar que los applets son más lentos de procesar y que tienen espacio muy delimitado en la página donde se ejecutan, es decir, no se mezclan con todos los componentes de la página ni tienen acceso a ellos. Es por ello que con los applets de Java no podremos hacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc.

CÓMO ES POSIBLE LA MULTIPLATAFORMA EN JAVA

Java es compatible con todos los sistemas porque basa su funcionamiento en los Byte Codes, que no es más que una precompilación del código fuente de Java.

Estos Byte Codes no son el programa en Java propiamente dicho, sino un archivo que contiene un código intermedio que puede manejar la Máquina Virtual de Java. Cada sistema operativo dispone de una Maquina Virtual de Java que puede interpretar los Byte Codes y transformarlos a sentencias ejecutables en el sistema en cuestión.

GENERACIÓN DE NÚMEROS ALEATORIOS EN JAVA

La clase Random proporciona un generador de números aleatorios. Es más flexible que la función random de la clase Math. Vamos a ver un repaso de uso de la clase Random con ejemplos y ejercicios resueltos. La generación de números aleatorios adquiere gran relevancia para un programador, pudiendo tener distintas aplicaciones como:

  1. Construcción preliminar de programas, en los que a falta de datos definitivos, introducimos datos aleatorios.
  2. Simulación de procesos aleatorios (número resultante de tirar un dado, elección de un color por parte de una persona, número premiado en un sorteo de lotería, cantidad de personas que entran a un supermercado en una hora…)
  3. Verificación de programas, y en particular lo que en verificación de algoritmos se conoce como verificación aleatoria (probar el programa con distintos supuestos aleatorios).
  4. Otras aplicaciones.

Pasos sintácticos a emplear para crear una secuencia de números aleatorios:

  1. Proporcionar a nuestro programa información acerca de la clase Random. Al principio del programa escribiremos la siguiente sentencia:
import java.util.Random;
  1. Crear un objeto de la clase Random: la clase Random dispone de dos constructores, para crear un objeto. El primer constructor es:
Random  rnd = new Random();

Este constructor crea un generador de números aleatorios cuya semilla es inicializada automáticamente, en base al tiempo actual. Esto conlleva que en cada ejecución la semilla cambie, es decir, que la secuencia de números aleatorios que se genera en cada ejecución siempre será diferente.

El segundo constructor es:

Random rnd = new Random(inicializar_semilla);

Este constructor nos permite inicializar la semilla manualmente con un número entero cualquiera. Si este número es el mismo en cada ejecución, la secuencia de números aleatorios que se genera en cada ejecución será igual.

  1. Llamar a una de las funciones miembro que generan un número aleatorio:

Lo más habitual, para generar un número aleatorio, es usar la función miembro rnd.nextDouble(). El valor devuelto es de tipo double. Un aspecto importante a tener en cuenta, es que el valor devuelto se encuentra en el rango mayor o igual a cero y menor a 1. Es decir, el número devuelto puede ser cero pero no puede ser uno.

    /* Ejemplo uso clase Random() */
    import java.util.Random;
    public class Programa {
        public static void main(String arg[ ]) {
              Random rnd = new Random();
              System.out.println("Número aleatorio real entre [0,1[ : "+rnd.nextDouble());
         }
    }

En el caso de necesitar números aleatorios enteros en un rango determinado, podemos trasladarnos a un intervalo distinto, simplemente multiplicando, aplicando la siguiente fórmula general:

(int) (rnd.nextDouble() * cantidad_números_rango + término_inicial_rango)

donde (int) al inicio, transforma un número decimal double en entero int, eliminando la parte decimal.

VALOR ABSOLUTO DE UN NÚMERO EN JAVA

DESCRIPCIÓN DEL MÉTODO Math.abs()

Método que nos permite calcular el valor absoluto de un número.

SINTAXIS

public static double abs(double a)

public static float abs(float a)

public static int abs(int a)

public static long abs(long a)

PARAMETROS

a, valor numérico al que se necesita calcular el valor absoluto.

EXCEPCIONES

Clase Java a la que aplica

EJEMPLO

// Si queremos |-3|

System.out.println(Math.abs(-3));

BIBLIOTECAS DE JAVA

Java lleva a un nuevo nivel el concepto de bibliotecas o paquetes, éstos proveen una amplia funcionalidad para crear nuevas aplicaciones de Java. Además de servir como bibliotecas, definen una Application Program Interface(API) [interface de aplicación de programa], que permite al desarrollador extender las clases de estos paquetes para adaptarlos a las necesidades básicas de un programa. Java organiza estos paquetes en componentes jerárquicos a partir de dos directorios principales. El primero es java, que es parte esencial de lo que actualmente se conoce como el API 1 de Java.

1.PNG

En la actualidad se cuenta con el API 2 de Java, mejor conocido como Java2, el cual incluye además del paquete java, el paquete javax, donde se encuentran componentes más avanzados, como se muestra en la tabla 5.2.

2.PNG

En Java, cada clase debe ser parte de un paquete (package), y puede ser referida por su nombre completo “calificado”, el cual consiste en la jerarquía del paquete y el nombre de la clase, todos separados por puntos. Los propios nombres de los paquetes generalmente están compuestos de múltiples componentes separados por puntos. Por ejemplo, la clase PixelGrabber que se encuentra en el paquete java.awt.image se ingresaría mediante:

java.awt.image.PixelGrabber

Vale la penar notar que los paquetes se guardan en distintos directorios, donde el “.” realmente corresponde a “/” (“\” en la PC), donde se traduce, por ejemplo java.awt.image a java/awt/image. Por tanto, la clase PixelGrabber estaría guardada dentro del directorio anterior.

Además de los paquetes mencionados en las tablas 5.1 y 5.2, existe un número muy extenso de productos adicionales desarrollados por Sun y otras compañías, como los paquetes para gráficas en dos y tres dimensiones que son también parte de Java, y los paquetes para acceso a bases de datos de Oracle y Sybase.

Gale Virtual Reference Library – Documento – Introducción a JavaWeitzenfeld, Alfredo. “Introducción a Java.” Ingeniería de Software Orientada a Objetos con UML, Java e Internet, Cengage Learning, 2005, pp. [129]-134. Gale Virtual Reference Library, bibliotecavirtual.unad.edu.co:2081/ps/i.do?p=GVRL&sw=w&u=unad&v=2.1&it=r&id=GALE%7CCX3004300042&asid=81fb1d420e8abce85922ab918a53efa4. Accessed 6 Mar. 2017.

EJECUCIÓN EN JAVA

Durante la ejecución se obtiene el bytecode, guardado en los archivos “.class”, que puede estar ya en la plataforma actual o haber sido enviado por la red, como en el caso de un browser. El bytecode se carga en la máquina virtual por el cargador de clases. A continuación este código es procesado por el verificador de bytecode y, dependiendo del hardware con que se cuenta, puede ser interpretado y ejecutado por el procesador virtual de la máquina o traducido al código de un procesador de Java mediante el generador de código.

► Existen dos maneras de ejecutar (y estructurar) un programa dependiendo de su ambiente de ejecución. En el caso de una aplicación “normal” (standalone), se ejecuta mediante el siguiente interpretador de Java, llamado simplemente java:

java ej2

► En el caso de una aplicación que se ejecuta desde un navegador web (web browser), llamado applet, el contenido de los archivos .class que están almacenados en el servidor, se transmiten a través de la red y se ejecutan en la máquina cliente (que puede ser la misma máquina que el servidor). Dado que un browser sólo comprende archivo .html, el applet debe ser relacionado con un archivo llamado, por ejemplo ej.html. Este archivo debe contener la siguiente línea:

<applet code=ej.class width=200 height=200></applet>

Ya que pueden haber múltiples archivos .class, sólo el principal es el que se incluye en la línea anterior. Otra forma adicional de ejecutar el applet es mediante el comando appletviewer, de la siguiente forma:

appletviewer ej.html 

Gale Virtual Reference Library – Documento – Introducción a JavaWeitzenfeld, Alfredo. “Introducción a Java.” Ingeniería de Software Orientada a Objetos con UML, Java e Internet, Cengage Learning, 2005, pp. [129]-134. Gale Virtual Reference Library, bibliotecavirtual.unad.edu.co:2081/ps/i.do?p=GVRL&sw=w&u=unad&v=2.1&it=r&id=GALE%7CCX3004300042&asid=81fb1d420e8abce85922ab918a53efa4. Accessed 6 Mar. 2017.