Frame desde servlet

Necesito urgentemente saber como, a travez de un servlet, lanzar un frame de java ...
por ejemplo si acceso a la direccion:
http:\\12.12.12.12\servlet\Servlet1?rut=12345678
debe lanzar a la persona que lo visita un frame de java con informacion sacada del servlet ...
por favor es urgente ¡¡¡¡
yo tengo la clase extendida del frame, que el servlet debe lanzar. Pero cuando alguien visita el servlet, el frame aparece en mi servidor y no en el cliente ...
Respuesta
1
Atendiendo a tú pregunta, lo primero que se me ha ocurrido es crear un servlet que genere una imagen pasandole un determinado string.
Los pasos para ello sería:
- Crear un objeto Image
Frame f = new Frame();
Image img = f.createImage(width, heigth);
- Dibujar en la imagen
Graphics g = img.getGraphics();
- Establecer el content-type de la cabecera de respuesta
response.setContentType("image/gif");
- Obtener un outputStream
OutputStream out = response.getOutputStream();
- Mandar la imagen en formato GIF al outputStream
Para ello se puede utilizar una clase de libre distribución que se llama GifEncoder (está en http://www.acme.com/java/)
try{
new GifEncoder(img, out).encode();
} catch(IOException ioe) {
// Mensaje de error
}
A continuación te escribo el código del servlet en cuestión:
package coreservlets;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
//Solamente funciona en servidores que funcionen con java 2
public class ShadowedText extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String message = request.getParameter("message");
if ((message == null) || (message.length() == 0)) {
message = "Missing 'message' parameter";
}
String fontName = request.getParameter("fontName");
if (fontName == null) {
fontName = "Serif";
}
String fontSizeString = request.getParameter("fontSize");
int fontSize;
try {
fontSize = Integer.parseInt(fontSizeString);
} catch(NumberFormatException nfe) {
fontSize = 90;
}
response.setContentType("image/gif");
OutputStream out = response.getOutputStream();
Image messageImage =
MessageImage.makeMessageImage(message,
fontName,
fontSize);
MessageImage.sendAsGIF(messageImage, out);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
En fin espero haberte sido de utilidad.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas