为什么需要修改 JSP 中的 buffer 和 autoflush 属性?

zer*_*uno 2 jsp page-directives


我不明白为什么需要修改JSP中的buffer和autoflush属性,它们是做什么的?如果我不修改它们会发生什么?

Pin*_*ino 5

JSP 页面生成的任何内容都存储在缓冲区中。当缓冲区已满时,它会被发送回客户端(浏览器)。当缓冲区刷新一次时,重定向或转发将不起作用,因为对 HTTP 响应标头的所有更改都必须在第一次将缓冲区发送到客户端时发生。同样,您无法在第一次刷新后将 cookie 添加到响应中。

也就是说,您可能想要禁用自动刷新和/或增加缓冲区大小,以允许您的代码最近向响应添加 cookie。但是,如果您需要这样做,您的代码可能并不优雅。

缓冲区大小也会影响性能:请参阅JSP 的最佳缓冲区大小和 autoflush 属性