Buscar
Social
Ofertas laborales ES
miércoles
abr182001

Disponible la versrión 3.6 de JUnit

Aquí esta ya la nueva versrión de JUnit, el "popular" framework para escribir lo más facilmente posible código de prueba para nuestros programas Java. Todos sabemos lo difýcil que puede ser en ocuasiones depurar el código, esta herramienta puede facilitarte la labor.
domingo
abr152001

Diario de un principiante (Capítulo 1)


Diario de un Principiante (parte 1): La amenaza fantasma


Fecha de creación: 15.04.2001

Revisión 1.0.1 (25.11.2002)

Leo Suarez
leo AT javahispano DOT org

Copyright (c) 2002, Leo Suarez. Este documento puede ser distribuido solo bajo los términos y condiciones de la licencia de Documentación de javaHispano v1.0 o posterior (la última versión se encuentra en /licencias/).



Introducción


Este diario no pretende ser ni un tutorial ni un compendio de cosas descubiertas sobre este lenguaje puestas sin orden ni concierto. Ésto pretende ser simplemente eso, un diario, en el que intento plasmar todo lo que he ido comprendiendo y explicarlo con mis palabras, tal y como lo veo.


Está hecho desde el prisma de una persona acostumbrada única y exclusivamente a la programación estructurada, con bastante pánico a eso de los objetos y partiendo de cero en la programación en Java.


Alguno se preguntará, ¿y si el primer lenguaje que toco es JAVA?. Amigo mío, no te preocupes, también te vale, es más, partes con mayor ventaja que yo, pues mientras yo y los que están en mi situación tenemos que desprogramar el chip de la programación estructurada que tenemos instalado en el cerebro, tú lo aprenderás de forma natural. Es lo mismo que cuando pretendes aprender un idioma. Bueno, basta de tanta paja y al grano.








O en inglés el Java Development Kit, lo puedes conseguir en la página de Sun , http://java.sun.com[1] o en alguna revista dedicada a la programación. Son unos 20 MB y de fácil instalación. Luego, una vez instalado tendrás que solucionar el problema del CLASSPATH, cuestión que está resuelta en el FAQ de esta misma página [2].





En principio vale cualquiera, por ejemplo el notepad o el wordpad de Windows o el emacs de Linux pero mi consejo es que utilices uno más completo, que interprete el código Java (te permita compilar y ejecutar desde dentro de él), te ponga la letra de diferentes colores según el tipo de datos que estés usando (clarifica el código), etc..., éstos son los llamados entornos de desarrollo (actualmente podeis encontrar una lista y comentarios de sus usuarios en javaHispano [3]).


Vale, de acuerdo pero dime alguno. Pues de los que he oído hablar entre otros está el Borland JBuilder, Visual Age for Javade IBM, Forte for Java de Sun y un montón más, así que puedes elegir el que más te guste ya que todos tienen versiones gratuitas o de evaluación y los puedes encontrar en Internet (introduce el nombre de ellos en un buscador que ya te saldrá una extensa relación de lugares) o bien en cualquier revista informática (es raro el mes que no aparece alguno). Eso sí, olvídate del Visual J++ (de Microsoft), pues según los entendidos ésto ni siquiera es Java.


En mi caso particular empleo el Kawa, sencillo de utilizar, completo y que además te resuelve automáticamente el problema del CLASSPATH en una de sus opciones.


Ya lo tengo todo, ya puedo empezar a programar. ¿seguro? ¿tú crees? ¿por dónde empiezas? ;-), abre con un editor de páginas HTML las especificaciones de la API (directorio_donde_tienes_el_JDK\doc\index.html) y a los 5 minutos se te pondrá la misma cara de asombro que se me puso a mí cuando veas los 59 paquetes, que por ejemplo trae el JDK1.2 (también llamado Java 2) teniendo cada paquete incorporadas innumerables clases y éstas a su vez con incontables métodos.





De estos hay un montonazo y más, pero no por tener más bibliografía vas a aprender antes, todo lo contrario, vas a leer lo mismo pero con diferentes palabras y distinta explicación con lo que te puedes acabar haciendo un lío. Mi consejo es que elijas lo justo pero bien elegido. Si tienes acceso a las bibliotecas públicas o universitarias vale la pena pillarse un libro para realizar consultas, no recomiendo comprártelo porque yo nunca he visto en los libros que he consultado que esté hecho todo lo que quiero hacer específicamente y tampoco merece la pena leértelo de cabo a rabo pues no te va a solucionar gran cosa.


En cuanto a manuales o tutoriales, sin duda alguna recomiendo los que estén hechos por estudiantes como nosotros porque se nota que han tenido que pasar por el mismo periplo que nosotros y la verdad que vienen bien mascaditos. Busca por las páginas universitarias si sabes de alguna dirección o bien en un buscador teclea "tutorial java" y entretente unos cuantos días consultando la relación que te de el buscador para decidir cuál te parece más adecuado. Uno que está muy bien, y además la POO está muy bien explicada es Aprenda Java como si estuviera en Primero en formato PDF [4].


Y como no, los tutoriales on-line los cuales podéis encontrar en la página de Sun[1], son bastante completos y cargados de ejemplos que es lo que realmente nos interesa a los principiantes. Además tienen la ventaja que en vez de tener la mesa llena de libros y tutoriales hojeándolos de delante a atrás y viceversa , éstos los tienes en un visor HTML lleno de enlaces con lo que si quieres aprender acerca de algo que a su vez necesita de otras cosas, el propio tutorial te enruta el aprendizaje.


Otro tutorial bastante bueno es Thinking in Java (más que un tutorial es un libro entero, actualmente en proceso de traducción al castellano), lo puedes encontrar en formato PDF y HTML en la web [5] del autor, Bruce Eckel.


Otra buena fuente de información son los foros o news y afortunadamente tenemos uno en español en es.comp.lenguajes.java. Ahí se reúnen desde los gurús hasta los novatos como nosotros por lo que encontrarás cuestiones sencillas como las que tú te plantearás, trucos de programación, etc... No tengas miedo a preguntar ya que las news van de ayudarse los unos a los otros y además, nadie nació sabiendo a programar en Java, al menos no la mayoria ;-) .





Bueeeno, por fin ya puedo empezar. Pues sí, aunque si puedes aguantar un poco te recomiendo que te cojas un libro o tutorial o manual o lo que sea que te explique bien el concepto de la POO (Programación Orientada a Objetos), porque por si no te lo han dicho o no te has dado cuenta, en Java no se habla de otra cosa que de clases, objetos, métodos y atributos. Ojead la sección de artículos [6]de javaHispano y seguro que encontrais algo.


Aquí te expongo yo cómo veo lo que es una clase, un objeto y un método que de momento te vale para empezar a programar conmigo en Java unas cuantas líneas más abajo.


Una clase es un conjunto de cosas relacionadas entorno a un mismo tema, por cosas me refiero a datos y funciones (llámense métodos en la POO) y un objeto hace uso de ella. Para los estructurados, la clase haría las veces del tipo de variable y el objeto haría el papel de la variable (OJO!! ésto es para entendernos pero no es realmente así, ok?).


Imaginemos que queremos informatizar las características de los coches, pues bien, dado que todo lo que vamos a trabajar está relacionado con él, lo lógico es que Coche sea la clase, a este coche le querremos dar o definir un color (setColor()), una marca (setMarca()), un modelo (setModelo()), etc..., pues bien éstos serían los métodos o funciones asociados a la clase Coche y miCoche, tuCoche serán ejemplares concretos de la clase Coche, o sea, son los Objetos. Comorr? ejemplares concretos? Sí, porque miCoche es gris plateado, marca BMW y modelo M3 y tuCoche tendrá otro color, será de otra marca y otro modelo (si me dices que es el mismo es que estás fardando igual que yo) ;-))


Bueno, pues por esta semana vale ya que ahora estarás ocupado instalando todo lo necesario para tener un entorno amigable de programación, recopilando información y estudiándote el concepto de POO.






La semana que viene (o la otra, o la siguiente, en fin, cuando tnga un rato) veremos los aspectos más importantes de la POO (una vez estudiada) a través de un sencillo programa en Java que a mí es como mejor me resultó para aclarar esto, por eso te recomiendo que primero comprendas o al menos te mires la teoría ya que si luego la plasmas en un ejemplo verás que se asimila mucho mejor.


También comprenderemos para qué sirven las palabras reservadas que nos encontramos en el comienzo de cualquier clase de Java y qué es eso de empaquetar clases.


Bueno amigos, hasta la semana que viene... con otra lección de SuperCoco ;-))).






jnick, un asiduo del foro de javaHispano [7], comento este artículo, indicando con que estaba de acuerdo y con qué no, aquí sus reflexiones por si te pueden ayudar.



Se recomienda el libro -Aprenda Java como si estuviera en primero-. A mi ese libro me ha parecido un ladrillo y sobre todo, es contraproducente empezar leyéndolo por el primer capítulo, puede desanimar bastante porque no te enteraras de nada. Si decides leer ese libro empieza por el Capítulo 2. Yo, mas o menos, he leido ese libro y ahora me ha dado por volver a 'reaprender' Java leyendome otro: -Java 2- de la coleccion guia practica de Anaya. Tal vez este puede estar mejor para aprender, pero es solo una intuición y una opinión personal porque todavía no lo he leído, solo lo he ojeado. Es pequeñito, (300 páginas, libro de bolsillo), pero parece que promete. Te puedes bajar el código de los programas del libro de la web de anaya.



Tambien discrepo del IDE, (programa para hacer programas), yo utilizo JCreator y me gusta bastante. Mira los comentarios
[8]
. En realidad no es necesario ningun IDE para hacer programas en java. Puedes hacerlo con cualquier procesador de texto grabando el fichero como lo_que_sea.java, pero con un IDE es mucho mas comodo el compilar, ejecutar, etc...



Otra cosa que puede ayuardarte en esta sopa de letras que es el mundo de Java es que hay como "3 familias" de Java: j2me (Java 2 MicroEdition), j2se (Java 2 Standard Edition) y j2ee (Java 2 Entreprise Edition). j2me es java para PDAs y telefonos moviles. j2se es el Java Standard que casi todo el mundo empieza aprendiendo, y j2ee es java para aplicaciones empresariales. De menor a mayor, cada uno es un subconjunto del otro. Al menos yo lo entiendo asi.



Tambien tienes que tener en cuenta que Java tiene lo que se llama, (o al menos yo llamo), extensiones. Partes del lenguaje que para utilizarlas tendras que bajarte al igual que para la jdk una documentacion y un conjunto de librerias que tendras que añadir a tu CLASSPATH. Por ejemplo, para manejar servlets, (no te preocupes todavia por ellos), necesitas bajarte un fichero de de la web de sun, http://java.sun.com, los creadores del lenguaje.


Esta web [9] es lo mejor que he encontrado de java en español. Visítala de vez en cuando, se coge mucha culturilla de java.



Paciencia. Mucha paciencia. Esto de Java es un mundo y al principio no te enteras de nada, sobre todo si eres nuevo en programacion orientada a objetos. Con cada puerta que abro encuentro una habitacion mas grande. Al igual que tu, yo tambien estoy aprendiendo. Creo que en esto de Java siempre se esta aprendiendo.




Recursos




[1] Página oficial de Java,
http://java.sun.com/




[2] FAQ de javaHispano,
/faq/faq.shtml




[2] Entornos de desarrollo en javaHispano,
/ides/ides.jsp




[4]
Aprenda Java como si estuviera en primero




[5] Thinking in Java,
http://www.BruceEckel.com.




[6] Todos los artículos de javaHispano,
/articulos/seccion.jsp?id=0




[7] Foros de javaHispano,
/foro/




[8] Comentarios sobre JCreator,
/ides/comentarios.jsp?id=8




[9] Web de javaHispano,
http://www.javahispano.org


Acerca del autor

Leo Suarez
Leo Suarez está actualmente realizando el proyecto de fin de carrera para obtener el título de Ingeniero Superior de Telecomunicaciones por la Universidad de Las Palmas de Gran Canaria.
Cuando no está proyectando o escribiendo para javaHispano aprovecha para disfrutar con la novia y los amigos del estupendo clima de las islas afortunadas.

domingo
abr152001

Como instalar Apache + Tomcat 3.x

Cómo instalar Apache+Tomcat 3.x con soporte MySQL


En estas páginas vamos a explicar como configurar un servidor
Apache, tanto en una plataforma Linux como en Windows, dotándole
de soporte para Servlets y páginas JSP mediante el paquete Tomcat.
Además instalaremos también el gestor de bases de datos
MySQL para su uso desde nuestras páginas.


En la sección de enlaces encontrará las direcciones desde
las que descargar todos los programas que serán necesarios a lo
largo del tutorial.



Cómo instalar Apache+Tomcat con soporte MySQL en Linux



  1. Instalando MySQL

  2. Instalando el driver JDBC para MySQL

  3. Instalando el servidor web Apache

  4. Instalando Tomcat

  5. Haciendo que cooperen Apache y Tomcat

  6. Compilando nuestro propio mod_jk.so



Instalando MySQL


Para descargar MySQL iremos a http://www.mysql.com,
en donde pulsaremos sobre la sección Downloads. En esta sección
elegiremos la versión estable más moderna de MySQL (en estos
momentos la 3.23). Descargaremos el código fuente de la última
distribución (ahora la 3.23.33) en formato .tar.gz (descárguelo
directamente si quiere desde http://www.mysql.com/Downloads/MySQL-3.23/mysql-3.23.33.tar.gz).


Descomprimiremos el código fuente (suponiendo que el archivo descargado
sea el indicado anteriormente):



$tar xvzf mysql-3.23.33.tar.gz
$cd mysql-3.23.33

Ahora tenemos que crear un nuevo usuario (mysql) y un nuevo grupo (mysql)
que serán los que use MySQL para ejecutarse:


$/usr/sbin/groupadd mysql
$/usr/sbin/useradd -g mysql mysql

Ya podemos compilar e instalar el gestor de bases de datos. En nuestro
caso vamos a elegir/usr/local/mysql como directorio de instalación.
Por lo tanto, si elige otro directorio para su instalación tendrá
que modificar /usr/local/mysql siempre que lo nombremos posteriormente
con el directorio donde haya instalado su versión de MySQL.


$./configure --prefix=/usr/local/mysql
$make
$make install

Ya tenemos instalada nuestro gestor de bases de datos MySQL. Ahora tendremos
que instalar las tablas básicas que MySQL necesita para funcionar.
Para ello ejecutaremos un script que se nos proporciona:


$scripts/mysql_install_db

Ahora tendremos que cambiar el usuario y el grupo propietarios del directorio
de instalación para que se correspondan con aquellos con los que
se ejecutara el demonio mysqld:



$chown -R mysql /usr/local/mysql
$chgrp -R mysql /usr/local/mysql

Para ejecutar MySQL sólo tendremos que escribir:



$/usr/local/mysql/bin/safe_mysqld --user=mysql&

Si queremos que MySQL se ejecute cada vez que reiniciamos nuestro sistema
Linux tendremos que añadir a uno de los ficheros de inicio (en
mi caso, Red Hat Linux 7.0, la añadí al fichero /etc/rc.d/rc.local)
la línea:


/bin/sh Žcd /usr/local/mysql; ./bin/safe_mysqld --user=mysql&Ž

Tendremos que cambiar el password del adminitrador del gestor de bases
de datos, ya que MySQL no pone ninguno por defecto. Para ello, una vez
que tengamos MySQL ejecutándose, haremos lo siguiente:


$/usr/local/mysql/bin/mysqladmin -u root -p password 'mysql'

Una vez que ejecutemos lo anterior, nos pedirá el password, que
como en este caso no estará puesto bastará con pulsar <Intro>
y quedará fijado mysql como el nuevo password.


Inicio


 



Instalando el driver JDBC para MySQL


En la sección Downloads
de la página de MySQL, iremos
a la sección del API para JDBC.
Elegimos que versión queremos descargar (nosotros usaremos la versión
1.2c, que puede descargar directamente desde http://www.mysql.com/Downloads/Contrib/mm.mysql.jdbc-1.2c.tar.gz.
Si descarga otra versión tendrá que cambiar los números
en los nombres de ficheros y directorios).


Descomprimimos el fichero obtenido y nos cambiamos al directorio creado:



$tar xvzf mm.mysql.jdbc-1.2.tar.gz
$cd mm.mysql.jdbc-1.2c

Veremos que en dicho directorio tenemos un fichero llamado mysql_comp.jar
que será el que usemos a no ser que nuestra JVM no soporte los
ficheros jar comprimidos (tenemos el fichero mysql_uncomp.jar en
ese caso). Podemos dejar el fichero donde esta o copiarlo a otro directorio,
ya que lo único que tenemos que hacer para poder utlizarlo es incluirlo
en el CLASSPATH, y para cargarlo desde un programa Java utlizar la siguiente
sentencia:


Class.forName("org.gjt.mm.mysql.Driver");

Inicio


 



Instalando el servidor web Apache


En primer lugar descargaremos el código fuente de Apache desde
su web, que está en http://httpd.apache.org
(en nuestro caso usaremos la versión 1.3.19 que se encuentra disponible
para su descarga en http://httpd.apache.org/dist/apache_1.3.19.tar.gz).


Una vez tengamos el fichero, lo descomprimiremos e iremos al directorio donde se descomprima con:


$tar xvzf apache_1.3.19.tar.gz
$cd apache_1.3.19

Para que luego podamos usar el Tomcat como un módulo de Apache,
configuraremos la instalación para que se incluya el soporte para
DSO. Para ello tenemos que incluir la opción --enable-module=so
cuando ejecutemos configure. Nuestro directorio de instalación
será /usr/local/apache, por lo que recuerde cambiarlo cuando
aparezca a continuación si decide instalarlo en otro sitio:



$./configure --prefix=/usr/local/apache --enable-module=so
$make
$make install

En estos momentos deberíamos tener un fichero llamado /usr/local/apache/conf/httpd.conf.
Si no es así, copie o renombre de esta manera el fichero /usr/local/apache/conf/httpd.conf-dist.
Ahora, edite el fichero y compruebe que contiene un par de líneas
como las siguientes:



User nobody
Group nobody

Estos serán el grupo y el usuario con los que se ejecutará
el servidor, por lo que recuerde que el usario nobody y el grupo nobody
tendrán que ser los propietarios de los directorios de nuestras
páginas para que el servidor tenga permiso para acceder a ellas.


Si quiere lanzar el servidor ejecute:


/usr/local/apache/bin/apachectl start

Recuerde que si quiere que se ejecute el servidor al reiniciar el sistema
tendrá que incluir la línea anterior en sus ficheros de
inicio.


Inicio


 



Instalando Tomcat


Vamos a descargar antes que nada el código de Tomcat que se encuentra
disponible en http://jakarta.apache.org.
En este caso descargaremos los binarios, ya que al tratarse de un programa
que está escrito en Java los podremos usar en cualquier plataforma
con una JVM. La última versión estable (3.2.1) que es la
que usaremos la podéis descargar directamente desde http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/jakarta-tomcat-3.2.1.tar.gz.


Ahora instalaremos Tomcat en /usr/local/jakarta-tomcat-3.2.1.



$cp jakarta-tomcat-3.2.1.tar.gz /usr/local
$tar xvzf /usr/local/jakarta-tomcat-3.2.1.tar.gz
$rm /usr/local/jakarta-tomcat-3.2.1.tar.gz

Una vez hecho esto, sólo tenemos que poner una variable llamada
TOMCAT_HOME en nuestro entorno y que apunte al directorio anterior, lo
que en bash (Bourne Again SHell) se hace así:


$TOMCAT_HOME=/usr/local/jakarta-tomcat-3.2.1; export TOMCAT_HOME

Recuerde que antes de lanzar el Tomcat debe de tener también una
variable de entorno llamada JAVA_HOME que apunte al directorio raíz
de la instalación de su JVM, y que además el directorio
JAVA_HOME/bin debe estar incluido en la variable de entorno PATH.


Ahora ya podemos lanzar nuestro servidor Tomcat con el script:


/usr/local/jakarta-tomcat-3.2.1/bin/startup.sh

Inicio


 



Haciendo que cooperen Apache y Tomcat


Para hacer que sea Apache el que sirva las páginas estáticas
a Tomcat, necesitamos instalar el módulo "jk". Para ello,
tenemos que descargar el fichero mod_jk.so de la página
de Tomcat. Una vez que tengamos este fichero lo debemos copiar en el directorio
/usr/local/apache/libexec. Para Linux y plataforma i386 podemos
descargar el fichero http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/linux/i386/mod_jk.so.
Yo he probado este módulo con Red Hat Linux 7.0 y no me funcionó,
por lo que si usted hace todo lo que digo en esta sección y Apache
le da un error cuando intente arrancarlo vaya a la sección Compilando
nuestro propio mod_jk.so
.


Este paso es opcional, pero recomendamos que configure Tomcat para que
use Ajpv13, ya que es un protocolo más rápido que Ajpv12,
y es capaz de identificar conexiones mediante HTTPS. Para añadir
este protocolo tendrá que añadir el siguiente bloque a su
fichero TOMCAT_HOME/conf/server.xml:



<Connector className="org.apache.tomcat.service.PoolTcpConnector">
   <Parameter name="handler"
   value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
   <Parameter name="port" value="8009"/>
</Connector>

En el fichero TOMCAT_HOME/conf/server.xml verá que hay un bloque
similar pero para el protocolo Ajpv12. No lo borre ya que Tomcat lo usa
para ser apagado. Añada el nuevo bloque a continuación.


Al ejecutar Tomcat se creará un fichero llamado TOMCAT_HOME/conf/mod_jk.conf-auto
que copiaremos sobre el fichero TOMCAT_HOME/conf/mod_jk.conf:


$cp $TOMCAT_HOME/conf/mod_jk.conf-auto $TOMCAT_HOME/conf/mod_jk.conf

Editamos el fichero mod_jk.conf creado y cambiamos cada aparición
de Ajpv12 por Ajpv13.


Ahora tenemos que hacer que Apache utlice a Tomcat para servir las páginas
.jsp y los Servlets. Para ello añadimos a nuestro fichero /usr/local/apache/conf/httpd.conf
la siguiente línea:



Include TOMCAT_HOME/conf/mod_jk.conf

Ahora reiniciaremos Apache y Tomcat. Para ello:



$/usr/local/apache/bin/apachectl stop
$TOMCAT_HOME/bin/shutdown.sh
$TOMCAT_HOME/bin/startup.sh
$/usr/local/apache/bin/apachectl start

Ahora bastará con que intentemos acceder a una página .jsp
o a un servlet de nuestro sevidor web y Apache redirigirá la petición
a Tomcat. Recuerde que sus páginas dinámicas deben estar
en un subdirectorio de TOMCAT_HOME/webapps.


 


Inicio



Compilando nuestro propio mod_jk.so


En esta dirección se puede descargar un mod_jk.so
que funciona con Red Hat Linux 7.0. Si no le funcionan ni este fichero
ni el que se distribuye en la página web de Tomcat,
tendrá que compilar mod_jk.so para sus sistema operativo Linux.
Para ello necesita el código fuente de este módulo, que
se puede descargar desde http://www.javahispano.com/howto/apache-tomcat/mod_jk.tar.gz.
Este fichero es un extracto del código fuente de Tomcat que contiene
los fuentes del módulo para Apache 1.3. Si su versión es
otra póngase en contacto con nosotros.


Para compilar el módulo, descomprímalo y vaya al directorio
apache1.3:



$tar xvzf mod_jk.tar.gz
$cd apache1.3

Compílelo con la utilidad apxs que incluye Apache (necesitará
tener instalado el módulo de Perl5 en su sistema) de la siguiente
manera:


$/usr/local/apache/bin/apxs -o mod_jk.so -I../jk -IJAVA_HOME/include
\ -IJAVA_HOME/include/linux -c *.c ../jk/*.c

Puede que la compilación falle por un problema de escritura de
ficheros, por lo que para que se termine de construir el módulo
tendrá que ejecutar:


$gcc -shared -o mod_jk.so *.o 

Ahora ya tendrá su fichero mod_jk.so que sólo tendrá
que copiar en el directorio /usr/local/apache/libexec.


 




Cómo instalar Apache+Tomcat con soporte MySQL en Windows



  1. Instalando MySQL

  2. Ejecutando MySQL en Windows 95/98

  3. Ejecutando MySQL en Windows NT/2000

  4. Instalando el driver JDBC para MySQL

  5. Instalando el servidor web Apache

  6. Instalando Tomcat

  7. Haciendo que cooperen Apache y Tomcat



Instalando MySQL


Para descargar MySQL iremos a http://www.mysql.com,
en donde pulsaremos sobre la sección Downloads. En esta sección
elegiremos la versión estable más moderna de MySQL (en estos
momentos la 3.23). Descargaremos los binarios para Windows de la última
distribución (ahora la 3.23.33) en formato .zip (descárguelo
directamente si quiere desde http://www.mysql.com/Downloads/MySQL-3.23/mysql-3.23.33-win.zip).


Descomprimimos el fichero (p.e. con WinZip) y ejecutamos el fichero setup.exe.
El programa de instalación nos guiará paso a paso.


Recuerde que si decide instalar MySQL en otro directorio distinto de
c:\mysql tendrá que utilizar la opción --basedir=MYSQL_HOME,
considerando MYSQL_HOME de ahora en adelante el directorio de instalación
de MySQL.



Ejecutando MySQL en Windows 95/98


Para ejecutar MySQL necesita tener instalado en su máquina el
paqute Winsock que proporciona el protocolo TCP/IP. En Windows 98 lo podrá
instalar desde su CD-ROM, pero con Windows 95 lo tendrá que descargar
desde http://www.microsoft.com.
De todas formas si usted ya tiene conexión a Internet en su ordenador,
el paquete deberá estar instalado.


Para arrancar MySQL podemos ejecutar:


MYSQL_HOME\bin\mysqld

o


MYSQL_HOME\bin\mysqld-opt

El segundo es una versión optimizada del primero para procesadores
Pentium.


Para detener la ejecución:


MYSQL_HOME\bin\mysqladmin -u root shutdown

Inicio


 



Ejecutando MySQL en Windows NT/2000


Para ejecutar MySQL en Windows NT, necesitará tener instalado
como mínimo el Service Pack 3.


En Windows NT/2000 puede ejecutar MySQL como en windows 95/98, pero se
también tiene la opción más recomendable de ejecutarlo
como un servicio. Para instalar MySQL como un servicio ejecute:


MYSQL_HOME\bin\mysqld-nt --install

Ahora para arrancar MySQL use:


net start mysql

Y para parar MySQL:


net stop mysql


Instalando el driver JDBC para MySQL


En la sección Downloads
de la página de MySQL, iremos
a la sección del API para JDBC.
Elegimos que versión queremos descargar (nosotros usaremos la versión
1.2c, que puede descargar directamente desde http://www.mysql.com/Downloads/Contrib/mm.mysql.jdbc-1.2c.tar.gz.
Si descarga otra versión tendrá que cambiar los números
en los nombres de ficheros y directorios).


Descomprimimos el fichero obtenido con Winzip y nos cambiamos al directorio
creado.


Veremos que en dicho directorio tenemos un fichero llamado mysql_comp.jar
que será el que usemos a no ser que nuestra JVM no soporte los
ficheros jar comprimidos (tenemos el fichero mysql_uncomp.jar en
ese caso). Podemos dejar el fichero donde está o copiarlo a otro
directorio, ya que lo único que tenemos que hacer para poder utlizarlo
es incluirlo en el CLASSPATH, y para cargarlo desde un programa Java utlizar
la siguiente sentencia:


Class.forName("org.gjt.mm.mysql.Driver");

Inicio


 



Instalando el servidor web Apache


Para Windows podemos descargar directamente la última versión
de Apache en formato .msi (En estos momentos está la versión
1.3.19 en http://httpd.apache.org/dist/binaries/win32/apache_1.3.19-win32-no_src-r2.msi,
vísite http://httpd.apache.org
para ver cual es la versión más reciente). Para que Windows
reconozca estos ficheros deberá tener instalado el Windows Installer.
El programa de instalación le guiará a continuación.


 


Inicio


 



Instalando Tomcat


Vamos a descargar antes que nada el código de Tomcat que se encuentra
disponible en http://jakarta.apache.org.
En este caso descargaremos los binarios, ya que al tratarse de un programa
que está escrito en Java los podremos usar en cualquier plataforma
con una JVM. La última versión estable (3.2.1) que es la
que usaremos la podéis descargar directamente desde http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/jakarta-tomcat-3.2.1.tar.gz.


Ahora instalaremos Tomcat, utilizando WinZip (o similar) para descomprimir
el fichero descargado anteriormente. Vamos a suponer que lo descomprimimos
en C:\


Ahora tenemos que poner una variable llamada TOMCAT_HOME en nuestro entorno
y que apunte al directorio anterior. En Windows 95/98 añadiremos
la línea siguiente al fichero autoexec.bat:


SET TOMCAT_HOME=c:\jakarta-tomcat-3.2.1

En Windows NT/2000 tendrá que hacerlo desde el diálogo
Propiedades del Sistema (para abrirlo botón derecho del ratón
sobre MiPC y Propiedades), en la sección Avanzado.


Recuerde que antes de lanzar el Tomcat debe de tener también una
variable de entorno llamada JAVA_HOME que apunte al directorio raíz
de la instalación de su JVM, y que además el directorio
JAVA_HOME\bin debe estar incluido en la variable de entorno PATH.


Ahora ya podemos lanzar nuestro servidor Tomcat con el script:


c:\jakarta-tomcat-3.2.1\bin\startup

Inicio


 



Haciendo que cooperen Apache y Tomcat


Para hacer que sea Apache el que sirva las páginas estáticas
a Tomcat, necesitamos instalar el módulo "jk". Para ello,
tenemos que descargar el fichero mod_jk.dll de la página
de Tomcat. Una vez que tengamos este fichero lo debemos copiar en el subdirectorio
libexec de nuestra instalación de Apache. Para Windows podemos
descargar el fichero http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/win32/i386/mod_jk.dll.


Este paso es opcional, pero recomendamos que configure Tomcat para que
use Ajpv13, ya que es un protocolo más rápido que Ajpv12,
y es capaz de identificar conexiones mediante HTTPS. Para añadir
este protocolo tendrá que añadir el siguiente bloque a su
fichero TOMCAT_HOME/conf/server.xml:



<Connector className="org.apache.tomcat.service.PoolTcpConnector">
   <Parameter name="handler"
   value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
   <Parameter name="port" value="8009"/>
</Connector>

En el fichero TOMCAT_HOME\conf\server.xml verá que hay un bloque
similar pero para el protocolo Ajpv12. No lo borre ya que Tomcat lo usa
para ser apagado. Añada el nuevo bloque a continuación.


Al ejecutar Tomcat se creará un fichero llamado TOMCAT_HOME\conf\mod_jk.conf-auto
que copiaremos sobre el fichero TOMCAT_HOME\conf\mod_jk.conf:


copy %TOMCAT_HOME%\conf\mod_jk.conf-auto %TOMCAT_HOME%\conf\mod_jk.conf

Editamos el fichero mod_jk.conf creado y cambiamos cada aparición
de Ajpv12 por Ajpv13.


Ahora tenemos que hacer que Apache utlice a Tomcat para servir las páginas
.jsp y los Servlets. Para ello añadimos a nuestro fichero conf/httpd.conf
de nuestra instalación de Apache la siguiente línea:



Include TOMCAT_HOME/conf/mod_jk.conf

Ahora reiniciaremos Apache y Tomcat. Para ello pararemos Apache desde
el menú inicio, y después ejecutaremos:


TOMCAT_HOME\bin\shutdown
TOMCAT_HOME\bin\startup

Y arrancaremos de nuevo Apache desde el menú inicio.


Ahora bastará con que intentemos acceder a una página .jsp
o a un servlet de nuestro sevidor web y Apache redirigirá la petición
a Tomcat. Recuerde que sus páginas dinámicas deben estar
en un subdirectorio de TOMCAT_HOME\webapps.


 




Enlaces


















Roberto Casas compagina sus estudios de 5º de Ingeniería
Informática en el Centro Politécnico Superior de Zaragoza con su
trabajo en la empresa Master-D y javaHispano.



Para cualquier duda o tirón de orejas, e-mail a:
roberto_ARROBA_javahispano.com




lunes
abr022001

Liberada la Beta 3 de Tomcat 4.0 que soluciona los

Fiel al comportmiento habitual del movimiento Opensource, pocas horas después de conocerse el error de seguridad de versiones anteriores de Tomcat se ha liberado una nueva versrió que soluciona estos problemas, al menos los conocidos hasta ahora, ya les gustaría a algunas empresas esta rapidez de reflejos ;-).
domingo
abr012001

Cómo hacer el primer servlet

C�mo hacer el primer servlet




© dr7tbien@wanadoo.es




import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HolaMundo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("<head>Mi primer servlet</head></title>");<br/>out.println("<i>Que paza mundooooooooooo</i></font>");<br/>out.println("");<br/>}<br/>}<br/></pre> </div> </div> <div class="journal-entry-tag journal-entry-tag-post-body"> <div class="journal-entry-tag-post-body-line1"><span class="posted-by"> <a href="/antiguo_javahispano_org/author/javahispano"> <img title="Author" alt="Author" class="inline-icon user-registered-icon" rel="dark" src="/universal/images/transparent.png" />javaHispano</a></span> | <span class="post-comments"><a href="/antiguo_javahispano_org/2001/4/1/como-hacer-el-primer-servlet.html#comments"> <img title="Comment" alt="Comment" class="inline-icon comment-icon" rel="dark" src="/universal/images/transparent.png" />Post a Comment</a></span> | <span class="share-item"><a href="javascript:noop();" onclick="Squarespace.Interaction.shareLink(this,'%2Fantiguo_javahispano_org%2F2001%2F4%2F1%2Fcomo-hacer-el-primer-servlet.html','C%C3%B3mo%20hacer%20el%20primer%20servlet');"> <img title="Share Article" alt="Share Article" class="inline-icon share-icon" rel="dark" src="/universal/images/transparent.png" />Share Article </a></span> </div> <div class="journal-entry-tag-post-body-line2"><span class="posted-in">in <span class="tag-element"><a rel="tag" href="/antiguo_javahispano_org/category/j2ee"> <img title="Category" alt="Category" class="inline-icon category-icon" rel="dark" src="/universal/images/transparent.png" />j2ee</a></span></span> </div> <div class="journal-entry-tag-post-body-line3"></div> </div> <div class="clearer"></div> </div> </div> </div> <div class="paginationControlWrapper journal-navigation" > <!-- 6656 - 6660 of 6672 (page 1332 of 1335) --> <span class="paginationControlPrefix"> Page </span> <a class="paginationPageNumber" href="/antiguo_javahispano_org/" >1</a> <span class="paginationEllipsis">...</span> <a class="paginationPageNumber" href="/antiguo_javahispano_org/?currentPage=1330" >1330</a> <a class="paginationPageNumber" href="/antiguo_javahispano_org/?currentPage=1331" >1331</a> <a class="paginationPageNumber activePage" href="javascript:noop();">1332</a> <a class="paginationPageNumber" href="/antiguo_javahispano_org/?currentPage=1333" >1333</a> <a class="paginationPageNumber" href="/antiguo_javahispano_org/?currentPage=1334" >1334</a> <span class="paginationEllipsis">...</span> <a class="paginationPageNumber" href="/antiguo_javahispano_org/?currentPage=1335" >1335</a> <span class="paginationControlNextPageSuffix"> <a href="/antiguo_javahispano_org/?currentPage=1333" > Next 5 Entries » </a> </span> </div> </div></div> <!-- Content --> </div></div> <!-- Page Body --> <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/es_LA/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.journal-entry-tag-post-body-line3').each(function(index) { var url = $('.title a').get(index); $(this).append('<div class="fb-like" data-href='+url+' data-send="true" data-width="450" data-show-faces="true"></div>'); }); }); </script> <div id="pageFooterWrapper"><div id="pageFooter"> © 2001-2020 Asociación javaHispano <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-1784820-1"; urchinTracker(); </script> </div></div> </div></div> <!-- Canvas --> <script type="text/javascript"> SyntaxHighlighter.config.clipboardSwf = 'storage/scripts/clipboard.swf'; SyntaxHighlighter.all(); </script> <div class="clearer" id="bodyClearer"></div> </body> </html>