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

发布于 2024-11-05 03:04:32 字数 377 浏览 1 评论 0原文

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

简而言之,为什么 Servlet 接口的服务方法是这样的:

public void service(ServletRequest request, ServletResponse response);

而不是这样:

public ServletResponse service(ServletRequest request);

Why does the service() method in the Servlet interface not return an instance of ServletResponse but rather work on the ServletResponse object provided by the container?

In simple words why is the service method of the Servlet interface like:

public void service(ServletRequest request, ServletResponse response);

and NOT like:

public ServletResponse service(ServletRequest request);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

筱武穆 2024-11-12 03:04:32

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

If the response object is provided by the servlet container, it can control how things like buffering are handled. For example, suppose you created your own ServletResponse - how would the container manage the ability to stream the response if it's over a certain length, instead of buffering the data?

锦上情书 2024-11-12 03:04:32

它使用容器为其部分构建的响应。它不会从整体上构建响应。无论如何,这都必须是一场争论。

It uses a Response the container builds partially for it. It doesn't build the response out of whole cloth. It'd have to be an argument in any event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文