ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
983
983
EMPFEHLEN
-
Hallo,
ich habe ein Servlet geschrieben das Dateien vom Webserver runterlädt. Wenn ich "http://127.0.0.1:8888/download/" im browser eingebe funktioniert das Servlet. Ich habe den gewünschten Dateinamen im Servlet fest hinterlegt (fileName= "text.txt"). Ich möchte jetzt aber, dass der Dateiname vom WebBrowser an das Servlet übergeben wird. Kann mir jemand verraten wie ich das anstelle? Bin ziemlich neu was Servlets und Webprogrammierung angeht.
Des weiteren ist mir momentan unklar, wie ich das Servlet per JavaCode aufrufen kann. Kann mir jemand weiterhelfen?
Danke
Andy
Mein Java Servlet:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
package com.uds.webadmin.server; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CFileDownload extends HttpServlet { @Override protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException { //Der hier fix eingetragene Wert soll beim Aufruf des Servlets vom WebBrowser (Client übergeben werden). Wie muss ich das machen? // Und wie muss ich das Servlet per Java Code aufrufen? String fileName= "text.txt"; // String path = getServletContext().getRealPath( "/" ) + "uploads/"; File f = new File(path + fileName); int length = 0; ServletOutputStream op = resp.getOutputStream(); ServletContext context = getServletConfig().getServletContext(); String mimetype = context.getMimeType( fileName ); resp.setContentType( (mimetype != null) ? mimetype : "application/octet-stream" ); resp.setContentLength( (int)f.length() ); resp.setHeader( "Content-Disposition", "attachment; filename=\"" + fileName + "\"" ); byte[] bbuf = new byte[1024]; DataInputStream in = new DataInputStream(new FileInputStream(f)); while ((in != null) && ((length = in.read(bbuf)) != -1)) { op.write(bbuf,0,length); } in.close(); op.flush(); op.close(); } }
Meine web.xml
Code xml:1 2 3 4 5 6 7 8 9
<!-- FileDownload --> <servlet> <servlet-name>FileDownload</servlet-name> <servlet-class>com.uds.webadmin.server.CFileDownload</servlet-class> </servlet> <servlet-mapping> <servlet-name>FileDownload</servlet-name> <url-pattern>/download/*</url-pattern> </servlet-mapping>
-
ok hat sich erledigt mit "download?file=<fileName>" und "String fileName = req.getParameter("file");"
Ähnliche Themen
-
Aufruf eines Servlets mit AJAX per GET und POST
Von du-it im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 23.03.11, 13:57 -
Problem mit JNI bei Aufruf von Java Code aus C
Von Denan im Forum C/C++Antworten: 1Letzter Beitrag: 19.02.10, 19:24 -
Kodierungsproblem bei Parameterübergabe von Browser an Servlet (GET)
Von atoc im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 22.01.10, 11:52 -
Word ein Servlet bei jedem aufruf neu gestartet?
Von Looky im Forum JavaAntworten: 5Letzter Beitrag: 29.01.09, 16:29 -
C# Aufruf von VBS mit Parameterübergabe
Von Hawkings im Forum C/C++Antworten: 2Letzter Beitrag: 09.11.07, 09:01





Zitieren
Login





