GZip HttpResponse с использованием XSL Transformer - PullRequest
0 голосов
/ 28 октября 2008

У меня есть следующий код в моем сервлете, но когда IE попадает на страницу, он возвращает пустую HTML-страницу. Если я использую response.getOutputStream () непосредственно в конструкторе StreamResult, страница загружается нормально. Чего мне не хватает?

response является экземпляром HttpServletResponse, а xsl является экземпляром Transformer из XSLTC TransformerFactory

response.setHeader("Content-Encoding", "gzip");
GZIPOutputStream gzipOut = new GZIPOutputStream(response.getOutputStream());
Result outputResult = new StreamResult(gzipOut);

xsl.transform(xmlSource, outputResult);

Ответы [ 2 ]

1 голос
/ 28 октября 2008

Я собираюсь предположить, что вы не закрываете поток gzipOut, и поэтому он не отправляет информацию "нижнего колонтитула".

0 голосов
/ 29 октября 2008

Оказывается, в этом потоке есть .finish (), который требуется. Это похоже на сброс, но поскольку это другой вызов, Трансформер не знает, как его использовать.

...