Frage

Wie rufe ich eine URL, um die Ergebnisse zu verarbeiten?

Ich habe eine eigenständige Berichterstattung Servlet, die ich für Berichte zu verknüpfen. Ich mag diese Berichte jetzt per E-Mail, wenn ich dies im Browser tat, konnte ich nur einen xhttprequest, verwenden und die Ergebnisse verarbeiten - Ich will im Grunde die gleiche Sache in Java tun, aber ich bin nicht sicher, wie zu gehen es.

UPDATE . Ich suche eine Datei wieder aus der URL zu erhalten (ob das ein PDF oder HTML etc.)

UPDATE . Dies wird lediglich auf dem Server ausgeführt werden - es gibt keine Anforderung, die das E-Mailing auslöst, vielmehr ist es eine geplante E-Mail

War es hilfreich?

Lösung

public byte[] download(URL url) throws IOException {
    URLConnection uc = url.openConnection();
    int len = uc.getContentLength();
    InputStream is = new BufferedInputStream(uc.getInputStream());
    try {
        byte[] data = new byte[len];
        int offset = 0;
        while (offset < len) {
            int read = is.read(data, offset, data.length - offset);
            if (read < 0) {
                break;
            }
          offset += read;
        }
        if (offset < len) {
            throw new IOException(
                String.format("Read %d bytes; expected %d", offset, len));
        }
        return data;
    } finally {
        is.close();
    }
}

Edit:. Den Code Aufgeräumt

Andere Tipps

Überprüfen Sie die URL und URLConnection Klassen aus. Hier einige Dokumentation: http://www.exampledepot.com/egs/java. net / Post.html

Wenn die Absicht ist, eine andere Ressource zu laufen, während Ihr Servlet mit aus ausgeführt wird die Steuerung an die andere Ressource zu übertragen, können Sie versuchen mit umfassen (Request, Response).

RequestDispatcher dispatcher =
   getServletContext().getRequestDispatcher("/url of other resource");
if (dispatcher != null)
   dispatcher.include(request, response);
} 

Sie dies auf einem Servlet setzen können und das Ergebnis der anderen Ressource auf Ihrem Servlet enthält.

EDIT:. Da Sie eine Datei zu erhalten suchen damals diese Lösung für das auch funktioniert

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top