¿Qué importa que algún capitán me ordene coger la escoba y barrer la cubierta?¿Quién no es un esclavo? Decídmelo.
Ismael, en Moby Dick

Archivos en el mes de June del 2008

Alvarito, otra despedida

10_miembro_de_oro_redimensionar.jpgNo es grato anunciar otra despedida, esta vez la del cordobés del equipo, Álvaro. Parece que fue ayer cuando llegó, y se va después de aguantarnos 11 meses.

Siempre pensé que las ratas eran las primeras que abandonaban el barco, pero hace poco leía en navegápolis la misma idea expresada de una manera más poética:

Poco a poco, empezando por los mejores, van abandonando su departamento o la empresa

Se nos va otro personaje, de los mejores, otro gran demonio como dijo en su momento el Espince. El silencio a veces transmite más que cualquier palabra, como ilustra una cita que acompaña a esta bitácora en su cabecera, como se puede comprobar en este mismo post.

Lycka, y el que suscribe, le desea justicia, y un poquito de suerte que siempre viene bien. Al menos no tentrás problemas en encontrar mejor compañía en el futuro !

[Lecturas Recomendadas] - 20080627

PaesNBA

npc

 

GurusBlog

Kirai

  • Libros gratis sólo por ver la cara de la gente de la SGAE merecería la pena ponerlos aquí… aunque yo lo prefiriría por difundir la cultura.

Spring - MVC : Primeros pasos

Spring - MVC es uno de los módulos del Framework de Spring, y como su propio nombre nos indica implementa una arquitectura Modelo - Vista - Controlador que utilizaremos como base para desarrollar nuestra aplicación web.

Si ya has utilizado antes el Framework de Struts, que también implementa una arquitectura MVC, no tendrás muchos problemas en utilizar este módulo.

Partiendo de una aplicación web

Sabemos que necesitamos nuestras herramientas Java (JDK), un IDE (hoy por hoy Eclipse es el rey y yoxos su profeta) y un servidor de aplicaciones (Tomcat siempre es una buena elección). 

holamundo_proyectoweb.JPGBueno, pues con todo listo partimos de una aplicación web, que llamaremos holamundo. Para comenzar nos basta un nuevo proyecto web dinámico con un fichero de bienvenida, index.jsp. Recuerda que se indica en el web.xml la lista de ficheros de bienvenida.

Desplegando la aplicación en nuestro servidor de aplicaciones deberíamos ver nuestra página de bienvenida introduciendo en nuestro navegador la URL <URL_Servidor_Aplicaciones>/holamundo (si el servidor está en nuestro ordenador, http://localhost:8080/holamundo).

holamundo_index.JPG

Librerías Spring - MVC

Añadimos lo primero las librerías del Tomcat. Encima del proyecto, botón derecho > Propiedades > Java Build Path > en la pestaña de Librerías > Añadir Librería > Server Runtime > Seleccionamos el Servidor de Aplicaciones (Tomcat)

Ahora añadiremos las librerías que necesitamos para utilizar Spring - MVC. Las necesarias son :

  • spring.jar, contiene las clases del núcleo de spring.
  • spring-mvc.jar, contiene las clases del módulo de MVC de Spring.

Normalmente también añadiremos al menos

  • standard.jar y jstl.jar para utilizar etiquetas JSTL en nuestro proyecto.
  • commons-logging.jar (o log4j.jar) para el logging de nuestra aplicación.
  • junit.jar para utilizar JUNIT para las pruebas de nuestras clases. Evidentemente si eres español esto te sobra, porque aquí programamos como los hombres, a pelo, a pecho descubierto y con las luces en el traje.

Configurando Spring - MVC

Debemos indicar ahora a nuestra aplicación web que utilice la servlet de Spring. Sip, eso lo hacemos en el web.xml. En este ejemplo definimos una servlet (holamundo) que responderá al encontrar una URL con el patrón *.lycka.

<servlet>

      <servlet-name>holamundo</servlet-name>

      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

      <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

      <servlet-name>holamundo</servlet-name>

      <url-pattern>*.lycka</url-pattern>

</servlet-mapping> 

Y Spring MVC también tiene su archivo de configuración, al estilo del struts-config.xml de Struts. En este caso el nombre es el nombre de la servlet (<servlet-name>) seguido de "-servlet.xml". En este caso, holamundo-servlet.xml.

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xsi:schemaLocation="http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

      <!– the application context definition for the springapp DispatcherServlet –>

      <bean name="/holamundo.html"      class="es.lycka.holamundo.control.HolaMundoController"/>

      <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>

            <property name="prefix" value="jsp/"></property>

            <property name="suffix" value=".jsp"></property>

      </bean>
 </beans>

Hemos a definir un controlador (es.lycka.holamundo.control.HolaMundoController), que atenderá la llamada a un path ("/holamundo.lycka").

<bean name="/holamundo.lycka"      class="es.lycka.holamundo.control.HolaMundoController"/> 

Este controlador realizará sus operaciones pertinentes, y según su resultado decidirá el siguiente paso : devolverá como resultado una vista (una jsp) con sus parámetros correspondientes. En este caso, se dirigirá a la vista "holamundo" pasando un parámetro, "ahora".

public class HolaMundoController implements Controller {

      protected final Log logger = LogFactory.getLog(getClass());

      public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)

                  throws ServletException, IOException {

            String ahora = (new Date()).toString();

            logger.info("Se dirige a la vista holamundo con ahora = " + ahora);

            return new ModelAndView("holamundo", "ahora", ahora);

      }

}

holamundo_proyectospringmvc.JPGAhora entra en juego el otro bean definido en nuestro xml, "viewResolver". Para independizar la ubicación de los ficheros de las vistas de los contraldores podemos definir reglas para encontrar la vista a partir de su nombre. En este caso, van a estar dentro del directorio "jsp/" y su extensión será ".jsp".

Así que nos queda construir la jsp que responderá, holamundo.jsp dentro del directorio jsp.

Puf, mucho trabajo no? Bueno, llegados a este punto deberíamos de poder desplegar en nuestro servidor y probar qué nos devuelve si introducimos en nuestro navegador la ruta "<URL_Servidor_Aplicaciones>/holamundo/holamundo.lycka". Cruzamos los dedos y…

holamundo_holamundo.JPG

Más información

Technorati Tags: ,

El 19 de Marzo y el 2 de Mayo

El 19 de Marzo y el 2 de Mayo, de GaldósHace muchos años que no leía a Benito Pérez Galdós, me parecía aburrido y poco comunicador. Sin embargo, será la edad, será que marte está alineado con saturno, me ha encantado este episodio nacional.

Su título es muy descriptivo, narra los acontecimientos del 19 de Marzo de 1808 en Aranjuez y lo bien conocidos del 2 de Mayo en Madrid, vistos desde la perspectiva de un muchacho.

Marco histórico

Estos hechos se encuadran en una España reinada por Carlos IV, con su hijo (el futuro Fernando VII) disputándole el trono, y con Manuel Godoy como Ministro del Rey ejerciendo el gobierno de la nación.

Napoleón Bonaparte, emperador de Francia, busca expandir su imperio y tras su fracaso al invadir Inglaterra se fija en Portugal (aliado inglés que incumplió el embargo naval a Inglaterra decretado por Bonaparte).

Para conquistar Portugal, Bonaparte se alía con España, firmando el Tratado de Fontainebleau de 1807 por el cual Portugal tras un ataque conjunto franco-hispano se dividirá en tres provincias, una de las cuales sería entregada a Godoy, dejando el reparto de las colonias portuguesas para más adelante. España se compromete a dejar pasar las fuerzas francesas en su camino a Portugal.

En seguida se inician los ataques a Portugal, y prácticamente un mes después la familia Real portuguesa abandonaba el país con rumbo a Brasil. 

Sin embargo, las tropas francesas afincadas en España seguían creciendo en número y sus posiciones en importancia, desde Salamanca, Burgos, San Sebastián, Barcelona hasta Madrid. Este hecho enciende todas las alarmas, y la familia Real se retira a Aranjuez para verse libres de tomar camino a Cádiz, y posteriormente América. El intento de fuga se vio abortado por un motín popular en Aranjuez, y como resultado Carlos IV, considerado culpable de la situación, abdicó en favor del hasta entonces Príncipe de Asturias, Fernando VII, que gozaba con el favor del pueblo.

La llegada a Madrid de Fernando VII, acompañado por el general francés Murat como muestra de apoyo de Bonaparte al nuevo rey, es recibida con alegría y esperanza por el pueblo.

Sin embargo las tropas francesas siguen tomando posiciones, dejando claro que Napoleón pretende aprovecharse de las guerras internas por el poder entre padre e hijo, ambos pidiendo el favor y el apoyo del emperador francés, y de la salida de las tropas españolas a Portugal. El pueblo de Madrid, convencido de que los franceses ya no son amigos, se levanta el 2 de mayo. 

El 5 de mayo en Bayona, la familia real española abdica en favor de Napoleón, quien cede los privilegios sobre la Corona española a su hermano José I, conocido popularmente como Pepe Botella.

Este es el comienzo de la Guerra de la Independencia española, que desembocará en la constitución de 1812 de Cádiz, la vuelta al poder de Fernando VII y la expulsión de los franceses.

De vuelta a la novela

El último párrafo del libro es helador y expresivo hasta lo imponderable, y como sé que no os vais a molestar en coger el libro y leerlo, punto que recomiendo, os lo transcribo, avisando que el contexto lo hace más sobrecogedor :

 Y al ver esto sentí un estruendo horroroso, después un zumbido dentro de la cabeza y un hervidero en todo el cuerpo; después un calor intenso, seguido de penetrante frío; después una sensación inexplicable como si algo rozara por toda mi epidermis; después un vapor dentro del pecho, que subía invadiendo mi cabeza; después una debilidad incompresnsible que me hacía el efecto de quedarme sin piernas; después una palpitación vivísima en el corazón; después un súbito detenimiento en el latido de esta víscera; después la pérdida de toda sensación en el cuerpo, y en el busto, y en el cuello, y en la boca; después la inconsciencia de tener cabeza, la absoluta reconcentración de todo yo en mi pensamiento; después unas como ondulaciones concéntricas en mi cerebro, parecidas a las que forma una piedra cayendo al mar; después un chisporroteo colosal que difundía por espacios mayores que cielo y tierra juntos la imagen de Inés en doscientos mil millones de luces; después oscuridad profunda, misteriosamente asociada a un agudísimo dolor en las sienes; después un vago reposo, una extinción rápida, un olvido creciente e invasor, y por último nada, absolutamente nada.

También me gustaría resaltar otro pasaje del libro, ya en la mañana del 2 de Mayo.

El jefe de las fuerzas francesas acercose a nosostros, y edn vez de tratar decorosamente de las condiciones de la rendición, habló a Daoíz de la manera más destemplada y en términos amenazadores y groseros. Nuestro inmortal artillero pronunció entonces aquellas célebres palabras: Si fuerais capaces de hablar así con vuestro sable, no me trataríais así.

PD, Gracias por el regalo, que como ves no ha sido sólo un montón de páginas impresas.

Finde en Valencia

Fin de semana de visita familiar a Valencia, acogidos en la sierra a unos 20 kilómetros de la ciudad.

Curiosa ciudad y muy suya, no supe tomarle el pulso. Una gran ciudad en extensión, con alrededor de 800.000 habitantes, continuamente reinventándose a sí misma en una perpetua huida hacia adelante. Avenidas muy anchas, las construcciones nuevas son impresionantes, todo nuevo… : un barrio de 10 años ya se puede considerar vejete.

Llaman la atención la poca educación al volante de algunos descerebrados, y un rasgo muy característico omnipresente en Valencia (bien podría ser su lema), tanto en los habitantes como en la propia ciudad : "Serà per diners" ("Será por dinero"). Desde luego tiene pinta de que se vive muy bien en esta ciudad… teniendo mucho dinero.

Primero desviar el cauce del río, para evitar futuras inundaciones. No se puede discutir que esta obra sea imprescindible, aunque el resultado podría haber sido mejor. Después fue la Ciudad de las Ciencias y de las Artes, con El Hemisférico (proyecciones IMAX), el Oceanográfico, Museo de las Ciencias, el Reina Sofia… como para aburrirse. Como era poco, la Copa América. Y para aprovechar sus infraestructuras (jaja, me trancho de la risa) un circuito urbano de F1 para unirse al de Cheste… 

Mi finde, estupendo.

Empecé cansado, innumerables horas de trabajo de esa semana, la migraña del jueves de casi toda la tarde / noche, pachanga de furgol-7… vamos un sinvivir. Así que he dormido como un campeón, incluso en la terrazZzZzita a la sombra de los pinos… zZzZzZzZz Si además lo unimos a un arrocito en el puerto, barbacoa, jamón de Guijuelo, visita turística guiada, cumpleaños, un par de gatos… La verdad es que quedé como nuevo !

Muchas gracias por acogernos ! y si me tratáis así de bien tendréis que aguantarme más ! y a Lycka también !