1.比较过滤器和拦截器
拦截器和过滤器都起到拦截资源的作用。
过滤器:拦截所有资源:jsp、servlet、css、js等,在所有servlet项目中都可以使用;
拦截器:是struts的概念,只能拦截Action请求,只能在struts项目中使用;
2.过滤器的生命周期
过滤器的生命周期包括三个方法:init()、doFilter()、destroy()。其中,init()方法在服务器启动时执行,doFilter()方法在每次请求时执行,destroy()方法在对象销毁时执行。
3.拦截器的生命周期
拦截器的生命周期也包括三个方法:init()、intercept()、destroy()。其中,init()方法在服务器启动时执行。
用户访问时按顺序执行18个默认拦截器。其中先执行Action对象的创建,然后执行拦截器的intercept()中的invoke()方法,然后执行Action中的execute()方法,最后执行拦截器的intercept()中的invoke()之后的语句。