<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;A04AQ3Y5fip7ImA9WhRVEEg.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683</id><updated>2012-01-08T13:59:02.826-08:00</updated><category term="apache" /><category term="firefox" /><category term="propiedades" /><category term="android" /><category term="fondos" /><category term="ant" /><category term="ws" /><category term="proyectos" /><category term="jsf" /><category term="rainlendar" /><category term="java" /><category term="jpa" /><category term="php" /><category term="swing" /><category term="spring" /><category term="noticias" /><category term="dropbox" /><category term="maven" /><category term="selenium" /><category term="ubuntu" /><category term="axis2" /><category term="greasemonkey" /><category term="subversion" /><category term="google" /><title>TutorialException</title><subtitle type="html">Solutions to Java problems</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Tutorialexception" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="tutorialexception" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEYFRn05eCp7ImA9Wx9WEUo.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-8364085955319817587</id><published>2011-01-16T03:08:00.000-08:00</published><updated>2011-01-16T03:08:37.320-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-16T03:08:37.320-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="proyectos" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Nueva versión de AEMET (no oficial)</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/8364085955319817587/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2011/01/nueva-version-de-aemet-no-oficial.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8364085955319817587?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8364085955319817587?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2011/01/nueva-version-de-aemet-no-oficial.html" title="Nueva versión de AEMET (no oficial)" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7Q7oylD0N64/TPEP27rqeRI/AAAAAAAAAgY/bccfEe7Rx60/s72-c/icono-hdpi.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">Se ha publicado una nueva versión de la aplicación de AEMET (no oficial). La lista de cambios es la siguiente:
Añadidos los tres tipos de mapas disponibles en la web de AEMET: Infraroja, Visible y Masas de Aire
Caché de los datos de predicción
Predicción de tipo texto para las provincias
Widget  con la predicción para los próximos 4 días
Más información
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D6yol7kHLp27ZNf_cglnHXTRqZ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D6yol7kHLp27ZNf_cglnHXTRqZ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D6yol7kHLp27ZNf_cglnHXTRqZ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D6yol7kHLp27ZNf_cglnHXTRqZ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;D0MCRn4zeCp7ImA9Wx9SGU0.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-8305490551540697411</id><published>2010-12-09T06:37:00.000-08:00</published><updated>2010-12-09T06:37:47.080-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T06:37:47.080-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="proyectos" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Nueva versión Simple DiceRoller 1.2.1</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/8305490551540697411/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/12/nueva-version-simple-diceroller-121.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8305490551540697411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8305490551540697411?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/12/nueva-version-simple-diceroller-121.html" title="Nueva versión Simple DiceRoller 1.2.1" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html"> Se ha publicado una nueva versión de Simple DiceRoller con los siguientes cambios:
Layout mejorado
Capacidad de tirar más de un dado cada vez
Ordenes de las tiradas de dados
Opción de media de resultados        
Widgets de 1x1 y 2x2
Más información
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ytwZLz_IofQeY_xgpee0chx2ymU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ytwZLz_IofQeY_xgpee0chx2ymU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ytwZLz_IofQeY_xgpee0chx2ymU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ytwZLz_IofQeY_xgpee0chx2ymU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DUMERH0yfCp7ImA9Wx9TGEs.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-6208301033142989045</id><published>2010-11-27T06:16:00.000-08:00</published><updated>2010-11-27T06:16:45.394-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-27T06:16:45.394-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="proyectos" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Nueva versión 1.2 de AEMET (no oficial)</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/6208301033142989045/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/11/nueva-version-12-de-aemet-no-oficial.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/6208301033142989045?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/6208301033142989045?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/11/nueva-version-12-de-aemet-no-oficial.html" title="Nueva versión 1.2 de AEMET (no oficial)" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7Q7oylD0N64/TPEP27rqeRI/AAAAAAAAAgY/bccfEe7Rx60/s72-c/icono-hdpi.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">
Se ha publicado una nueva versión de la aplicación AEMET (no oficial). Los cambios son los siguientes:
Añadido el soporte para consultar las imágenes de satélite
Se ha cambiado el parseador por TagSoup
Se ha mejorado el sistema de gestión de tareas en segundo plano
Se han corregido algunos fallos
Más información 

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N35pGnDDgOj1WTMeFu6Uz2Ck-GE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N35pGnDDgOj1WTMeFu6Uz2Ck-GE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N35pGnDDgOj1WTMeFu6Uz2Ck-GE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N35pGnDDgOj1WTMeFu6Uz2Ck-GE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;Ck8CQX84fip7ImA9Wx5WEEo.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-3141620091045905450</id><published>2010-09-21T05:07:00.000-07:00</published><updated>2010-09-21T05:07:40.136-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-21T05:07:40.136-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="axis2" /><category scheme="http://www.blogger.com/atom/ns#" term="ws" /><category scheme="http://www.blogger.com/atom/ns#" term="spring" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Web Service con Maven + Axis2 + Spring framework - Parte II (Seguridad)</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/3141620091045905450/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/09/web-service-con-maven-axis2-spring.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/3141620091045905450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/3141620091045905450?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/09/web-service-con-maven-axis2-spring.html" title="Web Service con Maven + Axis2 + Spring framework - Parte II (Seguridad)" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7Q7oylD0N64/TJifTHn0LyI/AAAAAAAAAXY/H38LFCjDAMs/s72-c/wss-1.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">
Ya vimos en la Parte I de este tutorial cómo crear un servicio web con Maven, Axis2 y Spring. En esta segunda parte veremos cómo agregarle seguridad mediante usuario y password.

Lo primero que vamos a hacer es crear el proyecto  de nuevo siguiendo los pasos de la parte I del tutorial o bien descargamos el proyecto completo aquí.

Para implementar la seguridad haremos uso de un módulo de Axis2 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eAYjF69gwAXg-cUejsHZDNW2LOM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eAYjF69gwAXg-cUejsHZDNW2LOM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eAYjF69gwAXg-cUejsHZDNW2LOM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eAYjF69gwAXg-cUejsHZDNW2LOM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;Ck8MRHg7eyp7ImA9Wx5WEEo.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-2706171690457673022</id><published>2010-08-30T04:08:00.000-07:00</published><updated>2010-09-21T05:08:05.603-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-21T05:08:05.603-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="axis2" /><category scheme="http://www.blogger.com/atom/ns#" term="ws" /><category scheme="http://www.blogger.com/atom/ns#" term="spring" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Web Service con Maven + Axis2 + Spring framework</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/2706171690457673022/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/08/servicio-web-con-maven-axis2.html#comment-form" title="3 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2706171690457673022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2706171690457673022?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/08/servicio-web-con-maven-axis2.html" title="Web Service con Maven + Axis2 + Spring framework" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_7Q7oylD0N64/THuOTXrOwtI/AAAAAAAAAV4/48HTpcTgkNE/s72-c/ws_maven_axis2_spring_01.png" height="72" width="72" /><thr:total>3</thr:total><content type="html">En este post voy a explicar cómo crear un servicio web con Maven, Axis2 y Spring framework. La idea es tener el mínimo número de ficheros y configuración para que el servicio web funcione.

Lo primero que vamos a necesitar es un proyecto Maven, al que he llamado "servicioWeb", de tipo aplicación web con la siguiente estructura:
servicioWeb
 |-src
   |-main
     |-resources
     |-java
     |-
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tgexUG1YiXBe_9x06ebtom361qA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tgexUG1YiXBe_9x06ebtom361qA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tgexUG1YiXBe_9x06ebtom361qA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tgexUG1YiXBe_9x06ebtom361qA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;AkAMQno4eyp7ImA9WxFVF0w.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-2912670908770299107</id><published>2010-06-16T10:50:00.000-07:00</published><updated>2010-06-16T13:06:23.433-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-16T13:06:23.433-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Google Calendar en el escritorio de Ubuntu</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/2912670908770299107/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/06/google-calendar-en-el-escritorio-de.html#comment-form" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2912670908770299107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2912670908770299107?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/06/google-calendar-en-el-escritorio-de.html" title="Google Calendar en el escritorio de Ubuntu" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_7Q7oylD0N64/TBkK0UEJ-oI/AAAAAAAAAUI/YnY3wSA2sng/s72-c/calendario01.png" height="72" width="72" /><thr:total>1</thr:total><content type="html">En este post voy a explicar algo que debería ser fácil de conseguir pero que hasta hace poco no había conseguido de una forma tan limpia. Hasta ahora venía usando un calendario para el escritorio llamado Rainlendar. Este escritorio se integra bastante bien en el escritorio de Ubuntu y mediante un programita llamado GCalDaemon se conseguía sincronizar el calendario con Google Calendar. El 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/26tzsio3pzSMo_Lho6IOjSiUI5E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/26tzsio3pzSMo_Lho6IOjSiUI5E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/26tzsio3pzSMo_Lho6IOjSiUI5E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/26tzsio3pzSMo_Lho6IOjSiUI5E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;A0cDSX8zcSp7ImA9WxFVFEQ.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-3856338463880298104</id><published>2010-06-14T00:04:00.000-07:00</published><updated>2010-06-14T00:04:38.189-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T00:04:38.189-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fondos" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Wallpapers para Android - Dream Theater</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/3856338463880298104/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/06/wallpapers-para-android-dream-theater.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/3856338463880298104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/3856338463880298104?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/06/wallpapers-para-android-dream-theater.html" title="Wallpapers para Android - Dream Theater" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_7Q7oylD0N64/TBIp0kyPNzI/AAAAAAAAATU/aACN0jzsEzI/s72-c/dt01.jpg" height="72" width="72" /><thr:total>0</thr:total><content type="html">¿Tienes un móvil con Android?, ¿te gustan los Dream Theater?. Entonces te interesará este post en el que os voy a proponer un cambio de look para vuestro móvil.

Existen multitud de páginas y aplicaciones que nos proporcionan cambiar fácilmente nuestro fondo de pantalla. ElAndroideLibre.com ya habló de esto en un post.

Yo os voy a proponer varios fondos de pantalla que he preparado para Android,
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aychON2f-scOZb5FlX8OsoB69t0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aychON2f-scOZb5FlX8OsoB69t0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aychON2f-scOZb5FlX8OsoB69t0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aychON2f-scOZb5FlX8OsoB69t0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;CkcMRnw-eip7ImA9WxFXEko.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-7180822845196456873</id><published>2010-05-19T02:41:00.000-07:00</published><updated>2010-05-19T04:54:47.252-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T04:54:47.252-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Mensajes emergentes en Android - Parte 1</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/7180822845196456873/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/05/mensajes-emergentes-en-android-parte-1.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/7180822845196456873?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/7180822845196456873?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/05/mensajes-emergentes-en-android-parte-1.html" title="Mensajes emergentes en Android - Parte 1" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_7Q7oylD0N64/S_OoGGEcFtI/AAAAAAAAARs/YcOxIDClKbg/s72-c/Escritorio+1_004.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">En este post veremos el primero y más simple de los mensajes emergentes en Android. La plataforma Android nos proporciona mecanismos para crear de forma simple efectos muy integrados con la apariencia general del sistema.

Los mensajes que vamos a crear se denominan Toast y vamos a ver mensajes Toast de cuatro tipos:

  Mensaje de sólo texto       Mensaje con icono    
            
  Mensaje con 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NxSKa4TjHLpTU_eri9PAbLTnw70/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NxSKa4TjHLpTU_eri9PAbLTnw70/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NxSKa4TjHLpTU_eri9PAbLTnw70/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NxSKa4TjHLpTU_eri9PAbLTnw70/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;A08DQHY9eyp7ImA9WxFQEUk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-1422079081818710535</id><published>2010-05-06T05:44:00.001-07:00</published><updated>2010-05-06T05:44:31.863-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-06T05:44:31.863-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="subversion" /><title>Presentación de Subversion</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/1422079081818710535/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/05/presentacion-de-subversion.html#comment-form" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/1422079081818710535?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/1422079081818710535?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/05/presentacion-de-subversion.html" title="Presentación de Subversion" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>1</thr:total><content type="html">A continuación podéis ver la presentación de Subversion + TortoiseSVN que realicé esta semana. espero que os se a de utilidad.

Presentación de Subversion     
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DpkupvsoGlNCIyPb5n63mrFQCjk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DpkupvsoGlNCIyPb5n63mrFQCjk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DpkupvsoGlNCIyPb5n63mrFQCjk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DpkupvsoGlNCIyPb5n63mrFQCjk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;D0QESX08eSp7ImA9WxFQEkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-4474912815376533849</id><published>2010-04-28T11:39:00.000-07:00</published><updated>2010-05-07T08:15:08.371-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-07T08:15:08.371-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="greasemonkey" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>¿Cómo poner un "escuchando ahora" ("now playing") en las páginas web (foros, twitter, facebook, etc.)?</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/4474912815376533849/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/04/como-poner-un-escuchando-ahora-listen.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/4474912815376533849?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/4474912815376533849?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/04/como-poner-un-escuchando-ahora-listen.html" title="¿Cómo poner un &quot;escuchando ahora&quot; (&quot;now playing&quot;) en las páginas web (foros, twitter, facebook, etc.)?" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7Q7oylD0N64/S9iBqXo53UI/AAAAAAAAARk/AWU4YipD3mw/s72-c/diagrama.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">En primer lugar voy a aclarar que esta solución no es trivial pero si completas los pasos podrás insertar fácilmente un mensaje en las páginas para que aparezca la canción que estás escuchando.

Actualmente está probado en algunos foros, en twitter y en facebook sin problemas pero puede adaptarse a la página web que quieras.

Antes que nada, al ser una solución bastante particular veamos los 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AoXtRNZtGb7uKwy63nQ1QRzFBCE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AoXtRNZtGb7uKwy63nQ1QRzFBCE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AoXtRNZtGb7uKwy63nQ1QRzFBCE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AoXtRNZtGb7uKwy63nQ1QRzFBCE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DEYNQnY_cSp7ImA9WxFSGEg.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-8697408844198394463</id><published>2010-04-21T06:22:00.000-07:00</published><updated>2010-04-21T06:23:13.849-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-21T06:23:13.849-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="proyectos" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Va por tí, android</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/8697408844198394463/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/04/va-por-ti-android.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8697408844198394463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8697408844198394463?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/04/va-por-ti-android.html" title="Va por tí, android" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">Gracias a los chicos de elandroidelibre.com me he decidido a crear mi primer post sobre android en mi blog. Y es que fue hace relativamente poco cuando me introduje en el mundo android (concretamente tres meses) gracias a una buena oferta de mi compañía de teléfono. 

Tras este post tendrán que venir muchos más puesto que soy un amante de la programación en Java y he entrado de lleno en la 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JuSw7gFodvS9di_EO22LEdyaC3Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JuSw7gFodvS9di_EO22LEdyaC3Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JuSw7gFodvS9di_EO22LEdyaC3Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JuSw7gFodvS9di_EO22LEdyaC3Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;CE8EQXo_cCp7ImA9WxBaEkg.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-2783836779557238359</id><published>2010-03-22T03:12:00.000-07:00</published><updated>2010-03-22T03:13:20.448-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-22T03:13:20.448-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="noticias" /><title>Si es legal, es legal</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/2783836779557238359/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/03/si-es-legal-es-legal.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2783836779557238359?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2783836779557238359?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/03/si-es-legal-es-legal.html" title="Si es legal, es legal" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">El pasado 19 de marzo ha sido aprobada la "Ley Sinde". TutorialException se une a la campaña de la FACUA en contra de este abuso y criminalización de los usuarios:

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZOhurH13Rq-KSFgaQ6HSsYGMbP0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZOhurH13Rq-KSFgaQ6HSsYGMbP0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZOhurH13Rq-KSFgaQ6HSsYGMbP0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZOhurH13Rq-KSFgaQ6HSsYGMbP0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;AkAGQHk7fSp7ImA9WxBUFkQ.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-558106845799232349</id><published>2010-03-04T02:32:00.000-08:00</published><updated>2010-03-04T02:32:01.705-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-04T02:32:01.705-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fondos" /><title>Fondo de escritorio</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/558106845799232349/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/03/fondo-de-escritorio.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/558106845799232349?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/558106845799232349?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/03/fondo-de-escritorio.html" title="Fondo de escritorio" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">De nuevo vamos con la sección de fondo de escritorio. Esta vez os propongo tres fondos de pantalla.

Broken-Building

Descarga aquí

Lightning Bolt

Descarga aquí

Flower Garden

Descarga aquí
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qC5mvVebzdttQYRl66QjfvR4oJ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qC5mvVebzdttQYRl66QjfvR4oJ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qC5mvVebzdttQYRl66QjfvR4oJ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qC5mvVebzdttQYRl66QjfvR4oJ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;AkUHR34yeyp7ImA9WxBUFUk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-6482170406696712513</id><published>2010-03-02T08:29:00.001-08:00</published><updated>2010-03-02T08:43:56.093-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-02T08:43:56.093-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><category scheme="http://www.blogger.com/atom/ns#" term="jsf" /><title>Columnas dinámicas con JSF</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/6482170406696712513/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/03/columnas-dinamicas-con-jsf.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/6482170406696712513?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/6482170406696712513?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/03/columnas-dinamicas-con-jsf.html" title="Columnas dinámicas con JSF" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_7Q7oylD0N64/S408M-1rt1I/AAAAAAAAAMw/HIiE7YbGP6s/s72-c/filas.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">En este post voy a explicar cómo realizar una tabla de columnas dinámicas con JSF. Esta solución se basa en la librería de etiquetas JSF de Apache Trinidad, por lo que podremos aplicarla a cualquier implementación y versión de JSF. Yo recomiendo utilizar la implementación de Apache MyFaces.

Muchas veces, la versión de JSF a utilizar viene determinada por el entorno de ejecución. Por ejemplo, la 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sJIPfy5Y06ngAtGnmBk-EsCllh8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sJIPfy5Y06ngAtGnmBk-EsCllh8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sJIPfy5Y06ngAtGnmBk-EsCllh8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sJIPfy5Y06ngAtGnmBk-EsCllh8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;CkUCRHc7eip7ImA9WxBUEUw.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-8096498687229122663</id><published>2010-02-25T06:49:00.000-08:00</published><updated>2010-02-25T07:04:25.902-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-25T07:04:25.902-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fondos" /><title>Fondo de escritorio</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/8096498687229122663/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/02/fondo-de-escritorio.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8096498687229122663?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/8096498687229122663?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/02/fondo-de-escritorio.html" title="Fondo de escritorio" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_7Q7oylD0N64/S4aQM8_3QjI/AAAAAAAAAMc/fAT5lCm1jhg/s72-c/AirbourneWallpaper.jpg" height="72" width="72" /><thr:total>0</thr:total><content type="html">Hoy inauguro esta sección sección de fondo de pantalla, en la que cada ciertos días (espero que cada semana) os propondré un nuevo fondo de pantalla.

El que presento hoy tiene que ver con la música y no es otro que el de Airbourne


Disponible en los siguientes formatos:
800x600
1024x768
1280x1024
1600x1200

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6JFty8862eSS2ZRT7wO5aRf772E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6JFty8862eSS2ZRT7wO5aRf772E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6JFty8862eSS2ZRT7wO5aRf772E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6JFty8862eSS2ZRT7wO5aRf772E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;CUIAQHoyeCp7ImA9WxBXFEQ.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-2832286590282828020</id><published>2010-01-26T00:11:00.000-08:00</published><updated>2010-01-26T00:12:21.490-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-26T00:12:21.490-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="greasemonkey" /><category scheme="http://www.blogger.com/atom/ns#" term="dropbox" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Sincronizar tus scripts de Greasemonkey</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/2832286590282828020/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2010/01/sincronizar-tus-scripts-de-greasemonkey.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2832286590282828020?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2832286590282828020?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2010/01/sincronizar-tus-scripts-de-greasemonkey.html" title="Sincronizar tus scripts de Greasemonkey" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_7Q7oylD0N64/S16jacDjhhI/AAAAAAAAAL4/cqtNj_Uf2vI/s72-c/diagrama.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">En este post explicaré cómo sincronizar tus scripts de Greasemonkey entre distintos ordenadores. La solución está aplicada sobre ordenadores Ubuntu con la ayuda de DropBox, pero una vez explicado el funcionamiento, puede aplicarse con poco esfuerzo a otras distribuciones linux.
En primer lugar, si no conoces Greasemonkey decir que se trata de un plugin de firefox totalmente recomendable.
Luego, 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gv0vcMh4s6z5VBVXwyRvjACeVe8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gv0vcMh4s6z5VBVXwyRvjACeVe8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gv0vcMh4s6z5VBVXwyRvjACeVe8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gv0vcMh4s6z5VBVXwyRvjACeVe8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;CU4ASXg6fCp7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-892742671352538755</id><published>2009-12-14T00:00:00.000-08:00</published><updated>2010-01-16T04:12:28.614-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:12:28.614-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Cambiar el contenido de ficheros de texto con Maven</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/892742671352538755/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/12/cambiar-el-contenido-de-ficheros-de.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/892742671352538755?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/892742671352538755?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/12/cambiar-el-contenido-de-ficheros-de.html" title="Cambiar el contenido de ficheros de texto con Maven" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">En esta entrada veremos cómo configurar Maven para que, en función de los perfiles activados, se modifiquen ciertos ficheros de texto. Un ejemplo claro de uso es cuando estamos usando log4j y queremos que el fichero de log se genere en sitios distintos en función del entorno en el que se ejecute. 

Supongamos por tanto que tenemos una aplicación con la siguiente configuración de log4j:

&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NCyposnDxpr3Lyy2JQcxkc3P_nQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NCyposnDxpr3Lyy2JQcxkc3P_nQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NCyposnDxpr3Lyy2JQcxkc3P_nQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NCyposnDxpr3Lyy2JQcxkc3P_nQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DkcHQ3kycSp7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-6721906227372465349</id><published>2009-09-16T00:23:00.000-07:00</published><updated>2010-01-16T04:13:52.799-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:13:52.799-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="rainlendar" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Sincronización de Rainlendar con Google Calendar en Ubuntu</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/6721906227372465349/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/09/sincronizacion-de-rainlendar-con-google.html#comment-form" title="2 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/6721906227372465349?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/6721906227372465349?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/09/sincronizacion-de-rainlendar-con-google.html" title="Sincronización de Rainlendar con Google Calendar en Ubuntu" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>2</thr:total><content type="html">Hace tiempo que quedé impresionado por la calidad del calendario Rainlendar. Rainlendar2 es un calendario multiplataforma que se integra perfectamente en el escritorio.







Puedes descargar la versión para tu plataforma en la página de descargas:
http://www.rainlendar.net/cms/index.php?option=com_rny_download&amp;amp;all=1

La única pega es que yo usaba Google Calendar y Rainlendar2 sólo soporta la 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PCCIpK9PI_UQAeuxEnyB3ANdKGw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PCCIpK9PI_UQAeuxEnyB3ANdKGw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PCCIpK9PI_UQAeuxEnyB3ANdKGw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PCCIpK9PI_UQAeuxEnyB3ANdKGw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DkQDSX85fSp7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-3861628631274313789</id><published>2009-09-13T23:55:00.000-07:00</published><updated>2010-01-16T04:19:38.125-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:19:38.125-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="jsf" /><title>Navegar a un enlace interno tras un action en JSF</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/3861628631274313789/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/09/navegar-un-enlace-interno-tras-un.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/3861628631274313789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/3861628631274313789?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/09/navegar-un-enlace-interno-tras-un.html" title="Navegar a un enlace interno tras un action en JSF" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">En este post voy a dar una solución a un problema común que consiste en navegar a un enlace interno tras pulsar en un botón o en un enlace que ejecuta una acción en el servidor.

Si simplemente quisiéramos navegar a un enlace interno sin ejecutar nada en el servidor podríamos hacerlo con un outputLink:

&amp;lt;h:outputLink value="pagina.jsf#ancla" &amp;gt;&amp;lt;h:outputText value="Ir a la página"/&amp;gt; &amp;lt;/h:outputLink&amp;gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4KCUfz2K1kSvsHIcB7kaa3FoQ_g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4KCUfz2K1kSvsHIcB7kaa3FoQ_g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4KCUfz2K1kSvsHIcB7kaa3FoQ_g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4KCUfz2K1kSvsHIcB7kaa3FoQ_g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DkMDQXw-fCp7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-7486986451533623342</id><published>2009-04-27T03:57:00.000-07:00</published><updated>2010-01-16T04:21:10.254-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:21:10.254-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="proyectos" /><category scheme="http://www.blogger.com/atom/ns#" term="ant" /><category scheme="http://www.blogger.com/atom/ns#" term="selenium" /><title>Automatización de Pruebas Web con Selenium RC y Ant</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/7486986451533623342/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/04/automatizacion-de-pruebas-web-con.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/7486986451533623342?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/7486986451533623342?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/04/automatizacion-de-pruebas-web-con.html" title="Automatización de Pruebas Web con Selenium RC y Ant" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">En este post vamos a ver cómo realizar pruebas sobre páginas web de una forma sencilla y rápida. En primer lugar vamos a explicar qué es Selenium:
Selenium es un framework de pruebas portable para aplicaciones web. Las pruebas pueden ser escritas directamente en tablas HTML o codificadas en un gran número de lenguajes de programación (PHP, Ruby, Java, JavaScript, etc.) y se ejecutan directamente 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V92MJ9B4fOLOEu3y-D8j2eOkBvg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V92MJ9B4fOLOEu3y-D8j2eOkBvg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V92MJ9B4fOLOEu3y-D8j2eOkBvg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V92MJ9B4fOLOEu3y-D8j2eOkBvg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DkICQ3s_fyp7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-72927008023464281</id><published>2009-04-14T02:49:00.000-07:00</published><updated>2010-01-16T04:22:42.547-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:22:42.547-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="swing" /><title>Componentes Redimensionables en Swing</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/72927008023464281/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/04/componentes-redimensionables-en-swing.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/72927008023464281?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/72927008023464281?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/04/componentes-redimensionables-en-swing.html" title="Componentes Redimensionables en Swing" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_7Q7oylD0N64/SeRh_t-amqI/AAAAAAAAAFo/UK6SQUY7Fsc/s72-c/resizable01.png" height="72" width="72" /><thr:total>0</thr:total><content type="html">Hace unos días descubrí un post en el que se explicaba cómo crear elementos redimensionables con Swing de una manera sencilla y rápida. La entrada está explicada bastante bien y puedes consultarla aquí. Las principales características de la solución aportada por Santhosh Kumar T son:
Se trabaja con una clase JResizer que contiene el elemento redimensionable

Podemos redimensionar cualquier 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VbH-LE4gJgHQgowkkii4abL6Z34/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VbH-LE4gJgHQgowkkii4abL6Z34/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VbH-LE4gJgHQgowkkii4abL6Z34/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VbH-LE4gJgHQgowkkii4abL6Z34/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;DkENRX89fSp7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-1454152571257565295</id><published>2009-03-23T09:43:00.000-07:00</published><updated>2010-01-16T04:24:54.165-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:24:54.165-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="swing" /><title>Tooltips en celdas de JTable</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/1454152571257565295/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/tooltips-en-celdas-de-jtable.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/1454152571257565295?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/1454152571257565295?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/tooltips-en-celdas-de-jtable.html" title="Tooltips en celdas de JTable" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">Hace poco, trabajando con el proyecto discography-generator me encontré el problema de hacer que las celdas de un javax.swing.JTable mostraran un tooltip o "mensaje emergente" cuando el ratón estuviera encima.

Lo único que estaba buscando era que se mostrara el contenido de la celda, algo muy simple a priori pero que, como ocurre casi siempre en Swing, acaba siendo algo rebuscado. La solución la
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7BMqX1adnY0mAJQ622Hqq8nOx-s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7BMqX1adnY0mAJQ622Hqq8nOx-s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7BMqX1adnY0mAJQ622Hqq8nOx-s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7BMqX1adnY0mAJQ622Hqq8nOx-s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;Dk8MQHc6fip7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-2545141508624921079</id><published>2009-03-19T05:24:00.000-07:00</published><updated>2010-01-16T04:28:01.916-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:28:01.916-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><title>Sistema de plantillas en menos de 50 líneas</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/2545141508624921079/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/sistema-de-plantillas-en-menos-de-50.html#comment-form" title="2 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2545141508624921079?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/2545141508624921079?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/sistema-de-plantillas-en-menos-de-50.html" title="Sistema de plantillas en menos de 50 líneas" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>2</thr:total><content type="html">En este post presentaré una solución cómoda y rápida (que no tiene porqué ser la mejor) para crear un sistema de plantillas basado en Java. En primer lugar voy a aclarar a qué quiero referirme cuando hablo de "sistema de plantillas". La idea es la siguiente, partiendo de un texto como el siguiente:
Hola ${usuario}, hoy es ${fecha}
Vamos a diseñar un sistema que reciba este texto (en forma de 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3sFlgG9a267d5Q2mHY7OIDcazBk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3sFlgG9a267d5Q2mHY7OIDcazBk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3sFlgG9a267d5Q2mHY7OIDcazBk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3sFlgG9a267d5Q2mHY7OIDcazBk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;CEcEQ3w_eyp7ImA9WxNQEEQ.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-5572842327684520925</id><published>2009-03-06T02:24:00.000-08:00</published><updated>2009-09-16T02:06:42.243-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-16T02:06:42.243-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="proyectos" /><category scheme="http://www.blogger.com/atom/ns#" term="maven" /><title>Estructura de directorios de Maven</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/5572842327684520925/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/estructura-de-directorios-de-maven.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/5572842327684520925?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/5572842327684520925?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/estructura-de-directorios-de-maven.html" title="Estructura de directorios de Maven" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">En esta breve entrada se expondrá la estructura estándar de directorios de Maven. Se expondrán la estructura para cada tipo de proyecto.Proyecto J2SE (JAR):proyecto|-src|_|-main|_|_|-java|_|_|_|-&amp;lt;paquetes-java&amp;gt;|_|_|-resources|_|_|_|-&amp;lt;ficheros-recursos&amp;gt;|_|-test|_|_|-java|_|_|_|-&amp;lt;paquetes-java&amp;gt;|_|_|-resources|_|_|_|-&amp;lt;ficheros-recursos&amp;gt;|-targetProyecto WAR:proyecto|-src|_|-main|_|_|-java|_|_|_|-&amp;lt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KRduR1y5_gGIy6wDJc5YuZit1EE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KRduR1y5_gGIy6wDJc5YuZit1EE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KRduR1y5_gGIy6wDJc5YuZit1EE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KRduR1y5_gGIy6wDJc5YuZit1EE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry><entry gd:etag="W/&quot;D0cASHo5eip7ImA9WxBQFkk.&quot;"><id>tag:blogger.com,1999:blog-1470090141801263683.post-4761370617550062356</id><published>2009-03-06T02:14:00.000-08:00</published><updated>2010-01-16T04:30:49.422-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T04:30:49.422-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="propiedades" /><title>Cargar un fichero de propiedades en Java</title><link rel="replies" type="application/atom+xml" href="http://tutorialexception.blogspot.com/feeds/4761370617550062356/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/cargar-un-fichero-de-propiedades-en.html#comment-form" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/4761370617550062356?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1470090141801263683/posts/default/4761370617550062356?v=2" /><link rel="alternate" type="text/html" href="http://tutorialexception.blogspot.com/2009/03/cargar-un-fichero-de-propiedades-en.html" title="Cargar un fichero de propiedades en Java" /><author><name>Fede Fdez</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-wlfBLU1bHWo/AAAAAAAAAAI/AAAAAAAAC6M/KI-yWfd7pTQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><content type="html">En esta entrada voy a explicar cómo cargar un fichero de propiedades de Java. Esta operación aunque sencilla puede ayudarnos mucho en la separación de responsabilidades entre las distintas partes de nuestro sistema.

Por ejemplo, si tenemos que mostrar una serie de mensajes por pantalla. En lugar de embeber los mensajes dentro del código Java escribiremos dichos mensajes en un fichero .properties
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mQpJxn8XUsYUQt3gllZqGPifFeU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mQpJxn8XUsYUQt3gllZqGPifFeU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mQpJxn8XUsYUQt3gllZqGPifFeU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mQpJxn8XUsYUQt3gllZqGPifFeU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</content></entry></feed>

