【发布时间】:2014-10-26 22:20:36
【问题描述】:
似乎that some servlet containers 在请求之间重用了HttpServletRequest(或更一般地说,ServletRequest)实例。
问题:
有人可以指出 servlet 规范,其中定义了此行为(或引用此类实例的有效性规则)? p>
【问题讨论】:
标签: java tomcat servlets web-applications application-server
似乎that some servlet containers 在请求之间重用了HttpServletRequest(或更一般地说,ServletRequest)实例。
问题:
有人可以指出 servlet 规范,其中定义了此行为(或引用此类实例的有效性规则)? p>
【问题讨论】:
标签: java tomcat servlets web-applications application-server
它没有在 Servlet API 中定义。这是一个实现细节。
在 3.11 中用于请求对象(和 5.6 用于响应对象)
每个请求对象仅在 servlet 的范围内有效 service 方法,或在过滤器的 doFilter 方法范围内, 除非为组件启用了异步处理并且 在请求对象上调用 startAsync 方法。在这种情况下 在发生异步处理的情况下,请求对象保持有效 在 AsyncContext 上调用直到完成。 容器常用 回收请求对象以避免性能开销 请求对象创建。 开发人员必须意识到维护 对未调用 startAsync 的请求对象的引用 不建议超出上述范围,因为它可能有 不确定的结果
不是必需的,但常用。
规范中的内容(参见第 2.3.3 章)是单线程模型。一个请求,一个线程。这允许清理和重用请求。
【讨论】: