Ø Interceptor是struts2的核心,struts2百分之七十的功能是由interceptor完成的,例如表单数据的收集、Action参数的赋值、校验的底层实现等等。
Ø 自定义interceptor的实现
1. 写interceptor的实现类,需实现Interceptor接口或者继承AbstructInterceptor类,重写其intercepted方法,实现拦截
2. 在struts.xml文件中为自定义interceptor进行注册,如下
<interceptors>
<interceptor name=”interceptor_name” class=”com.xx.InterceptorClass”>
<param name=”paramName”>paramValue</param>
</interceptor>
</interceptor>
3. 在需要拦截的Action中添加interceptor注册,在Action添加如下代码:
<action name=”requestPath” class=”com.xx.ActionClass”>
<param name=”paramName”></param>
<result name=”resultname”>resulturl.jsp</result>
<interceptor-ref name=” interceptor_name”> </interceptor-interceptor>
</action>
4. 当做完以上工作后我们发现之前我们已经配置好的校验框架已经不起作用了,这是因为,如果action中没有自定义的拦截器,struts2会为该action添加默认的拦截器,即defaultStack;如果action中用户自己添加了自定义拦截器,将覆盖掉系统的defaultStack,这时候需要我们显式调用该拦截器栈。如下:
<action name=”requestPath” class=”com.xx.ActionClass”>
<param name=”paramName”></param>
<result name=”resultname”>resulturl.jsp</result>
<interceptor-ref name=” interceptor_name”> </interceptor-interceptor>
<interceptor-ref name=”defaultStack”></interceptor>
</action>
Ø 如果在一个action中添加了多个拦截器,执行顺序是这样的:
interceptor1.init->interceptor2.init->interceptor2.intercepte->interceptor2.intercepte->interceptor2.destroy->interceptor1.destroy
Ø 也可以为一个package指定默认的interceptor
<default-interceptor-ref name=”interceptor_name”></default-interceptor-ref>
分享到:
相关推荐
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...
1. **Action类与结果**:Struts 2 中的核心是 Action 类,它是处理用户请求的业务逻辑中心。Action 类执行相应的操作并返回一个结果,这个结果可以是一个视图(JSP、Freemarker 等)或者另一个 Action。结果配置在 ...
以上内容仅是Struts2学习笔记中的核心部分,实际学习时还需要深入理解拦截器、结果类型配置、插件机制、异常处理等更多高级特性。Struts2提供了强大的功能和灵活性,是Java Web开发中不可或缺的一部分。
这个"struts2学习笔记"涵盖了Struts2的核心概念、配置、动作、拦截器、结果类型等关键知识点,旨在帮助初学者深入理解并掌握Struts2框架。 1. **Struts2核心概念** - **Action**:是Struts2的核心,负责处理用户的...
本学习笔记将深入探讨Struts2的核心概念、架构以及实际应用。 一、Struts2框架概述 1. 架构:Struts2基于Model-View-Controller(MVC)设计模式,将业务逻辑、数据处理和用户界面分离,提高了代码的可读性和可维护...
在Struts2框架中,`Struts2.xml`是核心配置文件,它定义了框架的行为和应用的路由规则。以下是该文件中涉及的主要标签和它们的作用: 1. **struts**:这是整个配置文件的根元素,用于包含所有的包(package)定义。...
在本篇“Struts2学习笔记十一”中,我们将深入探讨Struts2的核心拦截器及其应用。 **1. 拦截器的概念** 拦截器是AOP(面向切面编程)的一部分,在Struts2中,它们作为一系列可插入的处理链,可以在Action执行前后...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
在第19讲“Struts2深入探索”中,我们将继续深入理解Struts2的核心特性和工作原理,这包括但不限于配置、拦截器、插件、以及源码分析。以下是关于Struts2的一些关键知识点: 1. **MVC模式**:Struts2遵循Model-View...
本篇将深入探讨Struts2的核心拦截器以及其工作原理。 在Struts2中,拦截器是一个实现了`Interceptor`接口的类,它通过在动作执行前后插入额外的处理逻辑,实现了对请求处理的增强。拦截器链是由多个拦截器按照特定...
在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...