Apuntes Libro Java
Apuntes Libro Java
Tareas y Multarea
Considerando el entorno multithread ( multihilo , multitarea ,
multihilvanado ) , cada thread ( hilo , tarea , ujo de control del programa )
representa un proceso individual ejecutándose en un sistema . A veces se
les llama procesos ligeros o contextos de ejecución . El autor recuerda al
lector que cuando se re ere a tarea , se re ere a un hilo de ejecución , a un
thread y del mismo modo , cuando se re ere a multitarea se re ere a
multithread . Generalmente , cada tarea controla un único aspecto dentro de
un programa , como puede ser supervisar la entrada en un determinado
periférico o controlar toda la entrada / salida del disco . Todas las tareas
comparten los mismos recursos , al contrario que los procesos , en donde
cada uno tiene su propia copia de código y datos ( separados unos de
otros ) .
Página 1 de 8
fi
fl
fl
fi
fi
fi
fi
fl
fl
fi
fl
fi
fi
Servlets
Los servlets son clases normales Java que se crean cuando se necesitan y
se destruyen cuando ya no se van a usar más . Los servlets se ejecutan en
una caja restringida , mediante un motor especial , que es el encargado de la
creación y destrucción de cada uno de los servlets de la aplicación Web ,
mediante los métodos init ( ) y destroy ( ) , respectivamente . Este motor de
servlets es la implementación de la especi cación Servlet y es el
responsable de mantener el ciclo de vida del servlet , y se puede usar solo o
en combinación con un servidor Web .
Un servlet es una clase Java que implementa la interfaz Servlet , que los
siguientes métodos :
• destroy ( ) , libera el servlet , se llama cada vez que el servlet debe ser
descargado ; por ejemplo , debido a que hay que cargar una nueva
versión del servlet . Todos los sistema bloqueados por init ( ) son liberados
al invocar este método y te garantiza que solamente se llamará una vez
durante la vida del servlet .
Página 2 de 8
fi
fi
fi
fi
LA CLASE HTTPSERVLET
La clase HttpServlet es una clase que implementa la interfaz Servlet
incorporando además métodos especí cos para servidores Web . Un uso
tipico de HttpServlet es el procesamiento de formularios html . Pero antes de
poder escribir el primer servlet , es necesario tener unas nociones básicas
sobre el protocolo HTTP HyperText Transfer Protocol , que es el protocolo
de comunicaciones que se utiliza para que un cliente , un navegador , por
ejemplo , envíe peticiones a un servidor Web . HTTP es un protocolo
orientado a petición - respuesta .
La clase HttpSession
Independientemente de la técnica utilizada , lo que está claro es que hay
que almacenar los datos de la sesión en algún sitio . Una buena opción es el
objeto HttpSession que puede almacenar los datos de la sesión en el
servidor . Para utilizar este objeto es necesario obtener un objeto de la
sesión , leerlo y escribirlo , y eliminarlo cuando se cierre la sesión o después
de un cierto tiempo si la sesión no se ha cerrado expresamente . La
persistencia del objeto es válida en el contexto de la aplicación Web , por lo
que puede ser compartida por varios servlets . Un servlet puede acceder a
objetos almacenados en otro servlet .
Los métodos más interesantes de esta clase son los que se describen a
continuación;
Página 3 de 8
fi
fi
fi
• isNew ( ) , devuelve true si el cliente no ha establecido ya una sesión . Si
el cliente tiene deshabilitados los Cookies , la sesión será nueva en cada
petición
Páginas JSP
La tecnología JavaServer Pages ( JSP ) ha sido introducida para ayudar a los
diseñadores y desarrolladores de aplicaciones Web a separar la lógica de la
presentación , de la lógica de la aplicación ; es decir , para permitir separar
el contenido dinámico del contenido estático de una página HTML .
El uso de beans hace posible que otras páginas JSP puedan acceder a la
misma información ; no obstante , también es posible utilizar el objeto
Session , tal como se hace en el ejemplo que se presentará , en aras de que
Página 4 de 8
fi
fi
la aplicación sea lo más simple posible . Si el lector se encontrase en el
mundo real , debería utilizar beans y almacenar
Applet
La de nición más extendida de applet , muy bien resumida en su día por
Patrick Naughton , indica que un applet es " una pequeña aplicación
accesible en un servidor Internet , que se transporta por la red , se instala
automáticamente y se ejecuta in situ como parte de un documento web " .
Claro que así la de nición establece el entorno ( Internet , Web , etc. ) .
Lo que ocurre es que , dado que no existe una base adecuada para soportar
aplicaciones industriales Java en las que insertar estas miniaplicaciones
( aunque todo se va andando y ya se pueden encontrar aplicaciones d este
tipo en intranets ) , los applets se han construido mayoritariamente , y con
gra acierto comercial ( a las pruebas hay que remitirse ) , como pequeñas
aplicaciones interactivas , con movimiento , luces y sonido ... en Internet .
SERIALIZACIÓN DE OBJETOS
Uno de los aspectos básicos en los que se apoya RMI es en la persistencia
de objetos , es decir , en que los objetos no se destruyan y puedan ser
enviados entre máquinas en un entorno distribuido .
Página 5 de 8
fi
fi
fi
fi
fi
fl
fi
fi
ellos y no están limitados a su uso por un solo programa . Sin embargo , no
son nada amigos de los objetos .
Página 6 de 8
fi
fi
fi
fi
fi
fi
fl
fi
fi
fi
El API de serialización está muy estructurado , de tal modo que en muchos
casos se puede manejar directamente con facilidad , mientras permite
realizar acondicionamientos muy complejos en caso necesario .
Bu ers
Los bu ers corresponden fundamentalmente a una forma sencilla de
representar un array de bytes .
Para añadir datos a un bu er se utiliza el método put ( ) del propio bu er , o
el método read ( ) de los canales .
La lectura de datos se realiza a través del método get ( ) , o llamando al
método write ( ) de los canales .
Página 7 de 8
ff
fi
ff
ff
ff
ff
ff
ff
fi
ff
ff
ff
ff
ff
ff
ff
fi
fi
ff
Un problema siempre presente con los procesos de entrada / salida
tradicionales en Java es el no poder interactuar con los ujos de datos
binarios De Fuentes que no sean Java . El mapeo de caracteres es
adecuado para aplicaciones basadas en texto , como un servidor HTTP ,
pero cuando se trata de imágenes , sonido , vídeo o incluso datos
numéricos , Java siempre ha tenido problemas en el control ,
fundamentalmente debido a la característica multiplataforma de Java . Un
ejemplo claro es el orden de los bytes ; por ejemplo , a la hora de manipular
un dato de tipo short , formado por dos bytes , para
Página 8 de 8
fl