33 lines
1.0 KiB
Java
33 lines
1.0 KiB
Java
package com.baeldung.servlets;
|
|
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStream;
|
|
|
|
import javax.servlet.annotation.WebServlet;
|
|
import javax.servlet.http.HttpServlet;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
@WebServlet("/download")
|
|
public class DownloadServlet extends HttpServlet {
|
|
private final int ARBITARY_SIZE = 1048;
|
|
|
|
@Override
|
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
|
resp.setContentType("text/plain");
|
|
resp.setHeader("Content-disposition", "attachment; filename=sample.txt");
|
|
|
|
try (InputStream in = req.getServletContext().getResourceAsStream("/WEB-INF/sample.txt");
|
|
OutputStream out = resp.getOutputStream()) {
|
|
|
|
byte[] buffer = new byte[ARBITARY_SIZE];
|
|
|
|
int numBytesRead;
|
|
while ((numBytesRead = in.read(buffer)) > 0) {
|
|
out.write(buffer, 0, numBytesRead);
|
|
}
|
|
}
|
|
}
|
|
}
|