out.flush(); out.close()问题

在JavaWeb中通过ajax或jquery向JSP页面传送数据时会用到PrintWriter out = response.getWriter() ;out.print(data);网上的程序中有人在后面加了out.flush();有的人还加了out.close();     

我发现不加out.flush(); out.close();   程序也是可以跑通的。我想问JSP网站如果长期运行,不加out.flush();会造成什么后果?不加out.close();又会造成什么后果?out.flush(); out.close();   是不是可有可无的?

答案:


如果flush close在servlet方法(get post put....)的最后,那这是不必要的,因为servlet引擎会在用户态servlet方法返回后检查response流,并作flush和close

如果flush close在servlet方法的中部,并且后面会有不定时或者耗时的操作,需要立即发送相应,那么就要flush就立即写入socket了。而close是不必要,除非你明确的知道需要立即关闭socket,就是因为servlet引擎会做这个事。

你可能感兴趣的:(web)