Java三大器(4)-过滤器、拦截器和监听器比较
用途过滤器:用于设置字符编码、URL级别的权限控制,敏感词汇的过滤拦截器:拦截未登录的用户,拦截器和过滤器的功能相近监听器:监听器主要监听对应事件的发生。主要有ServletContext、httpSession、ServletRequest对象的创建和销毁,属性的增加、删除,HTTPSession中对象的绑定和解绑。执行顺序过滤器:过滤器依赖web容器存在,在web.xml中配置,会在请求还未进
用途
过滤器:用于设置字符编码、URL级别的权限控制,敏感词汇的过滤
拦截器:拦截未登录的用户,拦截器和过滤器的功能相近
监听器:监听器主要监听对应事件的发生。主要有ServletContext、httpSession、ServletRequest对象的创建和销毁,属性的增加、删除,HTTPSession中对象的绑定和解绑。
执行顺序
过滤器:过滤器依赖web容器存在,在web.xml中配置,会在请求还未进入servlet之前或出servlet之后调用
拦截器:拦截器依赖web框架(spring、Struts),在web框架的配置文件中配置,在请求进入servlet之后且进入对应的controller之前调用,或在出controller之后且出servlet之前调用。
监听器:依赖web容器存在,在web.xml中配置,在事件触发时调用
从执行顺序上来看 :
chain.doFilter()之前的代码-> interceptor.preHandle() -> service() -> interceptor.postHandler() -> interceptor.afterCompletion() -> chain.doFilter()之后的代码
更多推荐
所有评论(0)