Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente de fondo de Tal

Código fuente de fondo de Tal

Un ejemplo de cómo obtener resultados en JSP

Leí un artículo en CSDN sobre cómo guardar contenido JSP dinámico como una página estática y olvidé la URL. Puedes buscarlo :)

Él no proporcionó el código fuente y luego escribió uno él mismo.

La idea principal es que después de capturar la salida de out, puedes guardarla en algún archivo estático y escribir un búfer JSP.

El código necesita mejoras y espero que amigos con experiencia en esta área puedan mejorarlo.

La prueba fue exitosa en el entorno RESIN, pero no se probó en otros servidores Tomcat. Hay otro problema, es decir, no se puede enviar al navegador IE al mismo tiempo.

El siguiente es el código del programa, por ejemplo, guardado en el archivo test.jsp y luego ejecutado en IE.

http://.../test.jsp

No verá ningún resultado, pero podrá verlo en la ventana de DOS de la resina de fondo.

lt @ page language = " Java " tipo de contenido = " text/html; charset=gb2312"

lt @ page import = " java.io. * " gt

lt @ page import = " Java . util . * " gt;

lt!

//Heredar la clase JspWriter

Clase MyOut extensión JspWriter

{

Respuesta HttpServletResponse privada;

//Almacena todas las declaraciones de salida en os.

sistema operativo CharArrayWriter público

Public MyOut()

{

Super(0, false);

OS = new CharArrayWriter();

}

Cadena pública getString() {

Devolver OS astring();

}

Escritura de anulación final pública (byte buf[], int off, int len)

Lanza IOException

{

os.write (nueva cadena (buf, off, len));

}

Escritura vacía final pública (char buf[], int off, int len)

Lanza IOException

{

os.write(new string (buf, off, len));

}

Final público no válido write(int ch)

Lanza IOException

{

OS . write(string . value of(ch));

Escritura nula final pública (char buf[])

Lanza IOException

{

OS . buf));

}

Escritura nula final pública (cadena s)

Lanza IOException

{

Escritura del sistema operativo;

}

escritura nula final pública (String s, int off, int len)

Lanza IOException

{

os.write( s, off, len);

}

Nueva línea nula final pública()

Lanza IOException

{

OS .write(" \ n \ r ");

}

Impresión nula final pública (booleano b)

Lanza IOException

{

OS . write(string . value of( b));

}

Impresión de invalidación final pública (char ch)

Lanza IOException

{

OS . write(string . value of(ch));

}

Impresión de invalidación final pública (int i)

Lanza IOException

{

OS . de (I));

}

Impresión pública de invalidación final (l larga)

Lanza IOException

{

OS . write(string . value of(l));

}

Impresión nula final pública (float f)

Lanza IOException

{

OS . write(string . value of(f));

p>

}

Impresión pública de invalidación final (doble d)

Lanza I

OException

{

OS . write(string . value of(d));

}

Impresión nula final pública (char). s[])

Lanza IOException

{

os.write( String.valueOf(s)).

}

Impresión de invalidación final pública (cadena s)

Lanza IOException

{

Escritura del sistema operativo

}

Impresión final pública no válida (objeto o)

Lanza IOException

{

OS . write(string . value of(o));

}

Plan de impresión final no válido público()

Lanza IOException

{

OS .write("\n\r");

}

Impresión de anulación final pública (booleano b)

Lanzamientos IOException

{

OS . write(string . value of(b));

}

public final void print(char). ch)

lanza IOException

{

OS . write(string . value of(ch));

}

Impresión de anulación final pública (int i)

Lanza IOException

{

OS . write(string . value of(I));<. /p>

}

Impresión anulada final pública (l larga)

Lanza IOException

{

OS . string . value of(l));

}

Impresión nula final pública (float f)

Lanzar IOException

{

OS . write(string . value of(f));

}

Impresión final pública no válida (Doble d)

Lanzamientos IOException

{

OS . write(string . value of(d));

}

Impresión nula final pública (char). s[])

Lanza IOException

{

os.write(s, 0, s . length);

}

Impresión de anulación final pública (cadena s)

Lanza IOException

{

Escritura del sistema operativo;

}

Impresión de anulación final pública (objeto o)

Lanza IOException

{

OS . write(string . value of (o) );

}

Public final void clear()

Lanza IOException

{

OS .reset ();

}

Actualización de anulación final pública()

Lanzar IOException

{

OS. flush();

}

public void clearBuffer() {

OS.reset();

}

Flujo de salida del servicio público getOutputStream()

Lanza java.io.IOException

{

devuelve respuestas

e. getoutputstream();

}

//Al ejecutar este método, el contenido se puede generar o guardar como un archivo.

Cierre de anulación final pública()

Lanza IOException

{

System.out.println("La siguiente es una salida estática" );

sistema . out . println(OS . tostring()

}

public final int getBufferSize()

{

if(bufferSize == 0)

Devolver bufferSize

Otros

devuelve respuesta . p> p>

}

public final int getRemaining()

{

Devolver tamaño del sistema operativo();

}

booleano final público isAutoFlush()

{

Devuelve descarga automática;

}

}

gt

lt

out = new MyOut();

Out.println("Inicie la salida, no obtendrá nada en el navegador menos de

gt

lthtml gt

lthead gt

ltbody gt

lt

Out.println("Contenido del archivo");

gt

lt/body gt

lt/head gt

lt/html gt;

lt

cerrar()

gt

.