Struts自定义拦截器有什么作用?
拦截器可以做前期准备工作,如果准备工作没有做好,则先跳转到准备的操作页面,更加合理。比如:登录才能进行的操作,如果检测没有登录,那就重定向到登录页面。
1. Struts拦截器必须要实现Interceptor接口
注意:interceptor包这里是放在web层下面的。
根据以往的经验,一般我们是继承,实现了interceptor接口的子类,Ctrl+T
,这里我们继承抽象类MethodFilterInterceptor,主要是里面有两个属性includeMethods(包含方法)和excludeMethods(排除某个方法)默认是所有的拦截,但是只要这两个属性其中一个有数据,就按照我们自己定义的来操作。
实现抽象类MethodFilterInterceptor未实现的方法
放行 invocation.invoke();
2. 自定义拦截器必须在struts.xml文件中注册
把光标放在标签上,查看放置的顺序
注册拦截器,配置自己的拦截器栈,用自己的拦截器栈取代系统默认的拦截器
重要的一点,把系统默认的拦截器栈换成我们自己的,没有配置不生效的。
生效了
配置不进行拦截的方法
3. 获取走了拦截器的路径。
同时说明,走了两次拦截器。