我查阅了一下,网上有这么一说:
buffer:指定到客户输出流的缓冲模式。如果为none,则不缓冲;如果指定数值,那么输出就用不小于这个值的缓冲区进行缓冲。与autoFlash一起使用。默认不小于8KB,根据不同的服务器可设置。例如,buffer="64kb"。
response.getBufferSize()返回的是实际的缓冲区大小。它一般大于 response.setBufferSize()所设置的。API说的很清楚。
(加上我的理解,不一定是对的:如果输出流的大小大于缓冲区,就用2个缓冲区去装这个输出流;如果输出流大小比缓冲区小,就用1个缓冲区就够了。response.setBufferSize()和page buffer=?? 设置的效果一样,这个缓冲区大小和response.getBufferSize()无直接联系,它返回的数值是 实际输出流在缓冲区中的大小,即输出流大小。)
说明:我对这个问题是头一次接触,只是说下我的见解,希望能你有多一些思路罢了。不要认为这个是正确答案。
page中的buffer属性设置的是jspWrite(也就是我们通常所说的jsp九大隐含对象out)对象的缓冲大小,response.setbuffersize设置的是PrintWriter(response.getWriter()获取)对象的缓冲大小