struts2拦截器的编程理念:
struts2的拦截器的编程方式又叫做AOP叫做面向切面编程;
之所以这样说是因为它打破的常规的编程的思想,不是按照常理向下去
执行的,而是在执行的过程中切了一刀,对着那个被截断的位置去编程,所以就叫做面向切面编程.
使用自定义的拦截器配置:
<package name="test" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="my" class="com.bjsxt.interceptor.MyInterceptor"></interceptor>
</interceptors>
<action name="test" class="com.bjsxt.action.TestAction">
<result>/test.jsp</result>
<interceptor-ref name="my"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
使用自定义的拦截器的时候配置的顺序:
自己定义的拦截器在前,而系统自动提供的拦截器在后面
原理:因为系统自动提供的拦截器的功能很强大,所以为了也使用上系统自动提供的拦截器,就需要
在配置的时候,首先要把自己的拦截器给配置上,但是如果这个时候不显示的把系统自定义的拦截器
给配置进去打话,那么系统就会认为你自己定义的拦截器已经把系统的拦截器给覆盖掉了,所以需要
把系统的拦截器也显示的给定义进去.
使用系统定义的某个拦截器的配置:
<action name="user" class="com.bjsxt.action.UserAction">
<result>/addOK.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/error.jsp</result>
</action>
这个时候如果使用的是系统自己提供的拦截器的话,就需要把系统默认的拦截器给定义到前面,因为
这个时候需要系统自定义的拦截器来处理程序运行时所提交的参数