在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ Java中流的關(guān)閉

Java中流的關(guān)閉

1.response.getWriter().print("");

2.PrintWriter out = response.getWriter();
  out.print("");
  out.close();

第一種方式可以嗎?流會(huì)自動(dòng)關(guān)閉嗎?

回答
編輯回答
情殺

response.getWriter().print("");不會(huì)自動(dòng)關(guān)閉

response.getWriter源碼
public PrintWriter getWriter()
/*     */     throws IOException
/*     */   {
/* 213 */     PrintWriter writer = this.response.getWriter();
/* 214 */     if (isFinished()) {
/* 215 */       this.response.setSuspended(true);
/*     */     }
/* 217 */     return writer;
/*     */   }
print方法源碼
public void print(String s) {
        if (s == null) {
            s = "null";
        }
        write(s);
    }
    
2018年3月3日 03:10
編輯回答
維她命

在使用HttpServletResponse.getOutputStream()/.getWriter() 時(shí), 不關(guān)是更好的選擇.
原因:

  1. 容器總是會(huì)在Servlet生命周期結(jié)束時(shí)幫你關(guān)掉;
  2. 如果后續(xù)還有鏈?zhǔn)教幚?如Filter),關(guān)掉了會(huì)造成response不可用;
  3. 少寫代碼少出bug.
2018年5月11日 11:45