Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VICERECTORADO ACADEMICO FACULTAD DE CIENCIAS ESCUELA ACADEMICO PROFESIONALDE ING. DE SISTEMAS E INFORMTICA
Romero Maguia CRISTIAN JHON. Ardiles Toledo YURI. Guerrero Pineda EYNER. Jesus Velasquez ROCIO.
SEMESTRE ACADEMICO:
2012-II.
TECNOLOGIA JSP
1. SERVIDORES WEB.
Un servidor web es un programa que se ejecuta continuamente en un computador, mantenindose a la espera de peticiones de ejecucin que le har un cliente o un usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una pgina web o informacin de todo tipo de acuerdo a los comandos solicitados. En este punto es necesario aclarar lo siguiente: mientras que comnmente se utiliza la palabra servidor para referirnos a una computadora con un software servidor instalado, en estricto rigor un servidor es el software que permite la realizacin de las funciones descritas. Adems los servidores pueden disponer de un intrprete de otros lenguajes de programacin que ejecutan cdigo embebido dentro del cdigo HTML de las pginas que contiene el sitio antes de enviar el resultado al cliente. Esto se conoce como programacin de lado del servidor y utiliza lenguajes como JSP,ASP, PHP, Perl y Ajax. Las ventajas de utilizar estos lenguajes radica en la potencia de los mismos ejecutando tareas ms complejas como, por ejemplo acceder a bases de datos abstrayendo al cliente de toda la operacin.
Tomcat es una implementacin completamente funcional de los estndares de JSP y Servlets. Tambin puede especificarse como el manejador de las peticiones de JSP y servlets recibidas por servidores Web populares, como el servidor Apache HTTP de la Fundacin de software de Apache o el servidor Microsoft Internet Information Server (IIS). Tomcat est integrado en la implementacin de referencia Java 2 Enterprise Edition (J2EE) de Sun Microsystems.
b. GlassFish
Es un servidor de aplicaciones de software libre desarrollado por Sun Microsystems, compaa adquirida por Oracle Corporation, que implementa las tecnologas definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificacin. Es gratuito, de cdigo libre y se distribuye bajo un licenciamiento dual a travs de la licencia CDDL y la GNU GPL. La versin comercial es denominada Oracle GlassFish Enterprise Server (antes Sun GlassFish Enterprise Server). GlassFish est basado en el cdigo fuente donado por Sun y Oracle Corporation; este ltimo proporcion el mdulo de persistencia TopLink. GlassFish tiene como base al servidor Sun Java System Application Server de Oracle Corporation, un derivado de Apache Tomcat, y que usa un componente adicional llamado Grizzly que usa Java NIO para escalabilidad y velocidad.
c. Microsoft IIS:
Slo funciona sobre sistemas Windows, como ya habris imaginado.Si quieres emplearlo sobre otro sistema, tendrs que utilizar una mquina virtual.
e. Ngnix:
Este es un servidor Web muy ligero y corre sobre sistemas Unix y Windows.Se ha convertido en el 4 servidor HTTP ms popular de la red y tambin se distribuye bajo licencia BSD.
f. Lighttp:
Este servidor Web es otro de los ms ligeros que hay en el mercado. Est especialmente pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM y poca de CPU. Algunas pginas populares que lo usan son Youtube, Wikipedia y otras que soportan gran trfico diariamente. Tambin es gratuito y se distribuye bajo licencia BSD.
2. SERVLETS
Un servlet es un programa comparable a un CGI, es decir, se trata de un programa que se ejecuta en un servidor Web y que es utilizado para generar contenidos dinmicos en los sitios Web. Bsicamente un servlet recibe una peticin de un usuario y devuelve un resultado de esa peticin, que puede ser por ejemplo, el resultado de una bsqueda en una base de datos. Los Servlets son las respuestas de la tecnologa Java a la programacin CGI. Son programas que se ejecutan en un servidor Web y construyen pginas Web. Construir pginas Web al vuelo es til (y comnmente usado) por un nmero de razones: La pgina Web est basada en datos enviados por el usuario: Por ejemplo, las pginas de resultados de los motores de bsqueda se generan de esta forma, y los programas que procesan pedidos desde sites de comercio electrnico tambin. Los datos cambian frecuentemente: Por ejemplo, un informe sobre el tiempo o pginas de cabeceras de noticias podran construir la pgina dinmicamente, quizs devolviendo una pgina previamente construida y luego actualizndola. Las pginas Web que usan informacin desde bases de datos corporativas u otras fuentes: Por ejemplo, usaramos esto para hacer una pgina Web en una tienda on-line que liste los precios actuales y el nmero de artculos en stock.
correspondientes, esta operacin se dar cuando se ejecute una pgina JSP por primera vez, o cuando se modifique una pgina JSP existente. Por lo que decimos que JSP es que es una tecnologa de Java que permite introducir cdigo para la generacin dinmica de HTML dentro de una pgina web. Esta surge por la necesidad de crear aplicaciones dinmicas para Web de forma fcil, ya que la mayor parte del resultado de un programa CGI es esttico. Se podra pensar entonces en JavaScript, pero este genera HTML dinmicamente en el cliente y no puede acceder a los recursos del servidor. La ventaja como ya se dijo es que permite disear la pgina web y el cdigo de forma independiente. Las pginas JSP pueden residir en cualquier parte del servidor (no estn restringidas a un directorio servlets). En otras palabras, un JSP es simplemente una pgina de Web en HTML que contiene dgitos binarios adicionales de cdigo que ejecuta la lgica de la aplicacin para generar contenido dinmico. Es una tecnologa similar a los Servlets que ofrece una conveniente forma de agregar contenido dinmico a un archivo HTML por utilizar cdigo escrito en Java dentro del archivo utilizando tags especiales que son procesados por el servidor Web antes de enviarlos al cliente. La posibilidad de usar APIs de Java hacen de JSP una poderosa herramienta de desarrollo ya que se obtiene la ventaja de la programacin orientada al objeto, como creacin de clases especiales llamadas componentes o Java Beans, independencia de la plataforma propia de la programacin en Java, etc. La diferencia entre Servlets y JSP es que los Servlets son clases que deben implementar la clase abstracta HttpServlet, en especial el mtodo doGet() o doPost() y deben ser previamente compilados, mientras que los archivos JSP contienen cdigo Java entre cdigo HTML utilizando los smbolos <% y %>. Por esto un archivo JSP debe ser interpretado por el servidor al momento de la peticin por parte del usuario.
VENTAJAS DE JSP
Contra Active Server Pages (ASP).
ASP es una tecnologa similar de Microsoft. Las ventajas de JSP estan duplicadas. Primero, la parte dinmica est escrita en Java, no en Visual Basic, otro lenguaje especfico de MS, por eso es mucho ms poderosa y fcil de usar. Segundo, es portable a otros sistemas operativos y servidores Web
Contra JavaScript.
JavaScript puede general HTML dinmicamente en el cliente. Este una capacidad til, pero slo maneja situaciones donde la informacin dinmica est basada en el entorno del cliente. Con la excepcin de las cookies, el HTTP y el envi de formularios no estn disponibles con
JavaScript. Y, como se ejecuta en el cliente, JavaScript no puede acceder a los recursos en el lado del servidor, como bases de datos, catlogos, informacin de precios, etc.
Acciones: Son etiquetas especficas de JSP que afectan al comportamiento de la pgina JSP y a la respuesta enviada al usuario. Estas acciones ofrecen al diseador de pginas JSP una funcionalidad bastante interesante, que veremos en detalle cuando tratemos las acciones en siguientes captulos. Tambin es posible definir acciones determinadas mediante el mecanismo de libreras de etiquetas. La sintaxis general de una accin JSP es: <jsp: accion>
Objetos implcitos o integrados: Estos objetos se suelen utilizar dentro de expresiones o scriptlets, y no necesitan ser declarados ni instanciados, se encuentran disponibles dentro de cada pgina JSP.
A. DIRECTIVAS a. Directiva page: Esta es la directiva ms compleja de JSP debido a que permite especificar un gran nmero de propiedades que afectan a la pgina actual. Su sintaxis general es la siguiente: <%@ page atributo1=valor1 ... Atributon=valorn%>
b. Atributo language: El atributo language indica el lenguaje de script que se va a utilizar en todos los elementos de la pgina. Todos los contenedores de pginas JSP deben soportar como lenguaje de script el lenguaje Java, y es el lenguaje por defecto si no es indica otro.
c. Atributo contentType: El atributo contentType se utiliza para indicar el tipo MIME que le corresponde a la respuesta que genera la pgina JSP. En el atributo contentType podemos indicar tambin el conjunto de caracteres que deseamos
utilizar en la respuesta generada por la pgina JSP. El Cdigo Fuente 81 muestra un ejemplo de utilizacin de este atributo.
d. Atributo extends: La funcin de este atributo es similar a la clusula extends de la definicin de una clase, es decir, nos permite indicar la superclase de la que hereda la pgina JSP actual. No existe un valor por defecto para este atributo.
e. Atributo import: Sin embargo el atributo import de la directiva page si que se suele utilizar de forma muy comn, tiene la misma funcin que la sentencia import se Java, es decir, nos permite importar clases y paquetes enteros para poder utilizarlos dentro de nuestra pgina JSP.
f.
Atributo errorPage: es utilizado para especificar la pgina de error en el caso de que se produzca una excepcin no tratada en al pgina JSP actual. A este atributo se le asigna la URL de la pgina que va a tratar los errores no atrapados que se
produzcan en la pgina JSP. La URL indicada puede ser absoluta o relativa a la ruta correspondiente a la pgina actual.
g. Directiva include: Esta directiva permite a los autores de pginas incluir el contenido de un recurso dentro del contenido generado por una pgina JSP. El recurso a incluir dentro de la pgina JSP se indica mediante una URL relativa o absoluta, pero que debe hacer referencia la servidor en el que se ejecutan las pginas JSP.
Aqu presentamos una tabla resumida donde estn todas las directivas:
B. ELEMENTOS DE SCRIPTING.
a. Declaraciones: La sintaxis general de una declaracin es: <%! Declaracin (es)%> Cuando declaramos una variable dentro de una pgina JSP, esta variable se transformar en un atributo (variable de instancia) del servlet que se corresponde con la pgina JSP.
b. Scriptlets: Un scriptlet es realmente el cdigo fuente de la pgina JSP, contiene las sentencias correspondientes al lenguaje de script en el que se ha desarrollado la pgina (actualmente slo el lenguaje Java). Dentro de un scriplet nos podemos encontrar cualquier sentencia vlida del lenguaje Java. La sintaxis general de un scriptlet es: <%scriplet%>
c. Expresiones: Una expresin es un tipo especial de scriptlet que genera de forma directa una respuesta que se enviar al cliente como parte del contenido generado por la pgina JSP, es decir, contribuye directamente a la salida de la pgina JSP. La sintaxis de las expresiones es: <%=expresin%>
d. Comentarios: Dentro de una pgina JSP podemos distinguir tres tipos de comentarios, los que son propios de la especificacin JSP y constituyen un elemento de scripting, los comentarios del lenguaje de scripting, en este caso los comentarios que podemos utilizar en el lenguaje Java, y los comentarios del lenguaje HTML
C. ACCIONES
a. La accin <jsp:forward>: Esta accin permite redirigir la ejecucin de la pgina JSP actual hacia otro recurso de forma permanente, si antes de utilizar esta etiqueta ya se ha he enviado algn contenido del bfer del flujo de salida al cliente se producir un error. La sintaxis general de esta etiqueta es la siguiente: <jsp:forward page=URLLocal/>
b. La accin <jsp:param>: Como ya hemos adelantado en el apartado anterior, esta accin se utiliza en colaboracin con cualquiera de las siguientes acciones: <jsp:forward>, <jsp:include> o <jsp:plugin>. La sintaxis general de esta accin es la siguiente: <jsp:param name=nombreParametro value=valorParametro/>
c. La accin <jsp:include>: Permite a los autores de pginas JSP incorporar en el contenido generado por la pgina actual, el contenido de otro recurso distinto, resultando la salida final que se enva al usuario en una combinacin de ambos contenidos. Al contrario de lo que ocurra en la accin <jsp:forward>, el control de la ejecucin vuelve a la pgina original una vez que se ha terminado la ejecucin de la pgina incluida. La sintaxis general de la accin <jsp:include> es la siguiente: <jsp:include page=URLLocal flush=true|false/>
d. La accin <jsp:plugin>: Esta accin permite generar cdigo HTML para asegurar que el navegador utiliza el plug-in de Java, se generarn por lo tanto las etiquetas <OBJECT> y <EMBED> correspondientes para indicar al navegador que para un applet determinado debe cargar el plug-in de Java para que el applet pueda ser ejecutado satisfactoriamente por el navegador. La sintaxis general de esta accin es ms compleja que la de las anteriores y es la que se muestra a continuacin: <jsp:plugin type=tipo code=CdigoObjeto codebase=CodeBaseObjeto atributo1=valor1 ... atributo2=valor2....> <jsp:params> <jsp:param name=nombre1 value=valor1/> ... <jsp:param name=nombren value=valorn/> </jsp:params>
e. La accin <jsp:useBean>: Esta accin se utiliza para poder utilizar dentro de una pgina JSP un componente JavaBean en un mbito determinado. Para definir de forma sencilla lo que es JavaBeans, podemos decir que se trata de una especificacin que permite escribir componentes software en Java. La sintaxis bsica de esta accin es la siguiente: <jsp:useBean id=nombre class=nombreClase/>
D. OBJETOS INTEGRADOS
Tratan de simplificar la creacin y desarrollo de pginas JSP a travs de ciertos objetos integrados que se encuentran disponibles en las pginas JSP. Para utilizar estos objetos no hay que declararlos ni instanciarlos sino que son ofrecidos por el contenedor de pginas JSP para que se utilicen en las mismas. Muchos de los objetos integrados de JSP se obtienen de forma interna, en el servlet generado a partir de la pgina JSP, a travs de la clase abstracta javax.servlet.jsp.PageContext a travs de varios mtodos de esta clase, es decir gracias a una clase que forma parte del API JavaServer Pages, esta clase la veremos con ms detenimiento un poco ms adelante en este mismo captulo, pero ahora vamos a presentar brevemente los distintos objetos integrados que ofrece JSP. En la siguiente tabla se indica cada uno de los objetos integrados que ofrece la especificacin JavaServer Pages, indicando su funcionalidad, interfaz o clase de la que son instancia y categora a la que pertenecen:
B. HOLA NOMBRE
C. CAPTURA DE FECHA.
D. FORMULARIO SIMPLE.