struts2 拦截器
struts2 拦截器
芥末小弟 发表于8个月前
struts2 拦截器
  • 发表于 8个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

拦截器:对Action的访问.可以拦截到Action中某个方法.与过滤器不同,过滤器过滤的是请求.过滤JSP、html.但是拦截器不能拦截jsp、html的访问.

 

Struts2 拦截器在访问某个 Action 方法之前或之后实施拦截, Struts2 拦截器是可插拔的, 拦截器是 AOP 的一种实现.

 

开发拦截器的步骤:

1.继承AbstractInterceptor.抽象的拦截器中提供了对init和destroy方法的空的实现.

2.注册拦截器:

 

案例:

1.登录功能:

* 图书CRUD的操作:(没有登录,点击链接会被拦截器拦截.已经登录可以访问.)

 

2.拦截器的配置的方式两种:

* 第一种:

<package name="book" extends="struts-default">

     <!-- 配置拦截器 -->

     <interceptors>

         <interceptor name="privilege" class="cn.itcast.struts2.interceptor.PrivilegeInterceptor"/>

     </interceptors>

 

     <action name="book_*" class="cn.itcast.struts2.action.BookAction" method="{1}">

         <!-- 在Action中使用了自定义的拦截器,那么Struts2中提供的默认拦截器栈就都不执行了. -->

         <interceptor-ref name="defaultStack"/>

         <interceptor-ref name="privilege"/>

     </action>

</package>

 

* 第二种

        <package name="book" extends="struts-default">

     <!-- 配置拦截器 -->

     <interceptors>

         <interceptor name="privilege" class="cn.itcast.struts2.interceptor.PrivilegeInterceptor"/>

         <!-- 自定义一个拦截器栈 -->

         <interceptor-stack name="myStack">

             <interceptor-ref name="defaultStack"/>

             <interceptor-ref name="privilege"/>

         </interceptor-stack>

     </interceptors>

 

     <action name="book_*" class="cn.itcast.struts2.action.BookAction" method="{1}">

         <!-- 在Action中使用了自定义的拦截器,那么Struts2中提供的默认拦截器栈就都不执行了. -->

         <interceptor-ref name="myStack"/>

     </action>

</package>

共有 人打赏支持
粉丝 0
博文 202
码字总数 120715
×
芥末小弟
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: