JSP页面出现空页面或部分页面
来源:互联网 发布:罗马城市 知乎 编辑:程序博客网 时间:2024/05/01 16:03
现象:
1,内容区显示空白或部分页面;
2,“查看源文件”,里面代码不完整;
解决方式:
1,在jsp第一行添加 "<%@ page buffer="108kb" autoFlush="true" %>",如果还是不行,增加108kb这个数值,一直到页面出现jsp抛错的堆栈信息。
2,根据堆栈信息解决此问题。
个人认为很多jsp页面问题都可以通过此方法寻求解决方案。
原因以及本质:
服务端的输出缓冲区
缺省情况下:服务端要输出到客户端的内容,不直接写到客户端,而是先写到一个输出缓冲区中.只有在下面三中情况下,才会把该缓冲区的内容输出到客户端上:
1)该jsp网页已完成信息的输出
2)输出缓冲区已满
3)jsp中调用了out.flush()或response.flushbuffer()
输出缓冲区的大小可以用: 或response.setbuffersize()设置,如下:
1)设置输出缓冲区的大小为1kb。 或response.setbuffersize(1);
2)设置输出缓冲区的大小为0,即不缓冲。 或response.setbuffersize(0);
用response.getbuffersize()或out.getbuffersize()可取的输出缓冲区的大小,单位为字节. 用response.iscommitted()可检查看服务端是否已将数据输出到客户端. 如果返回值是true则已将数据输出到客户端,是false则还没有.
1,jsp代码有bug[或者缺少相关配置文件,相关依赖类];
2,当页面buffer用得差不多的时候,这时候如果有运行时异常,tomcat处理不了时就会将运行时异常信息输出到jsp页面的buffer区,导致有部分内容还停留在buffer,而此时页面在还未完成网页输出,缓冲区未满,也未调用flush的情况下不会继续处理后面的网页信息输出,tomcat将此时已经处理的部分代码返回给浏览器去解析,由于内容不完整,导致了出现 空页面或部分页面。
3,可以调用 <%=out.getRemaining() %> 方法查看jsp的buffer剩余量。
- JSP页面出现空页面或部分页面
- jsp 页面出现乱码
- jsp页面包括html页面出现乱码
- jsp页面部分右键禁止
- JSP页面自动生成html页面或任何格式页面
- JSP页面生成html页面或任何格式的页面
- JSP页面自动生成html页面或任何格式页面
- jsp页面乱码,或不显示页面,页面空白
- 页面的清空或重定向
- 从jsp页面get传值到另一个jsp页面出现乱码
- jsp页面技巧_空值检测
- jsp页面清空表单内容
- jsp页面中的非空验证
- jsp页面
- JSP页面
- JSP页面
- JSP页面
- jsp 页面
- 现货黄金和TD黄金的比例
- 防表单重复提交
- Linux设备模型(5)_device和device driver
- 蓝桥杯算法提高——最大乘积
- 记事中快速加当前日期时间
- JSP页面出现空页面或部分页面
- js获得本周,本月,本季度的开始日期和结束日期
- 管道流在pc和Android上的差别
- 通过session统计访问量
- 城市问题
- Java_遍历map的几种方法
- Mysql order by排序原理 以及 filesort优化
- 获取当月第一天和最后一天
- 蓝牙BLE开发基础教程 android5.0 蓝牙4.0 透传 Android Studio(三)