14.拦截器
struts中的所有功能都是由拦截器来实现。拦截器是struts2的核心。拦截器和过滤器非常相似,过滤器过滤的是所有的请求,拦截器只过滤action。并且在struts2中所有功能都是可拔插的。在struts2中还可以自定义拦截器来实现一些struts2没有提供的功能。在struts2中拦截器的实现是通过代理来实现的(AOP)。在struts2中拦截器是单例的,所有action共享相同拦截器,所以在拦截器中定义常量时需要注意线程安全的问题。
在struts2中提供了很多拦截器。struts2的默认拦截器定义在了struts-default.xml中。所以在使用struts2时定义的package要直接或者间接继承struts-default。