【问题标题】:Is there a ServletRequest implementation that does not implement HttpServletRequest?是否有没有实现 HttpServletRequest 的 ServletRequest 实现?
【发布时间】:2017-12-27 17:48:55
【问题描述】:

或者一个没有实现HttpServletResponseServletResponse实现?

更新

我是否总是需要在Filter 中检测它们?例如

@Override
public void doFilter(ServletRequest req, ServletResponse resp) throws IOException, ServletException {
    if (!(req instanceof HttpServletRequest) || !(resp instanceof HttpServletResponse)) {
        // Unexpected
        ...
    }
}

【问题讨论】:

  • 你为什么要?
  • 仅当您不扩展 HttpServlet 时。可能还有其他种类,比如FTPServlet.

标签: java http servlets


【解决方案1】:

我知道的唯一一个是ServletRequestWrapper

提供 ServletRequest 接口的便捷实现 可以由希望将请求调整为 小服务程序。此类实现 Wrapper 或 Decorator 模式。 方法默认调用被包装的请求对象。

所以它不能单独工作,因为它只是一个 ServletRequest 对象的包装器,您必须将它传递给它的构造函数。

【讨论】:

  • 但是我们有HttpServletRequestWrapperServletRequestWrapper有什么用?
猜你喜欢
  • 1970-01-01
  • 2016-09-11
  • 2011-12-11
  • 1970-01-01
  • 2010-10-24
  • 2012-08-21
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多