`

struts2拦截器笔记

 
阅读更多
如果用户要开发自己的拦截类,需要实现Interceptor接口,它包括三个方法:
Init()
destroy()
intercept(ActionInvocation action)


另一种只需继承AbstractInterceptor类实现  AbstractInterceptor方法

拦截器在strut2中配置的详细解析

<package name="default" extends="struts-default" namespace="/">
<interceptors>
//自定义的一个拦截器 name为 login_authority, class为拦截器的处理的类名
<interceptor name="login_authority"class="com.TestOfAuthorityInterceptor">
//拦截器中初始的参数
<param name="user">lisi</param></interceptor>
//自定义的一个拦截器 name为 zz_test, class为拦截器的处理的类名
<interceptor name="zz_test" class="com.TestOfAuthorityInterceptor">
//拦截器中初始的参数
<param name="user">zhangsan</param></interceptor>
//以下是拦截器栈,name为拦截器栈的名称
<interceptor-stack name="mystack">
//引入默认的拦截器栈
<interceptor-ref name="defaultStack"></interceptor-ref>
//引入自定义的拦截器栈 login_authority  拦截器栈按顺序执行
<interceptor-ref name="login_authority"></interceptor-ref>
//引入自定义的拦截器栈  zz_test
<interceptor-ref name="zz_test"></interceptor-ref> 
</interceptor-stack>
</interceptors>
//如果需要将自定义的拦截器栈定义为默认的拦截器栈,只需要在此处代码加入 mystack为自定义的拦截器栈
//<default-interceptor-ref name="mystack" />


<global-results>
<result name="authorizeFailed">/authorizeFailed.jsp</result>
<result name="zs">/zhangsan.jsp</result>
<result name="ls">/lisiUser.jsp</result>
</global-results>

<action name="demo" class="com.Demo">
<interceptor-ref name="timer"></interceptor-ref>
<result name="success">/ok.jsp</result>
</action>
<action name="reg" class="com.Reg">
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/regerr.jsp</result>
<result name="success">/regok.jsp</result>
</action>

<action name="user_*" method="{1}" class="com.UserAction">
//此处引入了拦截器栈,需要进行拦截处理
<interceptor-ref name="mystack"></interceptor-ref> 

          
<result name="success">/index.jsp</result>
<result name="input">/authorizeFailed.jsp</result>
</action>
</package>



如需执行拦截器栈则必须在  public String intercept(ActionInvocation invoker)方法中

调用invocation.invoke()方法,否则只会执行第一个拦截器,后面的拦截器不会执行

分享到:
评论

相关推荐

    struts2 学习重点笔记

    - **原理**:Struts2 的拦截器会在 Action 执行完成后,调用 getter 方法并将结果存储到适当的范围对象中。 **3.4 请求转发与重定向** - **转发**:Action 的 execute 方法返回一个字符串,根据这个字符串找到对应...

    struts2学习笔记十(第10讲.Struts2的核心 拦截器)

    在Struts2中,拦截器扮演着至关重要的角色,它们是实现业务逻辑和控制流程分离开来的重要组件。本篇将深入探讨Struts2的核心拦截器以及其工作原理。 在Struts2中,拦截器是一个实现了`Interceptor`接口的类,它通过...

    张龙圣思园struts2学习笔记word

    笔记中可能详细讲解了Struts2的配置文件,如struts.xml,它是整个应用的配置中心,定义了Action的映射、结果类型、拦截器栈等。在Action配置中,我们可以指定Action类、方法以及对应的URL路径,实现请求与业务的关联...

    struts2学习笔记十一(第11讲.Struts2的核心 拦截器续)

    在本篇“Struts2学习笔记十一”中,我们将深入探讨Struts2的核心拦截器及其应用。 **1. 拦截器的概念** 拦截器是AOP(面向切面编程)的一部分,在Struts2中,它们作为一系列可插入的处理链,可以在Action执行前后...

    struts2学习笔记总结

    2. 拦截器:拦截器是Struts2的核心特性,它们在Action执行前后按顺序执行,实现如日志、权限检查、事务管理等功能。自定义拦截器可以扩展框架功能。 四、Action与结果 Action类是Struts2处理请求的核心,每个Action...

    struts2四天的学习笔记

    4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它允许在Action执行前后插入自定义逻辑。常见的拦截器有:Params拦截器(处理参数绑定),Validation拦截器(进行字段验证),Stack拦截器(包含一...

    struts拦截器 课堂笔记

    适合新手借鉴的struts学习笔记,更适合一入门的老手借鉴,个人学习心得

    黑马程序员Struts2笔记

    本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...

    struts2学习笔记(完美总结)——转自OPEN经验库

    在实际项目中,Struts2可以处理类型转换、文件上传下载、拦截器(Interceptor)防止重复提交等问题。Interceptor是Struts2中的重要特性,它允许在Action执行前后插入额外的处理逻辑,如登录验证、日志记录等。深入...

    struts2课程笔记

    首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户发起HTTP请求时,Struts2的过滤器(如TestFilter示例)会捕获请求,...

    Struts2学习笔记

    3. **定义struts.xml**:在classpath中放置struts.xml文件,这是Struts2的核心配置文件,用于声明包、结果类型、拦截器以及Action等元素。 4. **创建视图和控制器**:在项目中编写JSP页面作为视图,同时定义Action类...

    struts2详细学习笔记

    通过`struts`标签,我们可以定义全局的常量和拦截器栈。 2. **Package**:包是Struts2中的一个关键概念,用于组织相关的Action和结果(Result)。包可以继承其他包,从而实现配置的复用和分层。`package`标签的属性...

    struts2学习笔记

    Struts2是一个强大的MVC(Model-...Struts2的核心配置文件是`struts.xml`,它负责定义Action、拦截器栈、结果类型、包配置等。在这个文件中,你可以声明你的Action类,定义它们对应的方法以及结果页面。例如: ```xml ...

    struts2学习笔记黑马程序员

    - Struts2框架自身提供了处理文件上传的拦截器`FileUploadInterceptor`,简化了文件上传的过程。 - 开发者可以通过简单的API调用来完成文件的存储。 **文件上传步骤:** 1. **创建上传界面**:设计一个简单的HTML...

    struts2立体结构笔记

    - **拦截器(Interceptor)**:Struts2的拦截器机制使得开发者可以插入自定义的处理逻辑,如日志、权限检查、事务管理等,增强了立体结构的灵活性。 - **插件支持**:Struts2拥有丰富的插件系统,如Struts2-...

    struts2综合笔记

    - 基于 Spring AOP 思想的拦截器机制,易于扩展和定制。 - 强大的输入校验功能。 **历史背景**: - **Struts1 vs. Struts2**: - **共同点**: 都遵循 MVC 设计模式。 - **不同点**: Struts1 与 Servlet API 耦合...

    struts2 学习笔记 实战

    同时,还可以包含拦截器配置、结果类型定义等,为Action提供更多的定制化设置。 三、Action Action是Struts2的核心组件,它负责处理用户的请求并返回响应。一个Action通常对应于一个业务逻辑,可以处理特定的用户...

    [黑马程序员Struts2 2016版视频] 前3Days笔记

    总结,黑马程序员Struts2 2016版的前3Days笔记重点介绍了Struts2的基础概念、架构、配置、Action、结果类型、视图渲染、标签库以及拦截器等关键知识点。通过深入学习这些内容,开发者能够更好地理解和运用Struts2...

    struts2学习笔记.doc

    - 在`struts.xml`中配置Token拦截器。 - 在Action类中处理Token验证逻辑。 #### 八、杂项 **8.1 常见问题解答** - **问题汇总**:针对Struts2开发过程中常见的问题进行总结和解答。 以上是基于文档提供的信息...

Global site tag (gtag.js) - Google Analytics