文档章节

struts2 拦截器

芥末小弟
 芥末小弟
发布于 2017/03/01 09:54
字数 337
阅读 3
收藏 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>

© 著作权归作者所有

共有 人打赏支持
上一篇: java5
下一篇: mysql 安装和卸载
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平
私信 提问

暂无文章

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
57分钟前
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
16
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部