如何编写响应过滤器?

如何编写响应过滤器?,第1张

如何编写响应过滤器

这取决于您想要什么。通常,您的样本虽然不正确。之后chain.doFilter又回来了,这是来不及做的任何回应。此时,整个响应已发送到客户端,您的代码无法访问它。

您需要做的是包装request和/或包装response到您自己的类中,将这些包装传递给doFilter方法,并处理包装中的所有处理。

为了使其更容易,servlet api中已经提供了包装器:

seeHttpServletRequestWrapper和HttpServletResponseWrapperclasses
。如果要处理实际发送到客户端的输出,则还需要编写自定义OutputStream或Writer包装器,并从
HttpServletResponse
包装器返回这些包装器。是的,很多包装:)

一些更简单的过滤器可以在不包装请求或响应的情况下工作:例如,在调用之前doFilter,您已经可以访问请求标头,或者可以在不调用的情况下发送自定义响应

doFilter
。但是,如果要处理请求正文,则不能只读取它,否则它将无法用于链的其余部分。在这种情况下,您需要再次使用包装技术。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5121999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存