2009-07-08 2 views
1

Es ist schwer herauszufinden, wie man dynamische Daten an den Benutzer einer Web-App sendet, ohne eine Datei erstellen zu müssen, die eine dynamische Verbindung zu statischem Inhalt mithilfe der Java-Technologie verwendet. (Die wichtigsten Gründe für die Vermeidung der Dateierstellung auf der Festplatte sind Sicherheit und Geschwindigkeit)Wie können Sie eine dynamisch generierte Datei mit Tomcat- und Java-Technologie bereitstellen?

Dies ist etwas, was ich bisher in Python getan habe, aber diese Web-App soll strikt Java-Technologie für Wartungszwecke sein.

Nach ein paar Suchen in Google habe ich nicht weiter gekommen. Hat jemand das schon einmal gemacht oder hat er eine gute Idee für einen Startpunkt?

+0

Können Sie Servlets verwenden? oder JSP-s? – akarnokd

+0

Beide. Jede Java-basierte Web-Technologie ist in Ordnung, wenn Sie etwas anderes vorschlagen. – dborba

Antwort

4

Sie können jede Art von Inhaltstyp über ein Servlet ausgeben. Setzen Sie die Header einfach nach rechts, und speichern Sie den Inhalt, den Sie senden möchten, im Hauptteil der Anfrage.

Dadurch wird der Inhaltstyp auf eine Excel-Datei festgelegt, und der Browser wird gezwungen, die Datei herunterzuladen.

Als Bonus können Sie Ihrem Servlet mitteilen, einen bestimmten Pfad anzuhören, und den Link mit einem echten Dateinamen versehen.

<servlet-mapping> 
    <servlet-name>Export</servlet-name> 
    <url-pattern>/export/*</url-pattern> 
</servlet-mapping> 

<a href="<%=request.getContextPath()%>/export/Myreport.xls"> 
    Myreport.xls 
</a> 
+0

Das scheint wie, was ich will. Ich werde es versuchen, wenn ich zurück ins Büro komme und überprüfe es, da es angemessen funktioniert. – dborba

+0

Viel Glück damit! –

+0

Funktioniert perfekt - danke! – dborba