国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Java 是否應(yīng)該在HttpServletResponse.getOutputStream()/getWriter()上調(diào)用.close()?

瀏覽:141日期:2024-05-08 13:34:08
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決Java 是否應(yīng)該在HttpServletResponse.getOutputStream()/getWriter()上調(diào)用.close()??

通常,你不應(yīng)該關(guān)閉流。在Servlet完成作為Servlet請求生命周期的一部分運行之后,Servlet容器將自動關(guān)閉流。

例如,如果你關(guān)閉流,那么在實現(xiàn)Filter的情況下將不可用。

說了這么多,只要你關(guān)閉它,只要你不嘗試再次使用它,都不會發(fā)生任何不良情況。

編輯:另一個篩選器鏈接

EDIT2:adrian.tarau是正確的,因為如果你想在Servlet完成其操作后更改響應(yīng),則應(yīng)創(chuàng)建一個擴展HttpServletResponseWrapper的包裝器并緩沖輸出。這是為了防止輸出直接進(jìn)入客戶端,還允許你保護(hù)servlet是否關(guān)閉流,如以下摘錄(強調(diào)我的話):

修改響應(yīng)的過濾器通常必須 在將響應(yīng)返回給客戶端之前捕獲該響應(yīng)。實現(xiàn)此目的的方法是將生成響應(yīng)的servlet傳遞給替代流。替身流阻止servlet在完成時關(guān)閉原始響應(yīng)流,并允許過濾器修改servlet的響應(yīng)。

解決方法

我無法通過一些Google搜索找到權(quán)威的答案。在Java Servlet中,可以通過response.getOutputStream()或response.getWriter()訪問響應(yīng)主體。寫入流后,是否應(yīng)該在此流上調(diào)用.close()?

一方面,Blochian鼓勵始終關(guān)閉輸出流。另一方面,我不認(rèn)為在這種情況下有需要關(guān)閉的基礎(chǔ)資源。套接字的打開/關(guān)閉在HTTP級別進(jìn)行管理,以允許諸如持久連接之類的事情。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 阿坝县| 神木县| 贵州省| 酒泉市| 灵丘县| 京山县| 阜新| 东兰县| 新宾| 舟曲县| 博罗县| 白玉县| 华亭县| 天全县| 隆安县| 吉安县| 深泽县| 且末县| 济源市| 翁牛特旗| 金乡县| 南乐县| 满洲里市| 莆田市| 扎鲁特旗| 泉州市| 吴川市| 孟村| 根河市| 临湘市| 海口市| 奎屯市| 仪陇县| 北票市| 扶余县| 镇宁| 梅州市| 宁蒗| 长宁区| 福泉市| 巴林左旗|