关于jsp页面autoFlush、buffer属性使用

1.属性说明

autoFlush

是否自动刷新缓存默认值为true;
当为true时,在页面加载的内容达到buffer值的大小后刷新缓存,并将加载的内容展示给客户端;
当为false时,在页面加载的内容达到buffer值的大小后将会报出异常

buffer

设置该页面缓冲区的大小,默认是8192字节;
首先先说页面加载的机制,页面是一段一段的加载的,如果设置了buffer属性,则将在缓存达到buffer的值,或者页面加载结束,或者有明确的刷新页面缓存的代码执行后才会将内容展示给客户端;
1.当设置其值为30kb时,则在该页面加载的内容达到30kb后,
如果设置autoFlush属性为true,则将会将该30kb内容加载后返回给展示给客户端;
如果设置autoFlush属性为false,则将抛出异常;
2.注意buffer的值的大小要根据页面的实际情况进行设置,如果太大就会导致下面的问题;

遇到的问题

我接手的一个项目里面有个页面,只要刷新几次就会导致tomcat缓存溢出,只是个查询列表页面,查了好长时间,没发现业务代码有什么问题,最后发现文件头上有这两个属性,并且buffer的值设置为10240kb,autoFlush=true,问题就在这里;
由于该页面大小为66kb左右,永远达不到10240kb,所以autoflush属性虽然为true,但是并不会刷新缓存,每次刷新页面都不刷新缓存,加载几次以后就内存溢出了,这里我将这两个代码删除以后就没问题了;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值