posts - 1,  comments - 3,  trackbacks - 0
          //設(shè)置輸出類容的類型,按照下面設(shè)置后flush()才會(huì)起作用
          response.setContentType("text/html; charset=UTF-8");
          request.setCharacterEncoding("UTF-8");
          PrintWriter writer = response.getWriter();
          for(int index = 0 ;index < 5 ;index++){
          writer.write("你好!<br />");
          writer.flush();
          try {
          Thread.sleep(1000);
          } catch (InterruptedException e) { }
          }
          writer.close();

          /***

          不設(shè)置ContentType直接使用flush()不會(huì)有作用。

          如果要flush()起作用,必須先向緩沖區(qū)填充一定的內(nèi)容(測(cè)試為1024個(gè)字符)。
          網(wǎng)上看到的原因是容器認(rèn)為緩沖區(qū)的內(nèi)容過少發(fā)送的效率不高。


          設(shè)置了ContentType為text/html后,flush()就會(huì)立即起作用。
          可能是因?yàn)閯?dòng)態(tài)生成Html的時(shí)候加載數(shù)據(jù)比較耗時(shí),可以先返回后讓瀏覽器解析樣式。(個(gè)人猜想)

          上面的內(nèi)容沒有在任何的官方文檔中看到。唯一在官方文檔中看到和內(nèi)容大小有關(guān)系的是關(guān)于Buffer大小的設(shè)置:

          setBufferSize

          public void setBufferSize(int size)
          Sets the preferred buffer size for the body of the response. The servlet container will use a buffer at least as large as the size requested. The actual buffer size used can be found using getBufferSize.

          A larger buffer allows more content to be written before anything is actually sent, thus providing the servlet with more time to set appropriate status codes and headers. A smaller buffer decreases server memory load and allows the client to start receiving data more quickly.

          This method must be called before any response body content is written; if content has been written or the response object has been committed, this method throws an IllegalStateException.

           

          Parameters:
          size - the preferred buffer size
          Throws:
          java.lang.IllegalStateException - if this method is called after content has been written
          See Also:
          getBufferSize()flushBuffer()isCommitted()reset()

          http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletResponse.html#setBufferSize(int)


          ***/
          posted @ 2016-10-09 18:22 jidebingfeng 閱讀(1280) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題  
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 玉溪市| 和静县| 大庆市| 璧山县| 安阳县| 涟源市| 南投市| 绥化市| 历史| 德庆县| 扎囊县| 神农架林区| 越西县| 宜宾市| 刚察县| 金湖县| 城步| 吉安市| 亳州市| 磴口县| 泽州县| 工布江达县| 阿拉善右旗| 甘谷县| 滦南县| 丹凤县| 将乐县| 二连浩特市| 房产| 合肥市| 银川市| 阳城县| 佛山市| 永昌县| 呼伦贝尔市| 桓台县| 凌云县| 思南县| 论坛| 灵石县| 固阳县|