Olá amigos.
Desejo utilizar uma única classe/servelet para realizar o download do relatório em PDF. Abaixo o código atualmente usado para realizar o download de um relatório especifico:
@WebServlet("/downloadRelatorio")
public class DownloadRelatorio extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
File arquivo = new File("C:/POO/Web/SCF/src/scf/relatoriosPdf/relatorioPacientes.pdf");
//tipo de arquivo
response.setContentType("application/pdf");
//nome do arquivo a ser exibido na caixa de download do browser
response.setHeader("Content-Disposition", "attachment; filename=" + arquivo.getName()+ ";");
//manda os bytes do arquivo pelo response
URL url = arquivo.toURI().toURL();
BufferedInputStream leitor = new BufferedInputStream(url.openStream(), 4 * 1024);
OutputStream escritor = response.getOutputStream();
byte[] buffer = new byte[4 * 1024];
int size = 0;
while ((size = leitor.read(buffer, 0, buffer.length)) != -1) {
escritor.write(buffer, 0, size);
}
escritor.close();
leitor.close();
}
}
Estou pensando a seguinte forma:
1- Fazer com que a minha página em HTML passe uma String para a Servelet. Essa String iria definir qual relatório fazer o download.
2- Ai no caso eu iria mudar somente o comando "File arquivo = new File("C:/POO/Web/SCF/src/scf/relatoriosPdf/relatorioPacientes.pdf");" do código.
Agora a questão, como eu passo a String para a Servelet?