Menú Principal

Java

Iniciado por Simpar, Octubre 23, 2010, 02:30:53 PM

Tema anterior - Siguiente tema

Bestiajez

Con MySQL, Apache y Tomcat vas que chutas. Hacer funcionar Apache con Tomcat te puede traer algun quebradero de cabeza si no tienes experiencia y no sigues los tutoriales al pie de la letra. "Java en internet" no es tan trivial como parece.

Aconsejo que uses Eclipse.

Las JSPs pueden usarse, efectivamente, como una especie de engendro parecido al PHP donde arrejuntas HTML y codigo java pero eso es una cochinada y esta desaconsejado. No me voy a meter en esta respuesta a contarte rollos sobre Struts o Java Server Faces.
Primero debes deenseñar lo que son los servlets, como se registran en un archivo web.xml y la estructura de los archivos .war de despliegue. Eclipse puede crear todo esto por ti pero lo suyo es que sepas que esta haciendo cuando aprietas los botones.

Lo del ajedrez se puede hacer de varias formas. La facil parecen ser servlets y JSPs y, importante, acceso a datos en java. Busca por "JDBC".

A partir de ahi seguimos pero me parece que tendremos que charlar largo y tendido.

patillotes

Hilo molante. ¿El modulo es para el nuevo DAI?

Simpar

He tardado dos putas horas en poner en marcha el apache con el tomcat. La documentación es un desastre en el sentido de que he encontrado distintas explicaciones y casi ninguna ha funcionado. Detallo lo que he hecho por si a alguien le interesa la instalación conjunta de los dos servidores, porque el resumen es muy sencillo.

1º Instalar Tomcat 7 -> http://localhost:8080/index.jsp comprueba que está en lí­nea
2º Copiar el modulo mod_jk en el directorio de apache/modules y cargarlo en el http.conf
3º Crear en el directorio conf del tomcat el directorio jk y crear un archivo vací­o llamado workers.properties*
4º Añadir el siguiente código en el http.conf o hacer un include con él (yo he hecho un include)


JkWorkersFile "[i]C:/wamp/bin/tomcat/apache-tomcat-7.0.4[/i]/conf/jk/workers.properties"
JkLogFile "[i]C:/wamp/bin/tomcat/apache-tomcat-7.0.4[/i]/conf/jk/mod_jk.log"

JkLogLevel emerg

<VirtualHost localhost>
    ServerName localhost

    JkMount /*.jsp ajp13

    JkMount /examples ajp13
    JkMount /examples/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13

    JkMount /docs ajp13
    JkMount /docs/* ajp13

    JkMount /manager ajp13
    JkMount /manager/* ajp13
</VirtualHost>


*aquí­ muchas páginas te dicen que datos de conexión debes de poner, pero creo que con tomcat y apache en el mismo PC no hace falta meter nada, a mi me funciona bien.

Se tarda 5 minutos en montar si en algún sitio estuviese escrito así­.

Lo de los JSP mola en el sentido que es código JAVA escrito al libre albedrí­o, jeje. Pero como dice Gonzo es poco profesional y supongo que no se llegará muy lejos.

P.d. Gracias Gonzo y demás por vuestra ayuda (de la que seguiré abusando)

¿El JDBC conecta con MySQL?

P.D. Pati no se que es un DAI, nosotros damos formación ocupacional (FPE) y no conozco la jerga del mundo académico estatal. Es un curso de 984h. del que se supone que sales como programador y con posibilidad de obtener la capacitación (va a ser exigida para trabajar en organismos oficiales como programador/informático). Las academias tienen mucho margen en cuanto al contenido siempre que se respeten los módulos (Arquitectura, Redes, Metodologí­a, Lenguajes Estructurados, etc). Nosotros al ser también empresa orientamos la materia al mercado laboral.
Este año tengo algunos espabilados que ya han vendido páginas web en Joomla por aprox. 100â,¬ (pobre Dan).


Baku

It's very difficult todo esto.

patillotes

DAI = Diseño de Aplicaciones Informaticas. El antiguo ciclo de grado superior de FP para programadores. Ahora esta partido en dos trozos (diseño guao y el mas normal). Por los nombres de los modulos parece que das trozos o asi.

Simpar

Cita de: Tio Patillah en Octubre 24, 2010, 02:41:51 PM
DAI = Diseño de Aplicaciones Informaticas. El antiguo ciclo de grado superior de FP para programadores. Ahora esta partido en dos trozos (diseño guao y el mas normal). Por los nombres de los modulos parece que das trozos o asi.

El ciclo de FP son 2000h pero como dices tienen bastante programa en común. De hecho yo utilizo libros recomendados para FP en el curso porque tienen la misma materia.

yonnon

Cita de: Simpar en Octubre 23, 2010, 11:35:07 PM
He tardado dos putas horas en poner en marcha el apache con el tomcat. La documentación es un desastre en el sentido de que he encontrado distintas explicaciones y casi ninguna ha funcionado. Detallo lo que he hecho por si a alguien le interesa la instalación conjunta de los dos servidores, porque el resumen es muy sencillo.

1º Instalar Tomcat 7 -> http://localhost:8080/index.jsp comprueba que está en lí­nea
2º Copiar el modulo mod_jk en el directorio de apache/modules y cargarlo en el http.conf
3º Crear en el directorio conf del tomcat el directorio jk y crear un archivo vací­o llamado workers.properties*
4º Añadir el siguiente código en el http.conf o hacer un include con él (yo he hecho un include)


JkWorkersFile "[i]C:/wamp/bin/tomcat/apache-tomcat-7.0.4[/i]/conf/jk/workers.properties"
JkLogFile "[i]C:/wamp/bin/tomcat/apache-tomcat-7.0.4[/i]/conf/jk/mod_jk.log"

JkLogLevel emerg

<VirtualHost localhost>
    ServerName localhost

    JkMount /*.jsp ajp13

    JkMount /examples ajp13
    JkMount /examples/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13

    JkMount /docs ajp13
    JkMount /docs/* ajp13

    JkMount /manager ajp13
    JkMount /manager/* ajp13
</VirtualHost>


*aquí­ muchas páginas te dicen que datos de conexión debes de poner, pero creo que con tomcat y apache en el mismo PC no hace falta meter nada, a mi me funciona bien.

Se tarda 5 minutos en montar si en algún sitio estuviese escrito así­.

Lo de los JSP mola en el sentido que es código JAVA escrito al libre albedrí­o, jeje. Pero como dice Gonzo es poco profesional y supongo que no se llegará muy lejos.

P.d. Gracias Gonzo y demás por vuestra ayuda (de la que seguiré abusando)

¿El JDBC conecta con MySQL?

P.D. Pati no se que es un DAI, nosotros damos formación ocupacional (FPE) y no conozco la jerga del mundo académico estatal. Es un curso de 984h. del que se supone que sales como programador y con posibilidad de obtener la capacitación (va a ser exigida para trabajar en organismos oficiales como programador/informático). Las academias tienen mucho margen en cuanto al contenido siempre que se respeten los módulos (Arquitectura, Redes, Metodologí­a, Lenguajes Estructurados, etc). Nosotros al ser también empresa orientamos la materia al mercado laboral.
Este año tengo algunos espabilados que ya han vendido páginas web en Joomla por aprox. 100â,¬ (pobre Dan).



en windows?

Simpar

Ahora estoy con windows 7 pero lo enseñamos en ambas plataformas.

Dan

Cita de: Simpar en Octubre 23, 2010, 11:35:07 PM
Este año tengo algunos espabilados que ya han vendido páginas web en Joomla por aprox. 100â,¬ (pobre Dan).

Pues si son buenas las páginas, ellos son gilipollas.
Si son malas, los gilipollas son los clientes.

Ponme un ejemplo, a ver qué se cuece.
De todos modos, donde yo meto el cazo es en diseño, no en un gestor de contenidos.

yonnon

Cita de: Simpar en Octubre 25, 2010, 12:41:12 AM
Ahora estoy con windows 7 pero lo enseñamos en ambas plataformas.

Es que la experiencia de montar apache+tomcat+java en algun Ubuntu es bastante desalentadora. Si lo consigues, pega tutorial.

Simpar

Cita de: Yonnondio en Octubre 25, 2010, 07:38:33 AM
Cita de: Simpar en Octubre 25, 2010, 12:41:12 AM
Ahora estoy con windows 7 pero lo enseñamos en ambas plataformas.

Es que la experiencia de montar apache+tomcat+java en algun Ubuntu es bastante desalentadora. Si lo consigues, pega tutorial.

Ah ok, supongo que me toca el fin de semana que viene.

yonnon

Cita de: Simpar en Octubre 25, 2010, 07:40:04 AM
Cita de: Yonnondio en Octubre 25, 2010, 07:38:33 AM
Cita de: Simpar en Octubre 25, 2010, 12:41:12 AM
Ahora estoy con windows 7 pero lo enseñamos en ambas plataformas.

Es que la experiencia de montar apache+tomcat+java en algun Ubuntu es bastante desalentadora. Si lo consigues, pega tutorial.

Ah ok, supongo que me toca el fin de semana que viene.

Lo consegui una vez con no pocos esfuerzos con Ubuntu 9.04. Imposible haciendo lo mismo (al menos eso creo)  con la 9.10. Probare de nuevo un dia de estos con la nueva LTS, la 10.04.

Bestiajez

#27
Respecto a las conexiones a datos desde Java con JDBC.

Necesitas lo que originalmente se llaman "JDBC drivers".

Estos drivers son classes java que implementan los interfaces del paquete java.sql.* que ya vienen incluidos en el JDK para cada base de datos. Esto es, los tios que inventaron en Java definen una serie de interfaces (*) para acceso y manipulacion de datos y cada fabricante de base de datos proporciona una libreria que implementa estos interfaces especificamernte para su BD.

Cuando quieres manipular datos en una MySQL, necesitas los drivers de MySQL que son las clases que implementan los interfaces java.sql especificamente para MySQL. Es simplemente un archivo .jar que tienes que importar en tu proyecto.

A la hora de hacer conexiones a datos lo inmediato es, como digo, usar estos drivers y que tu codigo abra y cierre las conexiones a la BD explicitamente. Esto es lo que se llama "acceso directo" y es lo que se hace con los tests y con las aplicaciones java stand-alone. Es seguramente a lo que estas acostumbrado a ver con PHP.

Pero con aplicaciones java para intrenete que corren en un servidor (en este caso Tomcat), gestionar las conexiones y tal es algo bastante crí­tico y perfectamente abstraible, así­ que los servidores de aplicaciones te permiten configurar las conexiones a una BD y ofrecer a las aplicaciones que corren en ellos las conexiones a datos a modo de servicio, con lo cual sólo tienes que configurar el acceso una vez y te vale para todas las aplicaciones que instales en ellos. Además el servidor de aplicaciones mantiene las conexiones en un pool, revisa periodicamente que ninguna se quede abierta, controla el maximo de conexiones simultaneas, concede prioridades y en definitiva ofrece por defecto un monton de funcionalidad que para ti serí­a bastante porculizante de implementar y ademas tendrí­as que hacerlo para todas y cada una de las aplicaciones cada vez.

Lo suyo entonces es poner el .jar de MySQL JDBC en un directorio incluido en el Classpath del servidor y luego, desde la consola de Tomcat, te vas a la configuracion de acceso a datos y ahí­ creas una fuente de datos (Data source) que apunte a la BD MySQL que quieres usar. Tomcat entonces creara un numero de conexiones por defecto cada vez que se arranque y tu aplicacion java podrá obtener una de ellas en todo momento sin mas que solicitarlo a contexto, algo así­ como InitialContext.getDamelaputaconexion(nombre de la conexion).

En definitiva, que hay dos formas de acceder a la BD. Usando los drivers directamente desde tu codigo o registrando las conexiones en Tomcat y luego tu codigo, cuando quiere acceder a les solicita las conexiones al servidor en vez de crearlas tu.

Puedes empezar a experimentar con esto y luego si quieres, nos metemos con Hibernate y el mapeo del dominio (Clases) a tablas en la BD.

Para buscar buscar tutoriales y tal, busca por java JDBC bases de datos en el google y empieza a pillarlos al azar.



(*) En OO los interfaces son "clases vacias" que solo declaran metodos pero no contienen código.


yonnon

Cita de: Bestiajez en Octubre 25, 2010, 10:40:45 AM

...

Para buscar buscar tutoriales y tal, busca por java JDBC
...



sin dudarlo, para entender lo del JDBC sin irse a ladrillos de 700 paginas, estos:


Building Web-based applications with JDBC

Advanced database operations with JDBC

Managing database connections with JDBC

hay que registrarse (si no ha cambiado la cosa) pero merece la pena
O me das un mail y te los envio



Simpar

Cita de: Yonnondio en Octubre 25, 2010, 09:38:00 AM
Cita de: Simpar en Octubre 25, 2010, 07:40:04 AM
Cita de: Yonnondio en Octubre 25, 2010, 07:38:33 AM
Cita de: Simpar en Octubre 25, 2010, 12:41:12 AM
Ahora estoy con windows 7 pero lo enseñamos en ambas plataformas.

Es que la experiencia de montar apache+tomcat+java en algun Ubuntu es bastante desalentadora. Si lo consigues, pega tutorial.

Ah ok, supongo que me toca el fin de semana que viene.

Lo consegui una vez con no pocos esfuerzos con Ubuntu 9.04. Imposible haciendo lo mismo (al menos eso creo)  con la 9.10. Probare de nuevo un dia de estos con la nueva LTS, la 10.04.

Joder con lo mal de tiempo que estoy y me has picado, he perdido dos tardes intentadolo y nada. He instalado el Lampp y el Tomcat sin problemas, le meto el modulo jk al http.conf y no me da error. He creado el working.properties con los parámatros que todo el mundo indica y el he añadido un mod_jk.conf al http.conf.

Si pongo una pagina que no existe me da el error de objeto no encontrado, pero si pongo una jsp me dice ERROR 500 y no se donde estará el fallo. El mod es 32 bit (lo he bajado compilado) y el S.O. de 64 quizás ese sea el fallo, que coraje me da.