在JSP页面有关out.flush()异常

2025-02-27 01:15:36
推荐回答(1个)
回答1:

在JSP的<%%>中不可以out.flush()来冲掉前面output。
在Servlet中可以用out.flush()这么做。(但你让那个主Thread停顿3秒没有错误,apache catalina会在output时候停3秒)

虽然说JSP本质就是Servlet,但那其实是JSP页在第一次访问后被Compile成Java servlet class,此时JSP才等于Servlet。

而JSP页面中每一行,在Complile的时候,都相当于out.println();(比如:JSP中有一行abc, 那么其对应的Compile之后的Servlet必定有一行out.println("abc");)

所以,如果你在JSP中用out.flush不但但会冲掉你自己的output,还会导致之前所有的...这些都被冲掉,如此会使JSP缺少很多output,所输出网页就非常不完整。所以catalina不允许你这么做。