【知识点】Filter、Servlet、Listener区别与联系
来源:互联网 发布:手机图片编辑软件 编辑:程序博客网 时间:2024/06/04 19:24
学员们常问一个问题,Filter、Servlet、Listener有什么区别?
下面简要说下:
1. Filter
实现javax.servlet.Filter接口,在web.xml中配置与标签指定使用哪个Filter实现类过滤哪些URL链接。只在web启动时进行初始化操作。
filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收等,而servlet 处理之
后,不会继续向下传递。filter功能可用来保持流程继续按照原来的方式进行下去,或者主导流程,而servlet的功能主要用来主导流程。
特点:可以在响应之前修改Request和Response的头部,只能转发请求,不能直接发出响应。filter可用来进行字符编码的过滤,检测用户
是否登陆的过滤,禁止页面缓存等
2. Servlet
servlet 流程是短的,url传来之后,就对其进行处理,之后返回或转向到某一自己指定的页面。它主要用来在业务处理之前进行控制。
3. Listener
servlet,filter都是针对url之类的,而listener是针对对象的操作的,如session的创建,session.setAttribute的发生,在这样的事件发
生时做一些事情。
下面简要说下:
1. Filter
实现javax.servlet.Filter接口,在web.xml中配置与标签指定使用哪个Filter实现类过滤哪些URL链接。只在web启动时进行初始化操作。
filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收等,而servlet 处理之
后,不会继续向下传递。filter功能可用来保持流程继续按照原来的方式进行下去,或者主导流程,而servlet的功能主要用来主导流程。
特点:可以在响应之前修改Request和Response的头部,只能转发请求,不能直接发出响应。filter可用来进行字符编码的过滤,检测用户
是否登陆的过滤,禁止页面缓存等
2. Servlet
servlet 流程是短的,url传来之后,就对其进行处理,之后返回或转向到某一自己指定的页面。它主要用来在业务处理之前进行控制。
3. Listener
servlet,filter都是针对url之类的,而listener是针对对象的操作的,如session的创建,session.setAttribute的发生,在这样的事件发
生时做一些事情。
6 0
- 【知识点】Filter、Servlet、Listener区别与联系
- 【知识点】Filter、Servlet、Listener区别与联系
- 【知识点】Filter、Servlet、Listener区别与联系
- servlet,filter, listener, interceptor 区别与联系
- servlet,filter, listener, interceptor 区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet,filter, listener, interceptor 区别与联系
- servlet,filter, listener, interceptor 区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet,filter, listener, interceptor 区别与联系
- servlet/filter/listener/interceptor区别与联系
- servlet/filter/listener/interceptor区别与联系
- mysql数据库在命令行的导入导出
- 使用KineticJS HTML5画布修改曲线锚点
- Solution of issue: Android soft keyboard overlap with input div on browser【Android虚拟键盘与输入框重叠解决方案】
- final 关键字
- GCC 编译c程序的方法及过程解析
- 【知识点】Filter、Servlet、Listener区别与联系
- Incorrect column specifier for column 'addressId'
- 2013年度总结
- MTK update account id
- 编程语言编年史
- 有向图强连通分量的Tarjan算法
- 在linux系统中安装mysql服务器详细步骤并解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passw
- 机房收费系统-数据库设计说明书
- 优化之drawcall