Entradas

Mostrando las entradas con la etiqueta apache

Apache 2.4 + Tomcat 7 en Windows

Imagen
¿Para qué usar Apache con Tomcat si Tomcat ya es un servidor web? Pues bien, sabemos que el Tomcat utiliza el puerto 8080, y el Apache 80. Bastaría con que cambiemos el puerto del Tomcat a 80 y listo, los url deberían ser de la forma http://midominio.com y ya no http://midominio.com:8080 Sabemos que es más elegante evitar que la dirección no tenga puerto. Pero, si tenemos una aplicación en PHP o Python que necesariamente debe correr en Apache ¿qué hacemos? Creamos un subdominio de la forma http://app1.midominio.com http://app2.midominio.com Pues, no está mal. Lo pondré más especial: no se van a crear subdominios, sino, que todo debe estar dentro del dominio principal, como sub carpetas.  Así, por ejemplo: http://midominio.com/app1.python http://midominio.com/app2.php http://midominio.com/app3.tomcat y.. algo más divertido... le agregamos otro contenedor java totalmente diferente http://midominio.com/app4.weblogic Entonces, ya tenemos un pequeño problema ¿cómo hacem...

Contraseñas encriptadas con Java

Imagen
¿Quién no ha querido encriptar texto o archivo? Hay diversas maneras para hacer eso, por ejemplo, utilizando un diccionario donde se reemplazara cada caracter por un código.. y para poder desencriptarlo se debería utilizar el mismo diccionario para revertir el proceso. Pero si el diccionario cae en manos de alguien que no queremos que lo sepa, entonces estamos en peligro. Cuando yo programaba en pascal, mi encriptación favorita era invirtiendo los bits... pero cualquiera también puede invertir los bits y listo. Pero ya gente experta logró algoritmos de encriptación populares. Los más conocidos: MD5 y SHA. En este post hablaremos cómo encriptar texto, sobretodo las contraseñas, utilizando MD5 o SHA.

Tomcat 7.0

Imagen
Apache ha lanzado Tomcat 7.0, con compatibilidad para Servlet 3.0, JSP 2.2, EL 2.2 Se puede descargar desde aquí: http://tomcat.apache.org/download-70.cgi Y más documentación, aquí: http://tomcat.apache.org/tomcat-7.0-doc/

XML a Objeto Java

¿Quién no ha querido convertir un archivo XML a objetos Java? Usando el DOM, es muy útil pero bastante trabajoso. Hay un "parser" de Apache Commons llamado Digester que permite convertir un XML (usando algunas reglas) a objetos Java. Lo he usado bastante tiempo y me es muy útil. Así que comparto un ejemplo usando esta biblioteca. https://apuntes.dev.java.net/files/documents/10908/150452/ReadXML.tar.gz En este ejemplo, se leerá el archivo http://www.xmlfiles.com/examples/simple.xml , lo descargará de Internet usando HttpClient , y lo procesará usando DOM del JDK, y luego usando el Apache Digester.  Espero que les sea de utilidad.

Lenya en Tomcat 6.0

Existe un CMS de apache llamado Lenya . En las instrucciones de compilación está para Tomcat 5.5. Al compilarlo y después ejecutarlo, no funciona. Esto es por algo importante que dice en las instrucciones y podría pasar por alto. En resumen. Se debe editar el archivo local.build.properties y modificar la línea siguiente tomcat.endorsed.dir=${tomcat.home.dir}/lib Ya que la estructura predeterminada se usa en Tomcat 5. Compilar, y servir

Base de datos relacionales en Java: HSQLDB y Apache Derby (Parte 1)

Imagen
Hola a todos comenzaré este año con un post que quizás para algunos sea aburrido. Base de datos relacionales 100% Java. Ojo, no estoy diciendo que sean bases de datos orientados a objetos. Eso es otro tema. Sino, que son bases de datos relacionales (esos de Entidad-relación, tuplas, relaciones, columnas, claves foráneas, etc.) cuyo motor está hecho en Java. Por tanto, si queremos modificar algo de su funcionamiento, pues encontraremos el código en Java. No en C, ni C++, ni C#, sino en Java. Sabemos que los drivers de tipo 4 de JDBC se conectan directamente a la base de datos usando protocolos de red en java puro. Entonces, podemos suponer que usando bases de datos en java con jdbc en java, la conexión es mucho más directa, y se accede a los datos sin intermediarios. Bueno, es solo una suposición personal. En este post comentaré de dos RBDMS en Java muy conocidos y usados: HSQLDB y Apache Derby . Haremos ejemplos usando NetBeans 6.5, aunque también funcionará en NetBeans 6.1. Comenzar...

Tomcat Native Library

La documentación del Tomcat Native dice que se puede encontrar esa biblioteca en el directorio $TOMCAT_HOME/bin.. pero cada vez que inicio el tomcat me aparece la advertencia "se encontró la versión 1.1.3, considere actualizarlo a una versión superior al 1.1.4"... pero debería venir eso con el tomcat!.. je, encontré un servidor mirror con esos archivos: http://tomcat.heanet.ie/ Aunque ahora que lo pienso... creo que debí examinar su sección " browse download area " de la sección " Tomcat connectors downloads ". ¡AH! no olvidar bajar el APR ( Apache Portable Runtime ) y compilarlo antes de compilar el Tomcat Native Library . Asegurarse que sea la última versión. Si viene el APR de un RPM (como en CentOS o Fedora), desinstalarlo antes.

iBatis Datamapper (sql maps) parte 1

El framework iBatis DataMapper (también conocido como SQL Maps) permite reducir significativamente la codificación en java para una aplicación que maneja base de datos relacional. Quizás la primera impresión que uno tenga es que sea igual a Hibernate (que es un mapeador de objetos con tablas relacionales – ORM). Ibatis es diferente. Como veremos en este tutor, iBatis mapea las consultas SQL y permite interactuarlas con JavaBeans tanto como parámetros de entrada y como salidas. Manos a la obra Para comenzar, obtendremos el framework de la página de ASF: http://ibatis.apache.org/ El archivo que habremos bajado (iBATIS_DBL-2.1.7.XX.zip) contendrá tres archivos .jar. En este tutor solo usaremos ibatis-common-2.jar y ibatis-sqlmap-2.jar. No necesita de algún otro .jar, al menos para este capítulo. Definiendo la estructura de los datos Crearemos nuestro JavaBean Categoria con la siguiente estructura. package com.jugperu.tutores.ibatis.beans; public class Categoria { private int id; // p...

Log4j: Un framework para mostrar logs de aplicaciones

Imagen
Introducción ¿Quién no ha utilizado System.out.println() para saber qué está haciendo en ese momento el programa? A veces ponemos mensajes como “estoy en 'calcularMonto'”, quizás mostrando la hora actual, o quizás el tiempo que pasó entre un proceso y otro, o mostrando el valor que tiene una variable. El problema sucede cuando el programa tiene que estar en producción y estos mensajes pueden resultar incómodos. Se torna una tarea tediosa buscar estas instrucciones para “comentarlas”. Y si hay error después ¿dónde está? ¡voy a tener que editar y recompilar el código para ver lo que pasa!. Afortunadamente programadores como nosotros han tenido el mismo problema y han desarrollado un framework que permite administrar estos mensajes – en inglés el término utilizado es logging – de tal manera que nuestros programas no tengan que pasar por el quirófano cada vez que esté “enfermo”. Este framework es el muy utilizado Log4j. Log4j permite registrar eventos de nuestro program...