1filter:是过滤器。可以拦截任何类型的url请求:127.0.0.1:8080/test/help.jsp、127.0.0.1:8080/test/user、127.0.0.1:8080/test/user.action
2 interceptors:是拦截器,可以设置为全局拦截器,也可以只拦截某个action。是面向切片编程的手段。
全局拦截器,在所有action执行前执行该拦截器。
只拦截某个action,即在某个action执行前,执行。类似于jf框架的@before注解,这就是面向切片的编程思维。
3两者区别:
1)interceptors只能拦截action的url请求,即如果url不能映射即mapping到工程指定action类(在struts.xml中配置),interceptors是不能拦截该请求的,即不会进入到interceptors这个类里面执行。如如127.0.0.1:8080/test/help.jsp,就不会进去到interceptors中去执行。
filter对任何url都可以拦截,只要在web.xml中配置拦截的url(如*是拦截所有)。
2)filer在web.xml中配置,interceptors在struts.xml中配置。