版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lyzf0413/article/details/62422692
拦截器特性:
拦截器是Struts2独有的;
拦截器只能对action请求起作用;
拦截器可以操作action上下文,值栈里的对象;
拦截器是基于java反射机制;
在action的生命周期中,拦截器可以被多次调用;
拦截器,不依赖于Servlet容器;
以下是在Struts2配置文件中配置拦截器
<!-- 拦截器配置start -->
<interceptors>
<!-- 定义拦截器 -->
<interceptor name="myInterceptor" class="web.interceptor.MyInterceptor">
<!-- 定义拦截器属性 -->
<param name="name">张三</param>
</interceptor>
<!-- 定义拦截器空间(栈) -->
<interceptor-stack name="myStack">
<!-- 引用defaultStack默认拦截器 必须添加,不然报错-->
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 引用自己定义的拦截器 -->
<interceptor-ref name="myInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 改变系统默认的拦截器,改成自己的默认拦截器,并且系统只能有一个默认的拦截器,这个拦截器会默认应用到所有Action上-->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
<!-- 拦截器配置end -->
<action name="login" class="web.action.Login">
<!-- 在action中使用拦截器 -->
<interceptor-ref name="myStack"></interceptor-ref>
<result name="success">/admin.jsp</result>
<!-- <result name="success" type="chain">index</result> -->
<result name="no">/no.jsp</result>
</action>
<!-- 拦截器配置end -->