Если PDF-файл не генерируется автоматически или не читается из внешнего местоположения сервлетом, а просто присутствует в общедоступном веб-контенте, тогда достаточно сопоставить Filter
для шаблона URL-адреса *.pdf
(или любого более конкретного / generic), который выполняет следующую работу в методе doFilter()
.
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String filename = req.getRequestURI().substring(req.getRequestURI().lastIndexOf('/') + 1);
res.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
chain.doFilter(request, response);