第 九 章:实现过滤器(Filter)和监听器(Listener)-Minitomcat

daicy
发布于 2024-11-19 / 25 阅读
0
0

第 九 章:实现过滤器(Filter)和监听器(Listener)-Minitomcat

功能目标:

  • 增加 Filter 和 Listener 支持,用于在请求处理过程中插入额外的操作或监听事件。

  • 实现 Filter 接口,支持请求过滤,例如日志记录、认证拦截等功能。

  • 实现 Listener 接口,支持监听 Servlet 上下文或会话的创建和销毁事件。

实现内容:

  • 实现 Filter 接口,拦截 HTTP 请求并在请求前后插入自定义逻辑。

  • 实现 Listener 接口,监听 Servlet 上下文、会话或请求的生命周期事件。

  • 实现一个简单的日志过滤器,记录每个请求的访问时间和路径。

示例功能:

  • 实现一个日志过滤器,记录每个请求的访问时间和请求路径。

  • 在 Servlet 上下文初始化时创建一个监听器,监听上下文和会话的创建销毁事件。


9.1 过滤器(Filter)

Filter 是 Servlet 容器提供的一个接口,它允许开发者在请求到达 Servlet 之前和响应返回客户端之前插入自定义的处理逻辑。过滤器可以用于执行常见的任务,如日志记录、权限验证、请求重定向、输入输出数据处理等。

1. Filter 接口的实现

Filter 接口提供了三个方法:

  • init(FilterConfig config):初始化过滤器。

  • doFilter(ServletRequest request, ServletResponse response, FilterChain chain):执行过滤器的核心逻辑,并将请求传递给下一个过滤器或目标 Servlet。

  • destroy():销毁过滤器。


评论