Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)
tel./fax: +34 91 675 33 [email protected] - www.autentia.com
Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...
1. Desarrollo de componentes y proyectos a medida
TecnologíaDesarrolloSistemas
Gran Empresa
Producción
autentia
Certificacióno Pruebas
Verificación previa
RFP Concurso
Consultora 1
Consultora 2
Consultora 3
Equipo propio desarrolloPiloto
3a
3b
1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.
3. Arranque de proyectos basados en nuevas tecnologías
¿Qué ofrece Autentia Real Business Solutions S.L?
Para más información visítenos en: www.autentia.com
Compartimos nuestro conociemiento en: www.adictosaltrabajo.com
Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas
Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)
BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)
Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)
Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery
JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)
Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD
2. Auditoría de código y recomendaciones de mejora
4. Cursos de formación (impartidos por desarrolladores en activo)
Home | Quienes Somos | Empleo | Tutoriales | Contacte
Descargar este documento en formato PDF RssUtils.pdf
Firma en nuestro libro de Visitas
Leer fuentes RSS desde una JSP
Introducción
Cada vez más sitios están ofreciendo la posibilidad de conocer sus actualizaciones a través de lectores RSS. Puede ser interesante hacer que nuestra página funcione como un pequeño lector de RSS, tal como hace Google en su página personalizada:
En este tutorial vamos a ver una forma rápida de hacer que una JSP se convierta en un mini-lector de RSS, empleando el producto RssUtils, desarrollado por Rodrigo Oliveira.
Tutorial desarrollado por: Daniel Hernandez del Peso
Puedes encontrarme en Autentia Somos expertos en Java/J2EE
Contacta en [email protected]
www.adictosaltrabajo.com es el Web de difusión de conocimiento de
www.autentia.com
Catálogo de cursos
Curso de Desarrollo Java 60 Horas 420 Euros,inicio 20 Feb Matrícula incluida, 915590611 www.tecsur.es
Master Java Certificado Temario Actualizado-UML-JSF-AJAX Trabajo Garantizado-Bolsa de Empleo www.exes.es
Create PDFs In Java Highly Efficient Java PDF Library. Encryption, Barcodes and HTML Text. www.dynamicpdf.com
Proyectos LabView ¿Necesita desarrollar aplicaciones basadas en LabView? www.adcon.es
Anuncios Google Anunciarse en este sitio
Página 1 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
Preparación del entorno
Para la realización del tutorial, he empleado Eclipse 3.2 Callisto, un servidor Tomcat 5.5 y Java 1.5.
Una vez que lo tenemos todo instalado y correctamente configurado, se crea un nuevo proyecto web en Eclipse:
Seleccionamos el tipo de proyecto "Web"->"Dynamic Web Project"
Y finalmente le asignamos un nombre
Pinchamos en Finalizar y ya tenemos el proyecto listo
Página 2 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
Ahora hay que importar el producto RssUtils, que hemos descargado previamente. Al descargarlo, se obtiene un Zip que hay que descomprimir, y obtenemos los siguientes ficheros:
berkeley_license.txt: Este fichero contiene la licencia de uso del producto, así que es conveniente leerlo.
rss_utils.jar: En este Jar se encuentran la implementación de la taglib
rss_utils.tld: Fichero de configuración de la taglib
Una vez que tenemos todos los ficheros, hay que incluirlos en el proyecto. Para ello, creamos una carpeta llamada "tld" en la carpeta de nuestro proyecto "Web Content/WEB-INF"
y se copia en ella el fichero "rss_utils.tld". En la carpeta "WebContent/WEB-INF/lib" se copia el fichero "rss_utils.jar". El proyecto automáticamente incluye el jar entre las librerías de la aplicación, así que sólo nos queda configurar el proyecto para incluir en él el fichero tld.
Para ello, se abre el fichero "web.xml", que se encuentra dentro de la carpeta "WEB-INF". En ese fichero hay que buscar una sección <jsp-config>...</jsp-config> (o crearla si no existe) , y dentro de ella añadir una taglib, de la siguiente manera:
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> AutentiaRssUtils</display-name> <welcome-file-list> <welcome-file>autentiaRssUtils.jsp</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <jsp-config> <taglib> <taglib-uri>/tagsAutentia/rssutils</taglib-uri> <taglib-location>/WEB-INF/tld/rssutils.tld</taglib-location> </taglib> </jsp-config> </web-app>
Página 3 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
En morado aparecen las líneas que es necesario añadir para incluir la taglib en el proyecto. Como se puede ver, la declaración del taglib consta de dos elementos:
� taglib-uri: Es un identificador que se empleará en la JSP para referirse a la taglib indicada. En este caso concreto hemos elegido "/tagsAutentia/rssutils"
� taglib-location: Es la ruta al fichero tld que hemos copiado anteriormente al proyecto. en nuestro caso concreto "/WEB-INF/tld/rssutils.tld"
En rojo, podemos ver que se ha añadido una entrada a la lista de ficheros <welcome-file-list>. Esta lista de ficheros sirve para que el servidor sepa que fichero debe mostrar en el caso de que sólo se invoque a la aplicación a través de su nombre. Más adelante se mostrará para que sirve este cambio
Una vez hecho esto, tenemos nuestro proyecto listo para empezar a trabajar.
Una breve reseña sobre el formato RSS
Los ficheros RSS son ficheros XML que siguen un formato específico. Están divididos en dos partes: La información del canal, es decir, del sitio al que el usuario se subscribe; y la información de los elementos (noticias nuevas publicadas en el sitio). Para más información sobre RSS, podéis consultar la página de RSS Advisory Board con la especificación de RSS 2.0
Empleo de las etiquetas de RssUtils
Lo primero que vamos a hacer es crear una JSP, de nombre en la que hacer nuestras pruebas, y que situaremos en la carpeta WebContent:
Como se ve, el nombre del fichero es el mismo que el que se ha configurado en el welcome-file-list. Lo que hemos logrado con esto es que, al llamar a través del navegador Web a nuestra aplicación (http://localhost:8080/AutentiaRssUtils en nuestro caso), el servidor de aplicaciones invoque directamente a nuestra JSP, sin que el usuario tenga necesidad de conocer su nombre. Hemos puesto el fichero en primera posición de la lista porque el servidor, en este caso Tomcat, comienza a buscar ficheros desde el comienzo de la lista, y devuelve el primero que encuentre. Una vez aclarado este punto, seguimos adelante...
El código de la JSP tendrá más o menos este aspecto:
Sobre esa plantilla de JSP, vamos a empezar a poner código hasta acabar el tutorial. Lo primero es importar la taglib :
<%@page contentType="text/html" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>AutentiaRssUtils</title>
</head> <body>
</body> </html>
<%@page contentType="text/html" %> <%@ taglib uri="/tagsAutentia/rssutils" prefix="rss" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>AutentiaRssUtils</title>
</head> <body>
</body> </html>
Página 4 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
Donde "uri" es el taglib-uri que especificamos en el fichero web.xml y "prefix" es el prefijo que emplearemos para decir que una etiqueta pertenece a esta taglib.
Acabamos de añadir la primera etiqueta. En ella se especifica la URL de la fuente RSS que vamos a tratar, y un nombre (el feedId) que usaremos de aquí en adelante para referirnos a la fuente en el resto de tags. En el caso de que nuestro servidor deba acceder a Internet a través de un proxy, podemos hacerlo especificando otros dos atributos, de forma que la etiqueta quedaría así:
<rss:feed url="MiFeedURL" feedId="MiFeedId " proxyAddress="MiProxyAddress" proxyPort="MiProxyPort"/>
Ya estamos preparados para empezar a manejar la fuente RSS. Primero, vamos a sacar el título del canal al que nos hemos subscrito:
Y ahora vamos a sacar la información de cada elemento enviado en el fichero de RSS
La etiqueta <rss:forEachItem> itera sobre todos los elementos del fichero RSS. Las etiquetas <rss:itemXXXX> extraen información del item. Como se puede observar, se ha mezclado código HTML con las etiquetas de la taglib, con lo que se consigue un mejor efecto. Vamos a ver como va nuestra página, poniendo en el navegador la dirección de la aplicación. En nuestro caso, esta dirección es http://localhost:8080/AutentiaRssUtils. Como se ve debajo, ya tenemos una lista de enlaces a los tutoriales más recientes de AdictosAlTrabajo:
<%@page contentType="text/html" %> <%@ taglib uri="/tagsAutentia/rssutils" prefix="rss" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>AutentiaRssUtils</title> <rss:feed url="http://www.adictosaltrabajo.com/rss/rss.php" feedId="autentia" />
</head> <body>
</body> </html>
<%@page contentType="text/html" %> <%@ taglib uri="/tagsAutentia/rssutils" prefix="rss" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>AutentiaRssUtils</title> <rss:feed url="http://www.adictosaltrabajo.com/rss/rss.php" feedId="autentia" />
<rss:channelTitle feedId="autentia"/>
</head> <body>
</body> </html>
<%@page contentType="text/html" %> <%@ taglib uri="/tagsAutentia/rssutils" prefix="rss" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>AutentiaRssUtils</title> <rss:feed url="http://www.adictosaltrabajo.com/rss/rss.php" feedId="autentia" />
<rss:channelTitle feedId="autentia"/>
<rss:forEachItem feedId="autentia"> <li><a href="<rss:itemLink feedId="autentia"/>"><rss:itemTitle feedId="autentia" /></a> <rss:itemDescription feedId="autentia"/> </li> </rss:forEachItem>
</head> <body>
</body> </html>
Página 5 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
También podemos decir que nos muestre sólo un determinado número de elementos, aplicando atributos a <rss:forEachItem>:
� El atributo startIndex señala el primer elemento que se desea mostrar (empezando a contar desde 0) � El atributo endIndex señala el último elemento que se desea mostrar.
Estos atributos pueden emplearse juntos o por separado.
Ya sabemos lo básico para poder emplear este juego de etiquetas. Ahora os presento la lista de etiquetas disponibles. En las etiquetas que no se expliquen por sí mismas, entre paréntesis se incluye una explicación de su función. Además, se indica si la información que recoge cada etiqueta es obligatoria o puede no venir.
Dando forma a la página
Ahora que ya conocéis lo necesario sobre RssUtils, podéis jugar con las etiquetas y con las hojas de estilos para hacer algo más presentable. Por ejemplo, podemos usar esta JSP:
Etiquetas del Canal
channelCopyright - Opcional
channelDescription - Obligatorio
channelDocs (Enlace a documentación sobre RSS) - Opcional
channelGenerator (Programa con el que se generó el fichero RSS)
channelImage - Opcional
channelLanguage - Opcional
channelLastBuildDate (fecha del último cambio en la fuente) - Opcional
channelLink - Obligatorio
channelManagerEditor (Dirección email del responsable de la fuente) - Opcional
channelPubDate (fecha de publicación del contenido del canal) - Opcional
channelSkipDays (Información sobre los días que se puede evitar buscar actualización del canal) - Opcional
channelSkipHours (Lo mismo que SkipDays, pero con horas) - Opcional
channelTextInput (indica si debe mostrar una caja de texto, y los datos del programa que gestione la información que en ella se escriba, pero es muy infrecuente) - Opcional
channelTitle - Obligatorio
channelTTL (Tiempo en minutos que puede cachearse la fuente RSS antes de buscar una actualización) - Opcional
Etiquetas del Elemento
itemDescription - Obligatorio
itemLink - Obligatorio itemTitle - Obligatorio
Página 6 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
Para obtener el siguiente resultado
<%@page contentType="text/html" %> <%@ taglib uri="/tagsAutentia/rssutils" prefix="rss" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Cp1252"/> <title>AutentiaRssUtils</title> <style type="text/css"> #tutorialesAdictos { width:44%; border: 1.5px solid #BBBBFF; font-size: 11px; font-family: Verdana, Arial; margin: 1% ; background-color: #F7F7FF; } #tutorialesAdictos .cabecera img {width:100% ;} #tutorialesAdictos .listaItems { padding: 1%; } #tutorialesAdictos .listaItems a { color: #CC3300; } #tutorialesAdictos .listaItems a:visited { color: #33AA33; } #tutorialesAdictos .listaItems .item { display:block; } #tutorialesAdictos .listaItems .item .titulo { display:block; } </style>
</head> <body> <div id="tutorialesAdictos"> <rss:feed url="http://www.adictosaltrabajo.com/rss/rss.php" feedId="autentia" /> <a href="<rss:channelLink feedId="autentia"/>" title="<rss:channelTitle feedId="autentia"/>" class="cabecera"> <rss:channelImage feedId="autentia"/> </a> <div class="listaItems"> <rss:forEachItem feedId="autentia" startIndex="0" endIndex="5"> <div class="item"> <a href="<rss:itemLink feedId="autentia"/>" class="titulo"><rss:itemTitle feedId="autentia" /></a> <rss:itemDescription feedId="autentia"/> </div> </rss:forEachItem> </div> </div> </body> </html>
Página 7 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
Conclusión
Como veis, hacer un lector de fuentes RSS online no es particularmente complicado, si se conocen las herramientas adecuadas. Nosotros, los miembros de Autentia, intentamos acercaros ese conocimiento a través de nuestros tutoriales. Pero si la solución a vuestros problemas no se encuentra en Adictos Al Trabajo, ya sabéis que podéis poneros en contacto con nosotros para que os asesoremos y formemos.
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 License. Puedes opinar sobre este tutorial aquí
Otros Tutoriales Recomendados (También ver todos)
Recuerda
que el personal de Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales)
¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?
¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?
Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...... Autentia = Soporte a Desarrollo & Formación
Autentia S.L. Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ..
y muchas otras cosas
Nuevo servicio de notificaciones
Si deseas que te enviemos un correo electrónico cuando introduzcamos nuevos tutoriales, inserta tu dirección de correo en el siguiente formulario.
Subscribirse a Novedades
Nombre Corto Descripción
Edición de ficheros RSS con RssEditor
Os mostramos como crear y administrar los ficheros de canales RSS a través de la extensión gratuita de FireFox RssEditor
Cachear porciones de JSPs En este tutorial os ensañamos como incrementar increiblemente el rendimiento de vuestro Web basado en tecnología JSP con el FrameWork de cache OSCACHE
Gestión errores en JSPs Os mostramos como realizar ciertas labores intermedias en JSPs: Comentarios, gestión de errores, formateo de fechas y precompilación de ficheros
Ejecutar JSPs almacenados en Base de Datos
Atendiendo una pregunta de nuestro foro, os mostramos como, con unos sencillos pasos, podemos ejecutar JSPs almacenandos en la base de datos. Esto puede ser una idea base para un gestor de contenidos construido en Java.
Transformación de XML y XSL en JSPs
Os mostramos como poder utilizar XML y XSL en JSPS, combinado con el Patrón MVC
Comunicación entre TAGs, Beans y JSPs
Os mostramos las posibilidades de comunicación entre JSPs, Bean y etiquetas de usuario.
Aplicaciones con JSPs Os mostramos como construir una aplicación con JSP que acceda a MySQL
JSP 2.0, JSTL y Lenguaje de expresiones
Os mostramos las novedades de JSP 2.0: Nuevas librerías estandar de etiquetas y el lenguaje de expresiones con ejemplos de acceso a base de datos, XML y XSL en JSP
JSP´s y Modelo-Vista-Controlador En este tutorial os enseñamos como crear un JSP, su relación con los servlets y como crear un ejemplo MVC en Tomcat
TagLibs y JSPs Os mostramos como crear librerias de etiquetas para vuestros JSP y así simplificar su construcción.
Página 8 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils
Patrocinados por enredados.com .... Hosting en Castellano con soporte Java/J2EE
Nota: Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador [email protected] para su resolución.
www.AdictosAlTrabajo.com Opimizado 800X600
Página 9 de 9Tutoriales en AdictosAlTrabajo: Java, J2EE, Visual C++, Linux, UML, OOP y mucho más
09/02/2007http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=RssUtils