对拦截器的小小理解

2023-10-27

对于初学架构的 [color=red]“小白”[/color]来讲,拦截器绝对是一把需要掌握的[color=red]“利器”[/color]。那么自己从以下几个方面,谈谈对拦截器的小小思考。
拦截器的方法在Action执行前或执行后自动执行,从而将通用的操作动态地插入到Action执行的前后,这样的目的是利于系统的耦合。
拦截器的[color=red][b]实现原理[/b][/color]和 [color=red]Servlet[/color] 过滤器的实现原理一样,以链式方式执行,对真正想要执行的方法(这里指action类的execute())进行拦截。 [color=red] 首先[/color]执行action配置的拦截器,[color=red]其次[/color],在action类中的execute()被执行后,拦截器再次被执行。
拦截器的工作方式如下图所示:
[img]http://dl2.iteye.com/upload/attachment/0109/9416/2ac7f18c-115e-3e9b-a7e0-b589acb3b81e.png[/img]
拦截器的使用步骤:
1.在Struts.xml配置文件定义一个拦截器,只需要使用<interceptor>元素指定拦截器类与拦截明。[color=red]语法格式为:[/color]
<interceptors>
<interceptor name="InterceptorName" class="InterceptorClass"/>
</interceptors>
2.使用拦截器,完成配置后,就可以用该拦截器拦截Action提交的申请了,拦截行为将会在执行Action中的execute()方法之前触发。在Action中使用触发器的配置语法是设置<interceptor-ref>[color=red]语法格式为:[/color]
<interceptor-ref name="InterceptorName"></interceptor-ref>
3.实现拦截器类,[color=red]语法格式为:[/color]
public class 拦截器名称 extends AbstractInterceptor{
//intercept该方法实现拦截的动作
//拦截器继承AbstractInterceptor类,来实现
public String intercept(ActionInvocation arg0) throws Exception {
System.out.println("拦截器开始运行....");
String resultString=arg0.invoke();
System.out.println("拦截器已经结束....");
return resultString;

}
}
对于拦截器“小白”的我,了解的很少,希望大家凑合看吧! :D :D ,同时,自己写博客的目的在于:在写作中升华理解,渐渐告别“小白”,嘿嘿!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对拦截器的小小理解 的相关文章

随机推荐

  • java判断文件类型

    页面代码
  • Python爬虫如何快速入门学习?

    Python爬虫是一种用于自动化网页数据抓取的技术 它能够帮助我们快速 高效地获取互联网上的数据 对于那些想要快速入门学习Python爬虫的人来说 可能会有一些困惑 如何才能快速掌握Python爬虫的基本原理和技巧 在本文中 我们将分享一些
  • Java线程同步-栅栏(CyclicBarrier)

    Java线程同步 栅栏 CyclicBarrier 栅栏是一种同步工具 用于等待一组线程达到某个共同点后再同时继续执行 它的内部维护一个计数器和一个屏障点 当线程到达屏障点时 会阻塞等待其他线程到达 每一个线程到达屏障点后 计算器就减1 当
  • 我在windows10下,使用msys64 mingw64终端

    系列文章目录 文章目录 系列文章目录 前言 一 MSYS2是什么 前言 msys2官网 MSYS2 Minimal SYStem 2 是一个MSYS的独立改写版本 主要用于 shell 命令行开发环境 同时它也是一个在Cygwin POSI
  • JavaDay06

    用户登录 提示用户输入用户名和密码 如果用户名和密码不是 admin 和 123 的话 就提示用户继续输入 最多输入五次 用户登录 提示用户输入用户名和密码 如果用户名和密码不是 admin 和 123 的话 就提示用户继续输入 最多输入五
  • 数据结构4-单链表的删除修改和查找

    1 单链表按照顺序插入节点 package com yin m3LinkedList public class SingleLinkedListDemo public static void main String args TODO Au
  • C语言(关于浮点数比较的学习)

    由于浮点数十进制转化成二进制的机制 会造成精度损失 因此在浮点数的比较中 无法直接令两个浮点数是否相等来判断两个浮点数 如 include
  • 上传报org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceed

    错误如下 springBoot项目自带的tomcat对上传的文件大小有默认的限制 SpringBoot官方文档中展示 每个文件的配置最大为1Mb 单次请求的文件的总数不能大于10Mb 解决方法 Spring Boot 2 5 6 版本 在
  • 紫禁繁花服务器维护,各种坑的坑。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最开始玩的小主 建议开菜坑 会拉开一部分势力 前期略微有明显 比如你冲宫斗去 冲榜去来它是首选 特别是国力的234榜 攻略摘要 势力增加快 复仇积分多 宫斗提升 雨露增加快 办差收货多 势力提升
  • C++使用dll的一些探索

    一 动态链接库的加载方式 隐式加载又称载入时加载 指在主程序载入内存时搜索DLL 并将DLL载入内存 使用隐式加载时 使用者需要DLL链接库的 h文件 lib文件和 dll文件 lib文件包含DLL导出的函数声明和变量的符号名 dll 文件
  • 旧电脑改造nas黑群晖_黑群晖教程:旧电脑不吃灰,手把手教你变成千元顶级NAS...

    前言 如果有玩PCDIY 玩摄影 玩PT 那么一定有听说过NAS NAS中群晖的NAS又是使用体验最佳的 群晖NAS系统在功能上十分齐全 人机界面做的也较为出众 但可惜的是 机器本体价格相对来说高昂 很多人在看到售价后只能摇摇头作罢 黑群晖
  • altium designer执行DRC检查+消除绿色错误

    由原理图生成PCB以后 各种显示绿色 也即PCB报错 如下图 绿色的原因是DRC Design Rule Check 检查未通过 解决方法是正确设置规则 但是在此之前 为了观感 我们先掩耳盗铃一下 临时清除绿色 步骤是 菜单栏 gt 工具
  • 线性代数-向量,矩阵,线性变换

    一 向量 向量要求具有两个条件 长度 大小 方向 二维 三维 计算机中 向量可看做列表 图中第一个列表有两行 我们说它是二维向量 第二个列表有四行 我们说他是四维向量 向量的运算 向量加法 向量加法 将对应的行相加 将向量w的起点平移到向量
  • Java基础(2)面向对象的理解

    面向对象学习 面向对象与面向过程的区别 面向过程思想适合简单 不需要协作的任务 面向对象需要很多协作才能完成 面向对象就应运而生了 object 对象 instance 实例 都是解决问题的思维模式 都是代码组织的方式 解决简单问题可以使用
  • 通过文件夹文件获取文件夹大小

    思路就是便利文件夹下的每个文件 碰到子文件夹递归进去继续找文件 所有的文件大小累加起来 int GetFolderSize LPCTSTR szPath TCHAR szFileFilter 512 TCHAR szFilePath 512
  • mysql的sql语句没错但是报错,sql语句可以正常执行,但是报错:【merge sql error, dbType mysql, sql :】...

    错误信息如下 2017 09 06 19 03 41 186 ERROR method com alibaba druid filter stat StatFilter mergeSql StatFilter java 147 merge
  • 基于有道API的命令行词典(golang版)

    Godict 本项目地址 近期一直再使用golang语言开发一些工具 相关的后端技术链 golang orm postgresql gin jwt logrus 和对应前端的技术链 vue iview axios vue router 基本
  • matlab逆变器原理,MATLAB中的单相全桥逆变器电路建模与仿真

    电子技术设计和应用电子设计和应用电子技术O 3969 j issn 1000 0755 201 5 03 020 MATLAB中的单相全桥逆变器电路建模与仿真杨露容军刘凯周雷李仁贵 湖南工学院信息与通信工程学院 湖南岳阳 描述了全桥逆变器电
  • 什么是MapReduce,MapReduce的工作流程和原理是什么

    一 MapReduce的概念 MapReduce是一种编程模型 用于大规模数据集 大于1TB 的并行运算 概念 Map 映射 和 Reduce 归约 和它们的主要思想 都是从函数式编程语言里借来的 还有从矢量编程语言里借来的特性 它极大地方
  • 对拦截器的小小理解

    对于初学架构的 color red 小白 color 来讲 拦截器绝对是一把需要掌握的 color red 利器 color 那么自己从以下几个方面 谈谈对拦截器的小小思考 拦截器的方法在Action执行前或执行后自动执行 从而将通用的操作