Struts2.1笔记(八):Struts2的拦截器

struts2拦截器 使用在默认拦截器栈中,对应多个拦截器,需要明确指定给某个拦截器的属性注入值。有放行的功能,如果有下一个拦截器,执行下一个,如果没有了,执行动作方法。中的问题,在定义拦截器栈时,还不知道哪些方法需要拦截,或不需要拦截。自定拦截器后需要重新调用默认拦截器,否者INPUT不在起作用。解决:在使用拦截器时,给属性注入值,指定拦截的方法。当配置了任意的一个拦截器,默认的拦截器栈不起作用。中的问题,配置了默认的拦截器栈,当登录时也被拦截。当配置多个拦截器时,按照配置的顺序执行。中使用拦截器,默认的拦截器栈不起作用。 阅读详情

7.1拦截器实现原理
7.2拦截器配置初步
7.2.1 struts.xml文件中定义拦截器
格式:
<interceptor name="拦截器名"class="拦截器实现类"></interceptor>
拦截器栈:多个拦截器连在一起组成拦截器栈。
格式:
<!-- 拦截器栈 -->
   <interceptor-stack name="拦截器栈名">
    <interceptor-ref name="拦截器1"></interceptor-ref>
    <interceptor-ref name="拦截器2"></interceptor-ref>
    <interceptor-ref name="拦截器3"></interceptor-ref>
   </interceptor-stack>
7.2.2 使用拦截器 通过<interceptor-ref .../>元素可以在Action内使用拦截器。
7.2.3 配置默认拦截器
默认拦截器何时起作用?
没有显示指定拦截器时,则默认的拦截器会起作用
配置默认拦截器:<default-interceptor-ref.../>元素,该元素作为<package.../>
元素的子元素使用。
格式:<default-interceptor-ref name="拦截器名或拦截器栈名"/>
7.2.4 Struts2内建的拦截器
关于内建的拦截器可查看struts-default.xml文件

7.2.5 与拦截器相关的配置元素
<interceptors.../>
<interceptor.../>
<interceptor-stack.../>
<interceptor-ref.../>
<param.../> 
<default-interceptor-ref.../>:
7.3 开发自己的拦截器
开发自己的拦截器类要实现com.opensymphony.xwork2.interceptor.Interceptor接口。
实现类代码如下:
package com.test.interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class MyInterceptor implements Interceptor {

 @Override
 public void destroy() {
   System.out.println("destroy");

 }

 @Override
 public void init() {
  System.out.println("init");

 }

 @Override
 public String intercept(ActionInvocation invo) throws Exception {
  System.out.println("myInterceptor");
  String result = invo.invoke();
  return result;
 }

}
7.3.1使用拦截器
配置文件如下:
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
 "http://struts.apache.org/dtds/struts-2.1.dtd">
<!-- struts是Struts 2配置文件的根元素 -->
<struts>
 <constant name="struts.custom.i18n.resources" value="message"></constant>
 <package name="Struts2" extends="struts-default">
  <!-- 定义 -->
    <interceptors>
   <interceptor name="myInterceptor"
    class="com.test.interceptor.MyInterceptor">
   </interceptor>
  <!-- 拦截器栈 -->
   <interceptor-stack name="myStack">
    <interceptor-ref name="myInterceptor"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
   </interceptor-stack>
  </interceptors>
  <!-- 配置默认拦截器-->
  <default-interceptor-ref name="myStack"></default-interceptor-ref>
 
  <action name="Register"
   class="com.test.action.RegisterAction">

   <result name="success">/Success.jsp</result>
   <result name="input">/s_Register.jsp</result>
   <!--  <interceptor-ref name="myInterceptor"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
   -->
   <!-- <interceptor-ref name="myStack"></interceptor-ref> -->
   <!--使用默认拦截器 -->
  </action>
 </package>
</struts>

Xilinx实战-深入AXI UART Lite IP核的配置与调试 本文详细介绍了Xilinx FPGA中AXI UART Lite IP核的配置与调试方法,包括Vivado环境下的IP核设置、关键参数优化、寄存器操作及常见问题排查。通过实战案例和代码示例,帮助开发者快速掌握AXI接口的串口通信技术,提升嵌入式系统开发效率。 阅读详情

相关推荐

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 279

【Struts2笔记整理八】拦截器

拦截器(Interceptor),在 Struts2 中起到拦截 Action 的作用,它与 Filter 有很大的区别: Filter: 过滤器,过滤从客户端向服务器发送的请求。 Interceptor: 拦截器,拦截的是客户端对 Action 的访问。它是更细粒度化的拦截。(可以拦截 Action 中的具体的方法)。

小异常的博客 565

三轴加速度传感器计步算法优化:动态阈值与滤波技术的实践应用

本文深入探讨了三轴加速度传感器计步算法的优化实践,重点分析了动态阈值调整与高效滤波技术如何协同提升计步精度与鲁棒性。通过对比均值滤波的局限,引入向量模长计算、多级自适应阈值以及状态机判决逻辑,并结合代码示例,为嵌入式及移动应用开发者提供了应对复杂运动场景的实用解决方案。

cherry的博客 503

Struts2之拦截器

目录标题

Atkx's Blog 2774

ABP框架实战:从零搭建多租户应用(含完整代码示例)

本文详细介绍了如何使用ABP框架从零构建多租户SaaS应用,涵盖多租户架构设计、数据隔离实现、租户管理及性能优化等核心内容。通过完整的代码示例,帮助开发者快速掌握企业级数据隔离系统的开发技巧,提升SaaS应用开发效率。

weixin_29247219的博客 264

基于ROS2的实时视频流转换:image2rtsp在多路相机采集中的应用

本文详细介绍了如何在ROS2机器人系统中使用image2rtsp工具,将ROS2内部的相机图像话题实时转换为标准的RTSP视频流。重点阐述了其安装配置、核心参数调优,并提供了多路相机采集的实战方案,解决了机器人视觉数据跨平台、跨网络分发的难题,极大提升了视频流集成的部署效率。

weixin_29214559的博客 396

八、Struts2 的拦截器

一、拦截器基本概念 Intercetor, 即为拦截器。 1. Struts2的每一个功能都是由拦截器实现。 用户想使用哪一个功能,可以自由组装。 2. 为了方便对拦截器的引用,struts提供了拦截器栈的定义, 里面可以引用多个拦截器。 文件夹(文件, 文件2) 拦截器栈(拦截器,拦截器2) 3. struts指定了默认执...

weixin_45602227的博客 234

苍穹外卖项目面试总结话术

美食速递这个项目最初是我参与制作的大创项目,是一款为中南学生提供校园外卖送至宿舍服务的软件,包含系统管理后台和小程序端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对食堂各个窗口、员工、订单、菜品等进行维护管理;小程序端可以在线浏览菜品、添加购物车、下单等,由学生兼职做跑腿送餐上门服务。这是个前后端分离的项目,我主要是负责后端的用户登录、员工管理,菜品管理,订单管理模块的编码实现。

qq_45195447的博客 1万+

【struts2】struts2拦截器

/** *刘梦冰发表于2015-6-5 */struts2提供面向切面(AOP)编程的机制,拦截器便是一种成熟的AOP编程思想的实现,它提供一种机制使开发者能把相对独立的代码抽象出来,配置到action前后执行。拦截器interceptor类似于Filter,在执行action方法前后执行。就像多个Filter组成了Filter链,多个拦截器也组成了拦截器链。struts2中称拦截器链为拦截器栈

lmb55的专栏 1417

Star CCM+中衍生零部件下的阈值应用与区域内删除目标网格

同样的在绘制网格结束后,有时出现负体积网格或质量差的网格,为了节约时间成本,可能会选择将负体积的网格或质量差的网格删除。弹出相应的窗口,在窗口中选择相应的区域①,选择标量函数②(此处以网格体积变化为例),选择模型③,设置阈值④,选择No Dispalyer,会根据需求选择显示,最后点击Create⑥完成创建。此处以温度为例,若出现温度异常点,首先在①栏中勾选Function,然后在下面点击⑤Select,在弹出的Function窗口中选择温度场函数,再点击④Identify,查找温度异常网格数量。

2201_75375391的博客 2222

Centos7 yum 报错「Errno 256」No more mirrors to try 解决方法

首先该问题的出现是由于网络的震荡导致,这是重点。(1)将源更换成阿里云的官方源,步骤参考如上(2)同时将zabbix的官方源更换成阿里云里面的zabbix镜像源,因为zabbix官方源根本网络不通,因为国家防火墙的拦截,导致网络不通。这是阿里源的zabbix镜像地址: https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/修改系统中早期生成的zabbix.repo文件,如下:主要是把baseurl替换成阿里云的zabbix镜像地址即可。

专注基础架构领域 3876

Struts2的拦截器、自定义拦截器、Struts2 验证机制

Struts2的拦截器、自定义拦截器、Struts2 验证机制         过滤器 servlet过滤器 过滤器与拦截器的区别: *相同点:都是起拦截作用 *不同点:       *作用范围: *过滤器:使用范围是J2EE范畴,任何一个web工程都可以使用过滤器 *拦截器:使用范围是struts2范畴,离不开struts2框架的     *完成的功能: *过滤器:拦

fengdongkun的专栏 3566

rosbag分析传感器数据的时间同步情况方法

ROS传感器时间同步分析流程:通过rosbaginfo初步检查bag文件信息,使用rqt_bag可视化时间线分布,采用rostopicecho或Python脚本提取各传感器时间戳并计算时间差统计值(均值/最大差/标准差),最后分析接收与采样时间延迟。量化评估同步精度,识别固定偏移或随机抖动问题,确保多传感器数据对齐,为后续融合处理提供可靠数据基础。

start_up_go的博客 203

Struts2学习总结(五):拦截器

在Struts中,拦截器可以在Action执行之前或之后被调用。Struts2框架的大多数核心功能都是作为拦截器来实现的。 例如为action动态的添加 输入验证(验证用户输入的是否正确) 对象组装(将用户输入的数据转换为对象的属性) 权限控制(如访问者为登录用户) 日志记录(记录action的执行情况) 这些操作都可以通过拦截器实现,而不用修改action 拦截器的工作流程如...

知且行的博客 1173

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Struts2学习笔记四:Struts2拦截器学习、拦截器实现案例、Struts2标签学习

文章目录1. Struts2学习笔记四:拦截器学习1.1. struts.xml全局配置1.2. 利用OGNL表达式获取栈顶信息1.3. Struts2拦截器创建1.4. Struts.xml配置拦截器2. 案例一:登录拦截器2.1. 登录拦截器的用途2.2. 代码实现2.3. 解决登录页面出现在框架中,而不是出现在整个页面中的问题3. Struts通用标签 1. Struts2学习笔记四:拦截器...

公子&小白的博客 505

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

struts2拦截器,拦截指定方法

Struts.xml配置文件&lt;?xml version="1.0"encoding="UTF-8"?&gt; &lt;!DOCTYPE strutsPUBLIC "-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0....

展望未来 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Struts2拦截器详解

在之前的文章中,我们已经涉及到了拦截器(Interceptor)的概念。downpour 写道拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用。正如上面 Struts2的Reference中讲述的,Struts2的Interceptor,其拦截的对象是Action代码,可以定义在Action代码之前或者之后执行拦

笨鸟学飞的专栏 4185

Struts2入门到精通八——————拦截器Interceptor

一、拦截器与过滤器的区别 二、Interceptor的实现 1、写一个类继承com.opensymphony.xwork2.interceptor.AbstractInterceptor 在org.zttc.itat.interceptor包下新建类HelloInterceptor.java并继承com.opensymphony.xwork2.interceptor.Abst

yyyyyyyyyyyy 691

Struts2 的核心——拦截器[Interceptor]

详细介绍了 Struts2中拦截器的执行原理、什么是拦截器、拦截器的配置和使用。

乐乐的专栏 3171

struts2 拦截器_Struts 2拦截器示例

struts2 拦截器Welcome to Struts 2 Interceptor Example. While working on Struts 2, most of the time you will spend on Action Classes but Interceptors are the backbone of Struts 2 Framework. 欢迎使用Struts 2拦截...

从零开始的教程世界 521

Struts2 学习笔记——struts.xml文件之拦截器的配置

拦截器其实就是AOP的编程思想。拦截器允许在Action处理之前或者Action处理之后,插入自己的代码,来完成特定的功能。 我们可以在struts.xml文件中使用元素来配置拦截器或者拦截器栈信息。 如下片段:         下面定义拦截器部分 -->          interceptors>             定义验证权限的拦截器 -->    

2611

Struts2拦截器

一、内容提要 1.拦截器的概念及应用 2.STRUTS2自带的拦截器 3.自定义拦截器 4.自定义拦截器的应用 二、拦截器的概念及应用 拦截器(Interceptor)是Struts2的一个重要特性。Struts2框架的大多数核心功能都是通过拦截器来实现的,像避免表单重复提交、类型转换、对象组装、验证、文件上传等,都是在拦截器的帮助下实现的。拦截器之所以称为“拦截器”,...

dianruanbin6930的博客 161

【Struts2框架】Struts2中拦截器

1.拦截器 1.1什么是拦截器:在访问某个Action或者Action中的业务方法的时候,请求会经过一系列拦截器;当Result返回视图的时候也会经过一系列拦截器,真正有了这些拦截器的协助,才能使Struts2框架具备有很多自动化的功能(封装数据,类型转换,存储数据到作用域....),Struts2的拦截器是可拔插式的。 2.拦截器的分类: 内置拦截器:struts2框架默认自带的拦截...

qq_41614424的博客 248
上一篇: 2009年十月编程语言排行榜
下一篇: Struts2.1笔记(九):上传和下载文件
不善^
博客等级 码龄18年 635粉丝 235原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值