JSP Erzeugten JSP HTML-Quelltext in html-Datei speichern

skummy

Aktives Mitglied
Hallo,

folgende Situation:

Ich nutze ein externes System in das über Plugins Java-Servlets eingebunden werden können. Diese Servlets lassen sich über das externe System cronjob-gesteuert ausführen.
Nun habe ich zur Statistik-Erzeugung so ein Servlet erstellt, das circa 5 Minuten benötigt bis die Daten auf einer jsp-Seite dargestellt werden können. Performancetechnisch ist da nicht mehr viel zu machen, da die Datenbasis einfach zu groß ist.

Die Idee ist nun die jsp-Datei sozusagen nächtlich statisch generieren zu lassen. Und genau das ist eigentlich auch meine Frage:
Wie kann ich aus einem angezeigten jsp-Seite den HTML-Quelltext abspeichern und in eine extra Datei schreiben? Diese generierte HTML-Datei könnte ich dann einfach über ein IFrame auf der vom Benutzer aufgerufenen Seite einbinden und fertig.

Alternativ könnte man auch manuell den HTML-Content, den eigentlich jsp-Datei erzeugen würde, erstellen und in eine Datei abspeichern, oder?


Grüße
 

sence

Bekanntes Mitglied
wenn die Datei "gebaut" ist, und du unix einsetzt (gehe davon aus, wegen Cronjobs) dann baue dir einfach eine kleines Shellscript und lade die Datei Nachts (wget <url> -O /pfad/staticHtml.html) dann hast du den HTML Inhalt.
Die Datei kannst du ja dann weiter verarbeiten, bzw. ber IFrame einbinden

Grüße
 

JanHH

Top Contributor
Also nach meinem Kenntnisstand wird aus einer JSP intern ein Servlet erzeugt (quasi die JSP einmal "umgestülpt"), welches auch als class hinterlegt wird. Wenn man diese nun decompiliert, hast Du ja Deine JSP als java-Servlet-Quellcode vorliegen und kannst es weiterebearbeiten, z.B. direkt im Servlet den erzeugten Code in eine Datei schreiben.

Oder gleich das ganze als Servlet und nicht als JSP aufbauen.
 

skummy

Aktives Mitglied
Ich hab es jetzt einfach so gemacht:

Ein neues Servlet geschrieben (und als nächtlicher Job im System integriert), das über HttpURLConnection die URL des (rechenintensiven) Servlets aufruft. Nach Auswertung des Response Codes verwende ich einen BufferedReader der über die Methode getInputStream() der Klasse HttpURLConnection den kompletten HTML-Content des rechenintensiven Servlets zurückgibt.
Diesen InputStream verwende ich dann mit der FileWriter-Klasse, die einfach jede Zeile des InputStreams in eine HTML-Datei mit dynamischen Datei-Namen schreibt.
Diese kann ich dann einfach in einem iframe einbinden.

Diese Vorgehensweise kommt wohl der Lösung mit wget gleich. Nur sind die Aufrufe des Servlets dynamisch und da ich nicht sonderlich fit in Shell-Scripting bin, verwende ich die Java-Lösung.


Vielen Dank trotzdem!
 

sence

Bekanntes Mitglied
Code:
#!/bin/sh
wget http://www.google.de -O /home/sence/google.txt
und fertig :)

das scirpt nur noch in Cron einbinden
greetz
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M In einer HTML Tabelle positionieren Web Tier 4
I HTML nach Image Web Tier 1
S Einträge aus Datenbank einzeln darstellen (JSP, JAVA, HTML) Web Tier 9
J Welches Programm visualisiert mir einen html-Dom als Baumdiagram? Web Tier 5
G HTML Fragment in Bean erzeugen? Web Tier 1
E Wie kann ich dynamische HTML- Tabellen(-spalten) mit JSP aus SELECT-Anweisung erstellen? Web Tier 2
T Spring HTML Tabellen sortieren, filtern, Attribute ausblenden Web Tier 3
D Servlet Servlet Weiterleitung static html Web Tier 5
K Wicket: Pfad zu HTML Dateien ändern/erweitern Web Tier 2
S JSP STRUCT Elemente in HTML Tabelle Web Tier 8
L JSF, no tag was defined for name: html Web Tier 5
V JSF JSF und Standard HTML-Tags Web Tier 7
J JSF Verwirrung: JSF und generiertes HTML sieht 'cryptisch' aus Web Tier 18
S Mit GWT ein Widget/Komponente/HTML-Element im Backend erzeugen? Web Tier 4
S JSP HTML+CSS in JSP einbinden Web Tier 4
T Richtige Aussgabe in eine HTML mit JSF Web Tier 2
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
S HTML Output verschleiern Web Tier 6
B statische Html Seite als response erhalten (Servlet) Web Tier 3
P Problem mit HTML.Tag.OPTION Web Tier 3
J response HTML verwenden Web Tier 2
S HTML Seite als PDF Web Tier 6
F HTML select auslesen Web Tier 3
D Formular als Applet oder HTML Web Tier 6
E Suche Wiki Markup -> HTML rendering engine Web Tier 7
M html + jquery(javascript-framework): elegantes und flexibles Formulardesign Web Tier 5
D <html:select> bzw. <html:option> - Methode auslösen ? Web Tier 2
T JBoss + Servlet + HTML Fileupload + Encoding Web Tier 1
J Wie realisiert man einen HTML-Chat? Web Tier 3
K JSF und HTML-Code Web Tier 2
O JSP: HTML tags werden vor struts tags angezeigt Web Tier 3
F Java Applets in html einbinden Web Tier 10
ff html:text aus mapped properties rendern Web Tier 2
? XML Parsen - IDs auslesen - HTML generieren Web Tier 11
A Struts - JSP - HTML - Visualisierungsproblem Web Tier 3
S Probleme mit den Nav_rules und HTML code Web Tier 2
T HTML Darstellungsproblem Web Tier 3
T html login und apache client Web Tier 13
H Java Servlet und HTML Form Web Tier 3
G MyFaces: HTML Ausgabe Code steuern Web Tier 8
B Struts: html:checkbox Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben