tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
983
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Andyx1975 Andyx1975 ist offline Mitglied Silber
    Registriert seit
    Nov 2009
    Beiträge
    66
    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>
     

  2. #2
    Andyx1975 Andyx1975 ist offline Mitglied Silber
    Registriert seit
    Nov 2009
    Beiträge
    66
    ok hat sich erledigt mit "download?file=<fileName>" und "String fileName = req.getParameter("file");"
     

Ähnliche Themen

  1. Aufruf eines Servlets mit AJAX per GET und POST
    Von du-it im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 23.03.11, 13:57
  2. Antworten: 1
    Letzter Beitrag: 19.02.10, 19:24
  3. Kodierungsproblem bei Parameterübergabe von Browser an Servlet (GET)
    Von atoc im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 2
    Letzter Beitrag: 22.01.10, 11:52
  4. Antworten: 5
    Letzter Beitrag: 29.01.09, 16:29
  5. C# Aufruf von VBS mit Parameterübergabe
    Von Hawkings im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 09.11.07, 09:01