struts 2配置拦截器

在struts.xml文件中定义拦截器只需要为拦截器类指定一个拦截器名就可以了,拦截器使用<interceptor.../>元素来定义如:

<interceptor name="defaultStack"/>

一般情况下,只需要通过上面的格式就可以完成拦截器的配置,如果需要在配置拦截器时传入拦截器参数,可使用<param.../>子元素。如:

<interceptor name="defaultStack"/>

<param name="acuu">OK</param>

除此之外,用户还可以把多个拦截器连在一起组成拦截器栈。例如,要在Action执行前同时登录和检查日志,则可以把这两个动作对应的拦截器组成一个拦截器栈。定义拦截器栈使用<interceptor-stack.../>元素,拦截器栈是由多个拦截器组成的,因此需要在<interceptor-stack.../>元素中使用<interceptor-ref.../>元素来定义多个拦截器引用,即该拦截器栈由多个<interceptor-ref.../>元素指定的拦截器组成。实际上,拦截器栈就是一个更大的拦截器。配置拦截器的语法如:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="action" extends="struts-default">
<interceptors>
<interceptor name="helloworld" class="interceptor.HelloWorldInterceptor"/>
</interceptors>
<action name="test" class="action.MyAction">
<result>success.jsp</result>
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="helloworld"/>
</action>
</package>
</struts>

时间: 2024-11-08 00:54:16

struts 2配置拦截器的相关文章

Struts2入门(二)——配置拦截器

一.前言 之前便了解过,Struts 2的核心控制器是一个Filter过滤器,负责拦截所有的用户请求,当用户请求发送过来时,会去检测struts.xml是否存在这个action,如果存在,服务器便会自动帮我们跳转到指定的处理类中去处理用户的请求,基本流程如下: 该流程笔者理解是基本流程,.如果有不对的地方,请下方留言.我会改正.谢谢: 好,接着往下讲: 注意:在struts.xml中,配置文件必须有该请求的处理类才能正常跳转,同时,返回SUCCESS字符串的类,必须继承ActionSupport

第5章 Struts 2的拦截器

5.1拦截器概述 Struts 2框架内建了大量的拦截器,这些拦截器可以在Struts 2的配置文件struts-default.xml中查看. Struts 2框架给出了这么多的拦截器,下面简要介绍它们的作用. <interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/> <interceptor name="autowi

Struts 2的拦截器(Interceptor)总结

 什么是Struts 2拦截器? 从软件构架上来说,拦截器是实现了面向方面编程的组件.它将影响了多个业务对象的公共行为封装到一个个可重用的模块,减少了系统的重复代码,实现功能的高度内聚,确保了业务对象的整洁和纯度. 从Java代码上来说,它就是一个普度的Java对象,它只需要实现一个名为Interceptor的接口. Struts 2的工作原理又是什么呢?我们可以同两张图来看看 对于Stuts 2的执行原理我就不做过多的解释了,接下来我们就来看看怎么去具体实现吧.开始就说了,Struts 2的拦

spring原拦截器配置与新命名空间mvc:interceptors配置拦截器对照与注意事项

原先,我们是这么配置拦截器的 <bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor"> <property name="sessionFactory" ref="sessionFactory" /> </bean>

spring原拦截器配置与新命名空间mvc:interceptors配置拦截器对比与注意事项

原先,我们是这么配置拦截器的 <bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor"> <property name="sessionFactory" ref="sessionFactory" /> </bean>

SpringBoot配置拦截器

[配置步骤] 1.为类添加注解@Configuration,配置拦截器 2.继承WebMvcConfigurerAdapter类 3.重写addInterceptors方法,添加需要拦截的请求 @Configuration public class WebMvcConfigurer extends WebMvcConfigurerAdapter{ @Override public void addInterceptors(InterceptorRegistry registry) { //表示拦

spring boot 配置拦截器验证使用 token 登录

1.自定义登录注解 package io.xiongdi.annotation; import java.lang.annotation.*; /** * @author wujiaxing * @date 2019-07-12 * 登录校验 */ @Target(ElementType.METHOD) @Documented @Retention(RetentionPolicy.RUNTIME) public @interface Login { } 2.创建 token 实体类 packag

Struts2配置拦截器自定义栈时抛异常:Unable to load configuration. - interceptor-ref - file:/D:/tomcat_install/webapps/crm/WEB-INF/classes/struts.xml

代码如下: <interceptors>  <!-- 注册自定义拦截器 -->   <interceptor name="LoginInterceptor" class="com.hncj.crm.staff.web.action.LoginInterceptor"></interceptor>   <!--自定义栈  -->   <interceptor-stack name="crmSt

Struts2配置拦截器,struts2加载常量时的搜索顺序

1:struts2加载常量时的搜索顺序 1.Struts-default.xml 2.Struts-plugin.xml 3.Struts.xml 4.Struts-properties(自己创建的) 5.web.xml 如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面的文件配置的常量值 2:Struts2拦截器配置 1.在Struts.xml中配置一个默认请求的action <!-- 没有找到action时默认执行的action --> <default-acti