Foros del Web » Programación para mayores de 30 ;) » Java »

De Java+Oracle a Applet+MySQL

Estas en el tema de De Java+Oracle a Applet+MySQL en el foro de Java en Foros del Web. Buenas! Tengo una aplicacion hecha en NetBeans que trabaja con una maquina virtual con Oracle 10g. Me gustaria saber si es posible y por donde ...
  #1 (permalink)  
Antiguo 24/01/2009, 21:31
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
De Java+Oracle a Applet+MySQL

Buenas! Tengo una aplicacion hecha en NetBeans que trabaja con una maquina virtual con Oracle 10g. Me gustaria saber si es posible y por donde deberia empezar para pasar la aplicacion a Applets y consultando la BD con MySQL.
Por ahora la aplicacion solo consulta tablas y antes de seguir adelante me gustaria hacerlo con Applets y colgarlo en un servidor local con Apache para futuramente subirlo a uno de internet.
¿Y que seria mas facil hacerlo todo en modo aplicacion y luego pasarlo a Applets o alreves? (Para asi tenerlo de ambas formas). Gracias.
  #2 (permalink)  
Antiguo 25/01/2009, 11:24
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola:

Lo mejor es hacerlo todo sobre JPanel. Así luego puedes poner este JPanel en un JFrame o un JApplet y con dos líneas de código lo tienes de una forma o de otra.

La carga de imagenes y lectura de ficheros de propiedades también se hace de distinta forma en una aplicación que en un applet.... salvo que vayan metidos dentro del jar. Si los posibles iconos que tenga tu aplicación o ficheros de configuración los cargas de dentro del jar de tu aplicación, no tendrás problemas.

Finalmente entre mysql y oracle no debería haber ningún problema siempre que te ciñas a SQL estándar. Si no puedes o no quieres usar SQL estándar, tendrías que poner las sentencias sql en ficheros de propiedades y usar unas u otras según con qué base de datos trabjes.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 25/01/2009, 12:51
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

El problema es que cuando utilice en mi programa los JFrame con JPanels, tuve que pegar los panales que los tenia en clase a parte en ela misma ventana y jugar con su visibilidad porque no podia agregarlos.
Por ejemplo, yo me creo un JFrame y en una clase a parte tengo un JPanel diseñado y listo para usarse, pero si creo un objeto JPanel de ese panel y lo agrego al JFrame, no me da error pero no se me visualiza. Con el applet quiza me pase lo mismo y no me gustaria tener que copiar el JPanel entero y luego ponerlo oculto hasta que lo necesito porque me costaria mucho y quedaria feo :S

Lo hago asi dentro de un boton mismo:

JPanelCreado panel = new JPanelCreado();
JPanel1.add(panel);

No da error pero no me carga el panel. He probado poniendo visibilidad y algo mas pero no va, seguro que algo esta mal xD

Última edición por rebeN; 25/01/2009 a las 13:05
  #4 (permalink)  
Antiguo 25/01/2009, 14:33
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola:

Si creas el JFrame, luego el JPanel, lo añades y luego haces visible el JFrame debería funcionarte bien. Si el JFrame ya es visible cuando le añades el JPanel, debes llamar después de añadirlo al método updateUI() del JPanel para obligar al repintado.

Con el JAplet supongo que te pasará lo mismo y la solución es la misma, obligar al repintado con un updateUI() del elemento recién añadido.

En cualquier caso, es mejor añadir los componentes primero y visualizar la ventana o el applet después, salvo que quieras una ventana/applet que cambian dinámicamente su contenido, según se va ejecutando el programa.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 25/01/2009, 17:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

Pongo esto pero no se porque no me va:

Panel jaime = new Panel();
jPanel1.add(jaime);
jPanel1.setVisible(true);
jPanel1.updateUI();

He probado cambiar el setVisible y el updateUI de sitio pero no me funciona, algo hare mal. A ver si mañana con mas tiempo busco algo por internet.
La aplicacion es de una pizzeria y en un mismo JPanel tengo que cargar varios botones y paneles y ocultarlos y hacerlos visibles, por lo que me vendra bien hacerlo de la ultima forma que me has dicho. Muchiiiiiiiiiiiiiiiiiiisimas gracias por la ayuda!
  #6 (permalink)  
Antiguo 25/01/2009, 23:27
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola:

El setVisible se hace a las ventanas, no a los componentes. Es decir, no se hace setVisible() al JPanel, sino a los JFrame y JDialog.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 26/01/2009, 05:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

Pues si no pongo nada tampoco me va :S Por cierto, me ha dicho mi profesor que las applets ya no se usan mucho, que lo haga en JSP pero ahi ya se me escapa a mis conocimientos basicos.
Para una aplicacion que conecte con un BD desde una applet no hace falta hacerlo con JSP no?
  #8 (permalink)  
Antiguo 27/01/2009, 11:52
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

Te digo los pasos que sigo:

1. Creo el JFrame y un panel que ocupe todo el fondo de este. Pongo un boton para invocar a ese panel y en una clase JPanel a parte con un panel creado de un color al que invocare.

2. Al hacer clic en el boton llamo al JPanel para que se cargue de esa manera, para ello pongo:

JPanelCreado panel = new JPanelCreado();
jPanel1.add(panel);
jPanel1.updateUI();

No se por que no funciona :S

Por cierto, he utilizado la clase para conectarme con la BD en Oracle y el JFrame para los datos de la conexion para convertirlo en un JApplet y cuando compilo desde el propio NetBeans se me conecta perfectamente. El problema es cuando lo abro desde una web y al darle a conectar me da error en el driver ODBC y de este tipo (aunque el principal es que no encuentra el driver para conectar):

at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

..........

He leido algo de que deberia pasar el applet a .JAR. Ahora mismo solo tengo el Principal.html y la carpeta con las clases al lado. Dentro de la etiqueta <APPLET> a parte del nombre de la clase, tambien probe poniendoarchive="ojdbc14.jar" que es el driver que utilizo :S Gracias.
  #9 (permalink)  
Antiguo 27/01/2009, 12:06
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola:

Aquí tienes un ejemplo básico de Swing, para visualizar una ventana con un componente.

Para conectar a base de datos puedes hacerlo con jsp, con applet o con una aplicación normal. Un applet y un jsp son cosas totalmente distintas y sirven para cosas distintas, aunque ambas puedan conectarse a base de datos.

Un applet es como una pequeña aplicación java metida dentro de la página que estás viendo y visible en el navegador. Permite al usuario interactuar con la aplicación con bastante rapidez. El navegador necesita un plugin de java para poder ejecutarlo, pero en el servidor no necesitas nada de java ni de programación, vale un servidor web normal.

Un jsp es código java que se ejecuta en el servidor. El navegador no necesita nada de java y verá una página web normal. No permite mucha interacción con el usuario (salvo que metas algo de javascript, que no tiene nada que ver con java), ya que cualquier cosa que toques necesita recargar la página entera. Como el código java corre en el servidor, necesitas un servidor web especial que entienda de páginas jsp y de código java (Tomcat suele ser el más habitual).

Normalmente, una aplicación de consulta a base de datos para presentar datos en el navegador suele hacerse con jsp. Los applet se usan más para aplicaciones que no requieren guardar datos pero sí mucha interacción con el usuario (por ejemplo, para que el usuario pueda pintar gráficos y funciones matemáticas).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #10 (permalink)  
Antiguo 27/01/2009, 12:54
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

Mi problema es que de Marzo a Junio tengo que realizar un proyecto para finalizar mis estudios y en verano aprendi algo de Java por mi cuenta y aunque no he dado Java en el insti queria hacer un proyecto con este lenguaje. Me puse a investigar y aprovechando que estaba estudiando Base de Datos con Oracle busque informacion por internet de como conectarlo y al final empece a hacer una aplicacion. Aprovechando que soy encargado en Telepizza me puse a hacer un programa minimamente parecido en modo aplicacion. Aqui tienes unas fotos para que te hagas una idea:

1. Esta es la pantalla para conectar con la BD: http://img379.imageshack.us/my.php?image=88917937sf8.jpg

2. Estas fotos corresponden a la parte de buscar empleados: http://img155.imageshack.us/my.php?image=63403510ds0.jpg || http://img84.imageshack.us/my.php?image=86095325fi7.jpg

3. Código usuario: http://img141.imageshack.us/my.php?image=30684484ke9.jpg

4. Fotos datos del cliente: http://img255.imageshack.us/my.php?image=76528828gn5.jpg

5. Pantalla principal: http://img201.imageshack.us/my.php?image=26570722iz0.jpg

6. Parte de las Bebidas: http://img72.imageshack.us/my.php?image=51318052xh9.jpg

7. Parte de los Postres: http://img504.imageshack.us/my.php?image=59147790iy0.jpg

8. Parte de los Complementos: http://img141.imageshack.us/my.php?image=20882230vx8.jpg


Me gustaria seguir haciendolo si es posible igual pero utilizando Applets y conectandome a un servidor con MySQL. Asi podria entrar la gente y darse de alta como usuario y realizar un pedido online (aunque no te llegue nada a casa xD). No se si lo ves muy factible hacerlo asi sin utilizar JSP, que me gustaria aprenderlo pero no tengo tiempo para ello. Entonces, si no es posible lo que quiero (que ha sido pensando de forma rapida) entonces presentare mi proyecto como aplicacion, aunque ya te digo, me encantaria poder hacerlo en una web xD
Muchiiiiisimas gracias por tus molestias en responder!

PD: No se si las applets seran muy lentas para acceder a la BD, pero vamos, que en principio no es una BD muy grande como para petar un servidor, es algo basico xD
  #11 (permalink)  
Antiguo 27/01/2009, 16:11
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola:

Ya te comento que no es lo normal, pero en principio puedes hacerlo con applets.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #12 (permalink)  
Antiguo 28/01/2009, 03:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

Este es el error que me sale:

http://img243.imageshack.us/my.php?image=85418191dw8.jpg

He probado de todo en el html y sigue sin funcionar. Ya me cree el .jar y me lo ha creado en una carpeta llamada dist. He probado con:

<APPLET codebase="classes" code="applets/Principal.class" width=350 height=200 archive="Applets.jar,ojdbc14.jar">

Tambien lei algo por un foro que la carpeta dist que la comprima en zip y lo pusiera asi:

<APPLET codebase="classes" code="applets/Principal.class" width=350 height=200 archive="dist.zip,ojdbc14.jar">

Pero aun asi me sigue dando el error de que no encuentra el driver :(
  #13 (permalink)  
Antiguo 28/01/2009, 12:02
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola:

¿Puedes poner los enlaces como enlaces?. Me da pereza el copy-paste

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #14 (permalink)  
Antiguo 28/01/2009, 12:03
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: De Java+Oracle a Applet+MySQL

Hola de nuevo:

Al final hice el copy-paste. Pon la línea 50 de la clase Conectar.java, que es la que da el error. Pon también, si acaso, las líneas anteriores y posteriores, pero marcando claramente cual es la 50.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #15 (permalink)  
Antiguo 28/01/2009, 13:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

Aqui te dejo pegado el codigo de la clase que utilizo para conectarme:

http://rafb.net/p/dAOVoW76.html

Y aqui parte del applet que tengo creado (aqui ya las lineas no corresponden con las originales):

http://rafb.net/p/e5pBOz50.html

PD: No puedo ponerte los links como enlaces porque me dice que tengo que llevar mas de 30 dias registrado :(
  #16 (permalink)  
Antiguo 30/01/2009, 09:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 20
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: De Java+Oracle a Applet+MySQL

¿Alguien sabe algo del tema? :(:(:(
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:36.