Servlets y applets

Quiero llamar desde un servlet a un applet y tengo que pasarle parametros que variaran según los datos que haya obtenido el servlet de la base de datos.
Exactamente lo que tengo que hacer es dibujar unas graficas con los datos obtenidos de la base de datos, me parece que lo de dibujar no se puede hacer con un servlet por eso he pensado en llamar a un applet, pero no se como pasarle los parametros
¿Cómo puedo hacerlo?

1 respuesta

Respuesta
1
Los parametros se le pasan mediante la etiqueta applet. Los servlets generan codigo html, lo unico que tienes que hacer es que tu servlet incluya la etiqueta applet dentro de la pagina html que le devuelve al cliente, y generar esta etiqueta con los parametros que has sacado de la base de datos.
Seria algo como esto:
<APPLET CODE=ejemplo.class WIDTH=500 HEIGHT=100>
<PARAM NAME=param1 VALUE="valor">
<PARAM NAME=param2 VALUE="valor">
</APPLET>
Tu servlet deveria generar algo como lo anterior. ¿Como?
Suponte que en la variable v1 y v2 los valores de los parametros que has obtenido de la base de datos, tu servlet deveria hacer algo como esto:
out.println("<APPLET CODE=ejemplo.class WIDTH=500 HEIGHT=100>)";
out.println("<PARAM NAME=param1 VALUE=\""+v1+"\">");
out.println("<PARAM NAME=param2 VALUE=\""+valor+"\">");
out.println("</APPLET>");
El objeto out es el PrintWriter que te permite enviar la pagina web al usuario.
Con esto no debes de tener demasiados problemas, pero si no, ya sabes donde estoy
un saludo
si, estoy haciendo eso pero me dice que no encuentra la clase que le pongo e incluso le estoy especificando la ruta y todo con codebase, pero aun asi me da el siguiente error:
ADVERTENCIA: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
cargar: clase applet no encontrada.
java.lang.ClassNotFoundException: applet
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed.
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 11 more
12-feb-2003 10:01:07 java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ADVERTENCIA: Trying to recreate Windows registry node Software\JavaSoft\Prefs at root 0x80000002.
12-feb-2003 10:01:07 java.util.prefs.WindowsPreferences openKey
ADVERTENCIA: Could not open windows registry node Software\JavaSoft\Prefs at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
Con lo que me mandas es dificil de determinar donde esta el error, pero si miras el codigo puedes ver lo siguiente:
Caused by: java. Io. IOException: open HTTP connection failed.
No encuentra el applet, tal y como dices, prueba con direcciones relativas.
he probado a poner el applet en el mismo directorio que el servlet, pero tampoco lo encuentra. Estoy utilizando Tomcat y el servlet lo tengo en el directorio /classes
Ahi no va, debes colocarlo dentro de un directorio en el que colocarias paginas html normales.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas