Struts2基础(4)
来源:互联网 发布:windows photo viewer 编辑:程序博客网 时间:2024/06/05 16:46
Struts2拦截器和标签库
1. 拦截器概述
(1) Struts2中封装的功能都是在拦截器中实现的
(2) Struts2中封装了很多功能,有很多拦截器,但是每次只执行默认的拦截器
(3) Struts2里默认拦截器的位置
struts2-core-2.3.24.jar
struts-default.xml
(4) 什么时候执行
在Action对象创建之后,方法执行之前执行
2. 拦截器底层原理
(1)AOP思想
面向切面编程,有基本功能,需要扩展功能,不通过修改源代码的方式扩展功能
(2)责任链模式
要执行多个操作,有添加,修改,删除
首先执行添加操作,之后做类似于“放行”操作,执行修改操作,再执行“放行”操作,之后执行删除操作
(3) 如何应用
在Action方法执行之前执行默认拦截器,执行过程使用AOP思想,在Action中没有直接调用拦截器的方法,而是使用配置文件的方式进行操作
在执行拦截器时,会执行很多拦截器,这个过程中使用责任链模式
(4) 执行过程
3. 拦截器和过滤器的区别
(1)过滤器理论上可以是任意内容,比如:hml、jsp、servlet、图片等
(2)拦截器只可以拦截Action
4. 自定义登录拦截器
1. 拦截器结构
继承AbstractInterceptor、实现Interceptor接口
有三个方法:
(1)init():初始化操作
(2)destory():销毁
(3)interceptor():拦截操作
2. 开发中使用另一种方法
写类继承MethodFilterInterceptor类实现,可以让Action中的某个方法不被拦截,
需要通过配置文件的方式建立关系
(1)在要拦截的Action标签所在的Package标签里声明拦截器
<inteceptors>
<interceptor name="" class="">
</inteceptors>
(2)在具体的Action标签里使用声明的拦截器
<action>
<interceptor-ref name=""></interceptor-ref>
</action>
(3)如果配置了自定义的拦截器,Struts2中默认的拦截器就不会执行了
解决:
<interceptor-ref name="defaultStack"></interceptor-ref>
(4)可以通过配置的方式对Action的某些方法不进行拦截
<interceptor-ref name="">
<param name="excludeMethods">login,......</param>
</interceptor-ref>
5. Struts2标签库
Struts2标签使用在JSP中
1. s:property:和OGNL表达式在JSP页面中获取值栈数据
2. s:iterator:获取值栈List集合数据,表示List集合
3. s:debug:查看值栈结构和数据
6. Struts2表单标签
1. s:form
2. s:textfield name label
3. s:radio list
4. s:checkboxlist
5. s:select
6. s:file
7. s:hidden
8. s:submit
9: s:reset
10. s:textarea
阅读全文
0 0
- Struts2基础(4)
- struts2(基础4)
- struts2 基础(3)
- struts2基础(续)
- struts2基础(1)
- Struts2基础(1)
- Struts2基础(2)
- Struts2基础(3)
- struts2(基础1)
- struts2(基础2)
- struts2(基础3)
- Struts2.1笔记(三):Struts2基础
- Struts2基础复习系列(4)
- (一)struts2之基础
- struts2基础梳理(一)
- struts2基础梳理(二)
- struts2基础
- Struts2基础
- 算法题练习系列之(八):德才论
- 素数----南阳OJ
- UI、UE和UX三者之间的区别?
- c/c++整理--析构函数
- Spring源码学习--Bean对象初始化(二)
- Struts2基础(4)
- 如何根据相机的参数知道摄像机的内参数矩阵
- quartz任务调度框架实现任务定时执行,不传参的配置(一)
- MapReduce编程模式
- SVN cleanup 失败的解决方法
- 2017.6.28 文艺平衡树 思考记录
- mysql 查看数据库中所有表的记录数
- Struts2-ActionSupport和result节点和通配符映射
- Activemq 使用