java - JSP gzip 输出流

标签 java jsp jboss gzip outputstream

我知道我可以使用诸如...之类的东西对输出流进行 gzip 压缩


OutputStream outA = response.getOutputStream();
outWriter = new PrintWriter(new GZIPOutputStream(outA), false);      
response.setHeader("Content-Encoding", "gzip");
outWriter.println(.....);
outWriter.close();

在 JSP 中,但是否可以将其写成:

OutputStream outA = response.getOutputStream();
outWriter = new PrintWriter(new GZIPOutputStream(outA), false);      
response.setHeader("Content-Encoding", "gzip");
%>
...

我知道这是在 PHP 中完成的,例如在刷新输出缓冲区之前捕获输出缓冲区,gzip 缓冲区,然后最后写入它。

但是在 JSP 中有可能吗?

最佳答案

此 Java 代码不属于 JSP。

如果您打算对 JSP 生成的 HTML 代码进行 gzip 压缩,那么您需要在应用程序服务器级别对其进行配置。在 JBoss(和 Tomcat)中,您需要设置 compression <Connector> 的属性/server.xml 中的元素至 on .

<Connector compression="on">

就是这样。默认情况下,它将应用于所有 text/*响应(HTML/CSS/JS)。

另见:

关于java - JSP gzip 输出流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827004/

相关文章:

java - Arquillian JAVA EE 5 和 JBoss 4.2

java - 是否可以在全双工 TCP 通信中使用 Netty?

java - 替换字符串中的子字符串,除非字符串在引号内

java - 从 SPARQL 更新查询获取受影响的三元组

jsp - tomcat内存问题

java - WildFly 上的 session 共享不起作用

java - 如何在java中克隆或创建Map的新副本

java - 为什么请求范围的 bean 不是从表单值创建的?

java - 如何从单个 jsp 中的 onload 和 onclick 事件调用 java 操作类

java - 无法使用 XPATH 设置 header