Ich bin ein junger und neuer Entwickler, und ich habe nie mit Java-Servlets gearbeitet. Ich habe eine HTTP-URL, die es mir erlaubt, eine TXT-Datei herunterzuladen (zum Beispiel: http://textfiles.com/100/914bbs.txt)Wie eine TXT-Datei herunterladen und lesen von http URL mit meinem Servlet
Also baute ich ein Java-Servlet inspiriert von dem, was ich in anderen Posts gesehen habe. Mein Ziel ist es, diese .txt-Datei herunterzuladen und zu lesen. Ich möchte diese heruntergeladene Datei in meine "data.txt" legen.
Die ServletDownload Klasse:
public class ServletDownload extends HttpServlet {
private static final int BYTES_DOWNLOAD = 1024;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/plain");
response.setHeader("Content-Disposition",
"attachment;filename=downloadname.txt");
ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("Donnees/data.txt");
int read = 0;
byte[] bytes = new byte[BYTES_DOWNLOAD];
OutputStream os = response.getOutputStream();
while ((read = is.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
os.flush();
os.close();
}
}
Nun weiß ich nicht, ob mein Code ist gut gemacht und wie es zu benutzen mit meiner URL?
Dank! Eine andere Frage, jetzt habe ich dieses Servlet, wie kann ich die DoGet-Methode in einer anderen Klasse aufrufen? Genau, wie kann ich "Anfrage" und "Antwort" in einer anderen Klasse initialisieren? – Vincent
Warum sollten Sie das tun? –
Wenn Sie in der Lage sein müssen, dasselbe an anderer Stelle zu tun, ziehen Sie in Betracht, den Teil des Codes zu extrahieren, den Sie beispielsweise in einer Dienstprogrammklasse wiederverwenden möchten, und rufen Sie die zugehörige Hilfsmethode aus den verschiedenen Klassen auf. –