java - 为什么 Servlet.service() 方法返回 void 而不是 ServletResponse 的实例?

标签 java servlets containers lifecycle

为什么 Servlet 接口(interface)中的 service() 方法不返回 ServletResponse 的实例,而是在 ServletResponse 上工作 容器提供的对象?

简单来说,为什么Servlet接口(interface)的服务方法是这样的:

public void service(ServletRequest request, ServletResponse response);

不喜欢:

public ServletResponse service(ServletRequest request);

最佳答案

如果响应对象由 servlet 容器提供,它可以控制诸如缓冲之类的事情的处理方式。例如,假设您创建了自己的 ServletResponse - 如果响应超过一定长度,容器将如何管理流式传输响应的能力,而不是缓冲数据?

关于java - 为什么 Servlet.service() 方法返回 void 而不是 ServletResponse 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5897215/

相关文章:

java - 在运行时设置 JVM 参数

java - hibernate搜索不区分大小写

java - StreamCorruptedException 仅出现在三个盒子中的两个上?

jquery - 当 Bootstrap Carousel 上的事件类发生变化时更改背景

containers - Google Container Engine和容器优化的Compute Engine有什么区别?

python - 为什么没有桶排序库(或者有?)

java - 在 UI 中使用之前加载 Hibernate 对象图的最佳方法是什么?

java - 如何将 servlet 的响应转换为字符串?

java - 使用 UTF-8 编码的 Tomcat 7

docker - 创建多个Docker容器