文档章节

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>

© 著作权归作者所有

共有 人打赏支持
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平

暂无文章

此生1.3

颜值是开胃菜,不要太在意,正餐才是重点。

colinux
今天
1
0
[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
3
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
3
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
1
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部