- 浏览: 1590130 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.如果一个系统中配置了多个拦截器,根据拦截器配置的顺序不同,执行拦截器的顺序也不一样。通常认为,先配置的拦截器,会先获得执行的机会,但是实际情况不是这样。execute()方法执行之前,配置在前面的拦截器,会先对用户的请求起作用。execute()方法执行之后,配置在后面的拦截器,会先对用户的请求起作用。(两头向中间靠拢的执行)
定义拦截器
action
struts.xml
--访问
http://localhost:8080/Struts2_interceptorSort/default.action
--控制台的信息 如下
拦截器1执行了。。。
拦截器2执行了。。。
拦截器3执行了。。。
拦截器3执行完毕。。。
拦截器2执行完毕。。。
拦截器1执行完毕。。。
定义拦截器
package com.sh.interceptor; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class DefaultInterceptor extends AbstractInterceptor{ private String name; public void setName(String name) { this.name = name; } @Override public String intercept(ActionInvocation invocation) throws Exception { System.out.println(name+"执行了。。。"); String result=invocation.invoke(); System.out.println(name+"执行完毕。。。"); return result; } }
action
package com.sh.action; import com.opensymphony.xwork2.ActionSupport; public class DefaultAction extends ActionSupport { public String execute(){ return SUCCESS; } }
struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 如果 注解的action配置改变时候不需要重新启动tomcate --> <constant name="struts.devMode" value="false"/> <constant name="struts.convention.classes.reload" value="true" /> <package name="default" extends="struts-default"> <interceptors> <interceptor name="inter1" class="com.sh.interceptor.DefaultInterceptor"/> <interceptor name="inter2" class="com.sh.interceptor.DefaultInterceptor"/> <interceptor name="inter3" class="com.sh.interceptor.DefaultInterceptor"/> </interceptors> <action name="default" class="com.sh.action.DefaultAction"> <result>/index.jsp</result> <interceptor-ref name="inter1"> <param name="name">拦截器1</param> </interceptor-ref> <interceptor-ref name="inter2"> <param name="name">拦截器2</param> </interceptor-ref> <interceptor-ref name="inter3"> <param name="name">拦截器3</param> </interceptor-ref> <interceptor-ref name="defaultStack"/> </action> </package> </struts>
--访问
http://localhost:8080/Struts2_interceptorSort/default.action
--控制台的信息 如下
拦截器1执行了。。。
拦截器2执行了。。。
拦截器3执行了。。。
拦截器3执行完毕。。。
拦截器2执行完毕。。。
拦截器1执行完毕。。。
- Struts2_interceptorSort.zip (3.3 MB)
- 下载次数: 42
发表评论
-
解决getOutputStream() has already been called for this response
2014-07-30 19:16 3316java.lang.IllegalStateException ... -
Struts2 + ajaxFileUpload 异步上传文件
2013-12-04 19:33 1888ajaxFileUpload下载地址http://www.ph ... -
Struts2 Action 解析提交的XML
2013-10-16 12:30 1633package com.bjdata.bjsearch.p ... -
MyBatis+Spring+Struts2
2012-11-28 00:32 10612MyBatis3.1.1+Spring3.1.2+Struts ... -
Ibatis 整合spring + Struts2 加入OSCACHE
2012-11-14 00:10 4554说明: 使用 spring2.5 +ibatis2.3 ... -
Struts2中使用JfreeChart
2012-11-06 09:02 16391.jar commons-fileupload-1.2.2. ... -
Struts2整合SiteMesh
2012-11-05 10:33 76531.导入Struts2的jar 和 sitemesh.jar ... -
Struts2 编写安全策略(四十五)
2012-09-23 23:53 2292编写安全策略 包含(1 ... -
SSH2整合完整案例(四十三)
2012-09-14 09:34 20687注解配置:Struts2+Spring2.5+Hibernat ... -
Struts2 阻止表单重复 和 等待页面(四十四)
2012-09-23 21:13 2138表单重复提交现象 导 ... -
Struts2 文件上传,下载,删除(四十一)
2012-09-10 23:37 12328本文介绍了: 1.基于表单的文件上传 2.Struts 2 的 ... -
Struts2 文件上传,下载的类型(四十二)
2012-09-06 23:18 1994声明: 以下复制他人的!!! Struts2 文件上传 之 ... -
Struts2 常用标签使用(三十九)
2012-09-03 09:28 64261.append标签 使用append标签可以把多个集合对 ... -
Struts2 timer拦截器(三十二)
2012-08-31 02:17 20691.Strus2系统拦截器中,timer拦截器可以实现输出Ac ... -
Struts2 常用标签使用(三十九)
2012-09-03 00:50 51.append标签 使用append标签可以把多个集合对 ... -
Struts2 主题和模版设置(四十)
2012-09-03 20:24 4142----------------Struts2 主题----- ... -
Struts2 如何使用OGNL表达式(三十八)
2012-08-30 20:55 50751.OGNL是Object Graph Navitagtion ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-30 11:25 18463A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-29 14:08 9A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 iterator 标签遍历 Map,List,数组(三十六)
2012-08-26 18:30 205231.使用iterator 标签 遍历 数组,Map,List ...
相关推荐
3. 在Struts2的配置文件(struts.xml)中声明并配置拦截器,指定拦截器的执行顺序和作用范围。 **四、拦截器的配置** Struts2的拦截器可以通过XML或注解两种方式进行配置: - XML配置:在`struts.xml`文件中,...
2. **配置拦截器**:在`struts.xml`配置文件中定义拦截器,指定其执行顺序和关联的Action。 3. **注册拦截器**:将自定义拦截器加入到`struts-default`或`struts-plugin`拦截器栈中,或者创建新的拦截器栈并应用到...
通过在`struts.xml`配置文件中定义拦截器栈,我们可以控制拦截器的执行顺序和行为。 然而,Struts2从2.1版本开始引入了拦截器注解,使得无需在配置文件中显式声明拦截器,就可以直接在Action类或方法上使用注解来...
2. **拦截器栈**:在Struts2中,拦截器可以组成一个栈,按照栈的顺序执行。当请求到达Action时,会先执行栈中的所有拦截器,然后执行Action,最后再按相反的顺序返回。 3. **配置拦截器**:拦截器可以通过Struts2...
3. 在调用Action之前,Struts2会按照配置的顺序依次执行拦截器链。 4. 每个拦截器可以决定是否允许请求继续传递到下一个拦截器或直接终止。例如,一个登录拦截器可能会检查用户是否已登录,如果未登录则跳转到登录...
通过在`struts.xml`或`struts-plugin.xml`配置文件中定义拦截器栈,可以指定拦截器的执行顺序。 以下是一些常见的Struts2内置拦截器及其用途: 1. `params`:负责从请求参数中填充Action属性。 2. `i18n`:处理国际...
在Struts2中,拦截器是实现业务逻辑控制和增强功能的重要机制,它们扮演着类似于AOP(面向切面编程)的角色,允许在动作执行前后插入自定义逻辑。在这个“Struts2拦截器实现权限控制demo”中,我们将深入探讨如何...
2. **拦截**:当一个请求到达Action时,Struts2会根据配置的拦截器栈顺序,先调用每个拦截器的`intercept()`方法,然后才执行Action的业务逻辑。 3. **后处理**:Action执行完毕后,Struts2会逆序遍历拦截器栈,调用...
在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在动作执行前后插入自定义的逻辑,如日志、权限检查、数据验证等。本示例将探讨如何在Struts2中使用拦截器。 首先,我们需要理解Struts2拦截器的...
当一个请求被发送到Struts2框架时,拦截器会按照配置的顺序依次对请求进行处理。每个拦截器都有`intercept()`方法,这个方法会在动作执行前和执行后被调用,允许开发者插入预处理和后处理逻辑。 **2. 拦截器的工作...
3. 依据配置的Interceptor Stack(拦截器栈),Struts2会按顺序调用每个拦截器的`intercept`方法。 4. 在`intercept`方法中,通常会先调用`ActionInvocation`的`invoke`方法,这将执行下一个拦截器或者直接执行...
在"Struts2 拦截器过滤方法(二十八)"这个主题中,我们将深入探讨Struts2拦截器的工作原理、如何创建自定义拦截器以及它们在实际应用中的作用。 首先,拦截器是基于Java的动态代理机制实现的,它们在Action执行...
当一个请求到来时,Struts2会按照配置的顺序依次执行这些拦截器,最后调用Action方法。 要实现拦截不文明字迹,我们首先需要创建一个自定义的拦截器类。这个类需要继承自`...
Struts2是一个强大的MVC框架,它通过使用拦截器(Interceptor)来实现业务逻辑与表现层的解耦,提供了一种灵活的扩展机制。...记得在开发过程中,合理地组织拦截器栈,以保证拦截器的执行顺序符合预期。
在Struts2中,拦截器(Interceptor)扮演着至关重要的角色,它允许开发者在动作执行前后插入自定义逻辑,如日志记录、权限验证等。在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合...
Struts2的拦截器是一种AOP(面向切面编程)的概念,它在Action调用前后执行特定的逻辑,如日志记录、权限验证、数据校验等。拦截器通过配置在struts.xml或struts-plugin.xml文件中,按照定义的顺序进行调用。每个...
Struts2 中拦截器与过滤器的区别及执行顺序 Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器...
这些拦截器按照配置的顺序逐个执行,每个拦截器执行完毕后,会将控制权传递给下一个拦截器,直到最后一个拦截器执行完后再调用Action的`execute`方法。当`execute`方法执行完毕,控制权会反向传递回之前的拦截器,...
3. 配置拦截器栈:Struts2使用拦截器栈的概念,即将多个拦截器组织成一个栈,按照栈的顺序依次执行。在`struts.xml`中,可以创建一个或多个拦截器栈,并将权限拦截器包含在内。 4. 应用拦截器:在Action配置中,...