【发布时间】:2013-09-04 17:32:10
【问题描述】:
我们可以使用过滤器代替 Servlet 吗?过滤器(不使用 servlet)能否处理传入请求?
【问题讨论】:
我们可以使用过滤器代替 Servlet 吗?过滤器(不使用 servlet)能否处理传入请求?
【问题讨论】:
过滤器用于修改请求或响应的标头和/或内容。我从未见过它们用于创建响应本身,我认为它们不能用于此,因为它们需要与实际资源“链接”。来自Java EE 6 tutorial:
过滤器是一个可以转换标题和内容的对象(或 两者)的请求或响应。过滤器与 Web 组件的不同之处在于 过滤器通常不会自己产生响应。相反,一个 过滤器提供可以“附加”到任何类型的功能 网络资源。
【讨论】:
过滤器有广泛的用途; Servlet 2.3 规范建议以下用途:
如果您想根据特定条件过滤和/或修改请求,请使用Filter。
如果您想控制、预处理和/或后处理请求,请使用Servlet。
过滤器最适合授权,因为它可以配置为针对站点的所有页面运行。因此,您只需要一个过滤器来保护您的所有页面。
有用的链接:
【讨论】: