什么是Struts 2拦截器?

从软件构架上来说,拦截器是实现了面向方面编程的组件。它将影响了多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现功能的高度内聚,确保了业务对象的整洁和纯度。

从Java代码上来说,它就是一个普度的Java对象,它只需要实现一个名为Interceptor的接口。

Struts 2的工作原理又是什么呢?我们可以同两张图来看看

对于Stuts 2的执行原理我就不做过多的解释了,接下来我们就来看看怎么去具体实现吧。开始就说了,Struts 2的拦截器只是一个普度的java对象,只需要给它实现一个Interceptor接口即可。

需要注意的是:

实现Interceptor接口还要必须实现三个方法,如果学过Servlet应该就更能明白为什么要这样了。三个方法分别为:初始化拦init()、destroy()、最后呢就是我们需要去实现的拦截器方法intercept(),具体的实现功能上面已经有了。

拦截器功能是实现了,但是我们该怎么去让它跟Action类去关联呢?我们都知道拦截器最主要的就是去拦截Action的一些代码问题,返回出来的就是一个逻辑视图名,即被指明为放行的Action。

那我们可以先把之前的登录案列完善以便更好让Interceptor与Action更好关联。

看完这些,我们就来看看具体配置文件xml吧!既然说到xml文件,先说说Struts2xml配置文件几个重要的顺序吧。

对于xml配置文件中一些常量的设置,它是由上至下的顺序把之前的设置覆盖掉,也就是说谁是最后设置的,就以那个设置值为准,所以就有了我们接下来要设置拦截器栈会将默认的拦截器栈冲掉然后再重新去引导默认拦截器栈名为defaultStack

相信大家也能明白了一些了吧,最后顺便给大家拦截器的一些注意点知识吧。

转载于:https://www.cnblogs.com/bdpsc/p/5840012.html

Struts 2的拦截器(Interceptor)总结相关推荐

  1. Struts2拦截器(Interceptor)原理详解

    1.    理解拦截器 1.1.    什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作 ...

  2. struts2学习笔记--拦截器(Interceptor)和登录权限验证Demo

    理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起 ...

  3. JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别

    JavaWeb中监听器Listener+过滤器filter+拦截器interceptor区别 如果从整个项目中看,一个servlet请求的执行过程就变成了这样context-param–>lis ...

  4. 总结 拦截器(Interceptor) 和 过滤器(Filter)的区别

    一.前言 拦截器(Interceptor) 和 过滤器(Filter)的区别是面试中常问的问题,也是开发中容易被大家混淆的问题,在此总结下,希望对大家有所帮助. 二.Filter 介绍 2.1.概念 ...

  5. Flume-NG源码阅读之SourceRunner,及选择器selector和拦截器interceptor的执行

    在AbstractConfigurationProvider类中loadSources方法会将所有的source进行封装成SourceRunner放到了Map<String, SourceRun ...

  6. Springmvc中的拦截器interceptor及与过滤器filter的区别

    一.Springmvc中的拦截器概述及与过滤器filter的区别 1).Springmvc中的拦截器interceptor用于对控制器controller进行预处理和后处理的技术; 2).可以定义拦截 ...

  7. springboot中的拦截器interceptor和过滤器filter,多次获取request参数

    大家好,我是烤鸭:     这是一篇关于springboot的拦截器(interceptor)和过滤器(Filter). 先说一下过滤器和拦截器. 区别: 1. servlet请求,顺序:Filter ...

  8. 60-50-010-API-Kafka producer拦截器(interceptor)

    文章目录 1.视界 概述 1.视界 概述 Producer拦截器(interceptor)是个相当新的功能,它和consumer端interceptor是在Kafka 0.10版本被引入的,主要用于实 ...

  9. SpringMVC→拦截器、SpringMVC拦截器实现、多个拦截器工作原理、拦截器使用场景、拦截器Interceptor与过滤器Filter区别

    拦截器 拦截器实现 多个拦截器工作原理 拦截器使用场景 请求编码设置及请求登录Session校验 使用时间段设置 拦截器Interceptor与过滤器Filter区别

最新文章

  1. 应有尽有!这可能是最全的 AI 面试笔记了
  2. 通用联手谷歌,应用程序和语音助手将整合到车辆中
  3. Swift之数组去重(去除重复元素)
  4. centos7调节虚拟机字体_初次安装虚拟机中Ubuntu16.04系统设置的一些小问题(小白教程)...
  5. 七、spring生命周期之初始化和销毁方法
  6. svn:Cannot negotiate authentication mechanism
  7. 能提升你的东西,都不在舒适区
  8. Vue子组件调用父组件的方法
  9. 不要让你的不主动,耽误了你的人脉
  10. 拓端tecdat|Python用时变马尔可夫区制转换(Markov regime switching)自回归模型分析经济时间序列
  11. 设计模式16-访问者模式
  12. js基础-9-正则表达式
  13. mob AndroidStudio 短信SDK集成
  14. Silverlight4 如何实现DataContextChanged事件
  15. 定时任务Cron常用表达式
  16. 推荐的PDF阅读器(可对pdf文章进行编辑操作的)
  17. 经过20天的面试终于进了阿里(分享面试过程)
  18. ML-Agents案例之机器人学走路
  19. 惠普服务器装centos 系统安装,hp 服务器安装linux系统安装
  20. 299美元企业级账号申请过程

热门文章

  1. nopcommerce 二次开发
  2. SQL Server Agent 服务启动后又停止
  3. Vue报错:sockjs.js?9be2:1627 GET http://192.168.43.88:8080/sockjs-node/info?t=1631603986586 net::ERR_CO
  4. faker假数据php,Faker首页、文档和下载 - 生成假数据的 PHP 库
  5. SQL62 出现三次以上相同积分的情况
  6. 股票市值管理什么意思?
  7. 离开职场3年的宝妈,是该重回职场,还是自己创业呢?
  8. 难道早上起床后就一定要喝一杯白开水吗?
  9. 怎么能把你的公司快速做大呢
  10. 知识与智慧的区别是什么?