附录 3 Servlet、Filter、Listener 对比
目录
附录 3 Servlet、Filter、Listener 对比
1. Servlet
Servlet 是运行与服务器端的 Java 应用程序,具有独立于平台和协议的特性,可以
动态生成 Web 页面。
Servlet 主要用于控制器,工作在客户端与其他功能模块的中间层,负责解释和执行
客户端请求,交互式地浏览和操作数据。
许多主流的 MVC 框架技术,如 Spring MVC ,也会采用 Servlet 作为核心控制器实现。
2.Filter
Filter 与 Servlet 的区别在于,Filter 不能直接向用户生成响应:Servlet 主要负责处
理请求,而 Filter 主要负责拦截请求,可以对用户请求进行预处理,也可以对响应进行
后处理,是个典型的处理链。
Filter 是一个可复用的代码片段,提供 一种面向对象的模块化机制,可以将公共人物
从 Servlet 或 JSP 中剥离出来,封装到 可插拔的组件中,这些组件通过一个配置文件
来声明,并动态地进行处理。所以 Filter 是一种通过配置文件来灵活声明的模块化的可
重用组件,可以在不影响应用程序中其他 Web 组件的情况下将它们添加到请求 /响应链
中ÿ