开发者社区> 问答> 正文

Java Web 中的 PrintWriter out = response.getWriter()疑问

在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(); 是不是可有可无的?
麻烦各位有经验的大神帮我解答下。

展开
收起
落地花开啦 2016-06-01 18:42:13 2840 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果flush close在servlet方法(get post put....)的最后,那这是不必要的,因为servlet引擎会在用户态servlet方法返回后检查response流,并作flush和close
    如果flush close在servlet方法的中部,并且后面会有不定时或者耗时的操作,需要立即发送相应,那么就要flush就立即写入socket了。而close是不必要,除非你明确的知道需要立即关闭socket,就是因为servlet引擎会做这个事。

    2019-07-17 19:23:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载