Struts2中的拦截器教学示例及课后练习参考资料 - 图文
更新时间:2023-10-21 09:20:01 阅读量: 综合文库 文档下载
- struts2拦截器详解推荐度:
- 相关推荐
有关拦截器技术的一些概念
1、为什么要应用拦截器
拦截器就是一种AOP的实现方式,传统的JSP&Servlet架构中,客户端发送一个请求,服务器端生成一个request对象,并执行相应的doGet()或者doPst()方法,最后由response返回一个响应到客户端,整个服务过程就结束了。
所以所有的业务逻辑功能只能在doGet ()或者doPst()方法中调用,这样整个业务就写死了,如果想增加新的功能,只能修改doGet ()或者doPst()方法,不符合开闭原则(OCP)。
2、Struts 2框架中的默认拦截器
在Struts2中每发送一个请求都要经过好几层的拦截器最终才到达所调用的action。由多个拦截器组成的就是一个intercptor-stack,如果扩展了struts-default就默认集成了defaultstack。里面包含了许多常用的拦截器,比如文件上传时会用到fileUpload,要调出session对象由servletConfig来做。 因为defaultstack里的拦截器,默认已经配好了,所以无需要专门对这些拦截器进行配置。 3、Struts 2框架中的各种形式的拦截器的主要作用 拦截器 名字 Alias Interceptor Chaining Interceptor alias chain 说明 在不同请求之间将请求参数在不同名字件转换,请求内容不变 让前一个Action的属性可以被后一个Action访问,现在和chain类型的result(
WebWork提供的拦截器介绍
1、 自动为Action设置Http请求数据的拦截器(Parameters Interceptor)。这个拦截器非常方便实用,但完全自动组装对象数据,很可能会带来安全问题。如果Action不需要设置数据,那么这个Action只要实现com.opensymphony.xwork.interceptor.NoParameters接口即可。如果是Action中部分数据需要自动
设
置
,
部
分
数
据
不
允
许
设
置
,
这
样
可
以
实
现
接
口
com.opensymphony.xwork.interceptor.ParameterNameAware,可以在这个接口的acceptableParameterName(String parameterName)方法中,定义我们可以接受哪些方法,如果允许只要让这个方法返回True就可以了。
2、 过虑参数功能的拦截器(Parameter Filter Interceptor)。它可以全局阻止非法或不允许Action访问的参数。可以很好的和上面的组装参数的拦截器一起使用。
3、 为Action设置静态数据的拦截器(Static Parameters Interceptor)。它可以将Action定义的静态参数,设置到Action中。
4、 数据验证拦截器(Validation Interceptor)。定义之后,会调用验证文件或实现验证接口com.opensymphony.xwork.Validateable的所有验证。
5、 验证流程处理拦截器(Workflow Interceptor)。它和上面的拦截器一起使用,处理验证的流程。如果验证通过则继续前进,如果发现有验证错误消息,直接转到Action中定义的输入结果(input)页面。
6、 类型转换错误处理拦截器()。它首先去取得类型转换的错误消息(主要是由设置Http请求参数的拦截器产生),如果取到错误消息,它会将错误消息传递给实现接口com.opensymphony.xwork.ValidationAware的Action,这样我们可以将这些错误消息暴露到页面中。
7、 Action链拦截器(Chaining Interceptor)。它是用来拷贝前一个Action的属性数据到当前Action中。它要求前一个Action必须是chain Result( 8、 防止页面重复提交(或页面重复刷新)拦截器。Token Interceptor和Token Session Interceptor都是防止重复提交的拦截器。不同点是后者在Session存贮了最近一次请求的结果数据。 9、 文件上传的拦截器(File Upload Interceptor)。实现文件上传的功能。如果有人曾经手工写过文件上传程序,那一定会惊叹于这个拦截器。我们可以在这个拦截器中设定上传文件的大小和类型限制。记得需要第三方的文件上传库的支持,只要在webwork.properties中配置过,并拷贝相应的jar包就可以了。 10、 进度条等待拦截器(Execute and Wait Interceptor)。当Action的执行需要很长实际的时候,我们可以使用这个进度条等待的拦截器。它会将Action放到后台执行,而在前端显示进度条或等待消息提示的页面。 应用Struts2中的拦截器技术---自定义拦截器组件、并且了解拦截器组件的工作机制 1、添加一个拦截器组件 类名称为AuthorizedUserInterceptor、包名称为com.px1987.sshwebcrm.interceptor、并且从com.opensymphony.xwork2.interceptor.AbstractInterceptor基类进行继承。 2、编程该拦截器组件 Struts2截获Action请求,在Action执行之前或之后调用拦截器方法。这样,可以用插拔的方式将功能注入到Action中。WebWork框架的很多功能都是以拦截器的形式提供出来。例如:参数组装,验证,国际化,文件上传等等。 package com.px1987.sshwebcrm.interceptor; import java.util.Map; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; import com.px1987.sshwebcrm.actionform.UserInfoActionForm; public class AuthorizedUserInterceptor extends AbstractInterceptor { public AuthorizedUserInterceptor() { } @Override public String intercept(ActionInvocation oneActionInvocation) throws Exception { //前置效果(在被拦截的目标Action类中的方法执行之前执行) System.out.println(\在第一个拦截器中的前置拦截代码已经被执行!\ String returnResult=oneActionInvocation.invoke(); System.out.println(\原来的Action类中的目标方法已经被执行!\ //后置效果(在被拦截的目标Action类中的方法执行以后再执行) System.out.println(\在第一个拦截器中的后置拦截代码已经被执行!结果为: \ return returnResult; } } 3、在struts.xml文件中配置和定义出该拦截器组件 \ \ class =\ class =\ class =\
正在阅读:
Struts2中的拦截器教学示例及课后练习参考资料 - 图文10-21
激发极化法电测深在地下水探测中应用09-14
叶的华尔兹作文700字06-24
实验9-结构体05-26
我是女生作文450字06-19
事业单位公开招聘违纪违规行为处理规定02-22
湖州市国民经济和社会发展第十二个五年规划纲要 - 图文09-24
盘古仿写400字07-09
提高作文教学有效性指导的思考与对策12-28
昆明理工大学C语言程序设计课后习题答案02-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 拦截器
- 课后
- 参考资料
- 示例
- 练习
- Struts2
- 图文
- 教学
- 顶管施工组织设计
- 卢森堡电表市场投资前景预测报告
- 事业单位面试备考:结构化面试中可以举例子的好素材
- 宝元程式操作说明书3
- matlab 四阶龙格-库塔法求微分方程
- 五年级语文辅导计划(2018参考价值极高)
- 半导体物理知识点总结
- 同等重要古琴教室教师随笔从琴律的两种生律体系分析《碣石调幽兰》谱的乐律结构
- 上海市小型微型企业信贷风险补偿办法
- 与PLC课后习题答案 2
- 概率论与数理统计及其应用课后答案(浙江大学 - 盛骤版)
- 室内采暖系统安装主要工程质量通病治理措施
- 经济学原理 外部性 练习题+答案
- 中文系第四届学术年会
- 2018医疗质量持续改进实施方案
- 2018年中考地理专题复习一 图表图像
- 软土地基路堤工程毕业设计
- 变电站入场考试题
- 质量管理体系全套程序文件合集2018年原创经典IATF16949 汽车质量管理体系(内含39个程序)
- 中共攀枝花市委人大工作经验交流材料