在方法service()
中,我们使用
PrintWriter out = res.getWriter();
请告诉我它如何返回 PrintWriter
类对象,然后连接到浏览器并将数据发送到浏览器。
最佳答案
它不会建立到浏览器的连接——浏览器已经建立了到服务器的连接。它要么缓冲你在内存中写入的内容,然后在请求结束时传输数据,要么确保所有 header 都已写入网络连接,然后返回一个写入数据的 PrintWriter
直接连接到该网络连接。
在缓冲场景中,可能有一个固定的缓冲区大小,如果超过这个大小,到目前为止写入的数据将“刷新”到网络连接。拥有缓冲区的最大优势在于,如果中途出现问题,您可以更改对错误页面的响应。如果您已经开始在出现问题时编写响应,那么您可以做很多事情来清楚地指出错误。
(还有在任何内容之前传输内容长度的问题,以保持连接。如果您在完成响应之前用完缓冲区,我会可靠地告知响应将使用分块编码。 )
关于java - getWriter() 如何在 HttpServletResponse 中发挥作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/750488/