可能重复:
是否应该在HttpServletResponse.getOutputStream()/.getWriter()上调用.close()?
我负责关闭HttpServletResponse.getOutputStream()(或getWriter()甚至输入流)还是应该将它留给容器?
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
OutputStream o = response.getOutputStream();
...
o.close(); //yes/no ?
}
Run Code Online (Sandbox Code Playgroud) 我有一个软件设计问题,关于处理客户端javascript程序的最佳方法是什么,它依赖于多个(但大部分是连续的,不是同时的),短暂的AJAX调用服务器作为对用户交互的响应[在我的特定情况下,它将是一个facebook-GAE/J应用程序,但我相信这个问题与任何客户端(浏览器)/服务器设计有关].
首先,我问了一个问题:ajax通话的寿命是多少?.根据BalusC的回答(我鼓励它在那里阅读),简短的回答是"这取决于浏览器".所以,现在我还没有真正控制服务器发送响应后发生的事情.
如果AJAX调用的主要用途是从服务器只检索一次数据,是否可以手动销毁它?xhr1.abort()会这样做吗?
或者,最好的选择就是这样吗?手动关闭每个连接(如果可能的话)会给每次调用增加太多开销吗?
是否可以手动设置每个域的限制?
最后(但并非最不重要!),我真的应该为此担心吗?什么是大量的调用足以开始推迟浏览器(特别是一些IE浏览器与BalusC在另一个问题中提到的泄漏错误?请记住,这是我的第一个javascript/java servlets项目.
先感谢您