- 浏览: 478363 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
excellent95:
谢楼主分享,确实是CSS图片问题
Struts2判断页面是POST方式提交还是GET方式提交 -
wangluo2:
javaBase那个包显示有问题啊pom文件那一行报错了
微信公众平台开发实战(08) 基于地理信息的服务(LBS) -
andilyliao:
jd技术这么渣也好意思出书,真是醉了
《京东技术解密》试读--十年磨一剑 -
bitray:
刘强东作序多什么,他也不会什么技术,腾讯出来帮他还不是因为腾讯 ...
《京东技术解密》试读--十年磨一剑 -
come_for_dream:
想试试搞这个
《大型分布式网站架构设计与实践》试读
struts.xml 配置详解之三 拦截器配置
1. 拦截器( Interceptor )配置
拦截器能在action 被调用之前和被调用之后执行一些“代码”。Struts2 框架的大部分核心功能都是通过拦截器来实现的,如防止重复提交、类型转换、对象封装、校验、文件上传、页面预装载等等,都是在拦截器的帮助下实现的。
每一个拦截器都是独立装载的(pluggable) ,我们可以根据实际的需要为每一个action 配置它所需要的拦截器,例如,一个action 需要用来类型装换、文件上传,那么我们可以给它设置相应的两个拦截器。
1.1 、拦截器配置
代码清单 1 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< interceptors >
<!-- 定义名为 timer 的拦截器 -->
< interceptor name = "timer"
class = "com.opensymphony.xwork2.interceptor.TimerInterceptor" />
<!-- 定义名为 params 的拦截器 -->
< interceptor name = "params"
class = "com.opensymphony.xwork2.interceptor.ParametersInterceptor" />
</ interceptors >
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg/loginSuc.jsp </ result >
<!-- 为 login action 指定拦截器引用,当 login action 被调用时,
timer 和 params 拦截器也会被调用 -->
< interceptor-ref name = "timer" />
< interceptor-ref name = "params" />
</ action >
</ package >
1.2 、拦截器栈配置
拦截器栈注意点:
1、 拦截器栈即引用其他拦截器,也可以引用其他拦截器栈;
2、 引用其他拦截器栈必须是当前包中 的栈,或者是“父”包中 的栈,如某包继承在默认包,则可以引用默认包中的栈;
代码清单 2 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< interceptors >
<!-- 定义名为 loginStack 的拦截器栈,拦截器栈可以包含其他拦截器栈,
同时,该栈必须在本包或者 “ 父 ” 包中,如此处的 “struts-default” 包中 -->
< interceptor-stack name = "loginStack">
< interceptor-ref name = "timer" />
< interceptor-ref name = "params" />
< interceptor-ref name = "basicStack" />
</ interceptor-stack >
</ interceptors >
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg /loginSuc.jsp
</ result >
< result name = "input"> /msg /loginFail.jsp
</ result >
<!-- 为 login actin 指定拦截器引用,引用名既可以是拦截器名,
也可以是拦截器栈名 -->
< interceptor-ref name = "loginStack" />
</ action >
</ package >
1.3 、默认拦截器栈引用
代码清单 3 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< interceptors >
<!-- 定义名为 loginStack 的拦截器栈 -->
< interceptor-stack name = "loginStack">
< interceptor-ref name = "timer" />
< interceptor-ref name = "params" />
< interceptor-ref name = "basicStack" />
</ interceptor-stack >
</ interceptors >
<!-- 定义默认拦截器栈的引用 -->
< default-interceptor-ref name = "loginStack" />
<!-- 包中的所有 action 都将使用默认的拦截器栈引用 -->
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg/loginSuc.jsp </ result >
</ action >
< action name = "user" class = "com.coderdream.action.UserAction">
< result name = "success"> /msg/userSuc.jsp </ result >
</ action >
</ package >
在struts 的默认配置文件的默认包中,定义了默认拦截器栈的引用:
代码清单 4 : struts-default.xml 片段
< package name = "struts-default" abstract = "true">
< default-interceptor-ref name = "defaultStack"/>
</ package >
所以,如果在action 中定义了其他的拦截器引用,那么这个action 将不再使用默认的拦截器引用。
代码清单 5 : struts.xml 片段
< package name = "loginTest" extends = "struts-default">
< action name = "login" class = "com.coderdream.action.LoginAction">
< result name = "success"> /msg/loginSuc.jsp </ result >
<!-- 为 login action 指定拦截器引用,默认的拦截器不再起作用 -->
< interceptor-ref name = "timer" />
</ action >
</
package
>
我的联系方式: 85337464
我的博客: http://coderdream.iteye.com
- 0403.struts.xml配置详解之三_拦截器配置.pdf (232.3 KB)
- 下载次数: 24
发表评论
-
Maven Struts2 项目
2013-09-14 11:44 01、创建好Maven环境; 2、创建一个Maven工 ... -
【张冰Struts2学习笔记】0601.struts.xml配置详解之六 Action配置3 通配符
2010-11-26 15:19 2607struts.xml 配置详解之六 通配符 ... -
【张冰Struts2学习笔记】0502.struts.xml配置详解之五 Action配置2
2010-11-26 14:28 1934struts.xml 配置详解之五 Action ... -
【张冰Struts2学习笔记】0501.struts.xml配置详解之四 Action配置1
2010-11-26 13:10 1922struts.xml 配置详解之四 Action 配置 ... -
【张冰Struts2学习笔记】0402.struts.xml配置详解之二 名称空间 包含
2010-11-25 18:59 1968struts.xml 配置详解之二 名称空间 包含 ... -
【张冰Struts2学习笔记】0401_struts.xml配置详解之一
2010-11-25 13:56 2371struts.xml 配置详解之一 Bean ... -
【张冰Struts2学习笔记】0302.Struts2的主要配置文件及优先级
2010-11-20 16:33 1714Struts2 的主要配置文件及优先级 ... -
【张冰Struts2学习笔记】0301_struts.properties 配置详解(表格版)
2010-11-17 15:23 1619注:附件pdf中有35个属性! ... -
【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法
2010-11-17 12:32 2105Struts2的三种接收用户输入的方法 ... -
【张冰Struts2学习笔记】0201_Action接口与ActionSupport类
2010-11-16 15:32 4120Action 接口与ActionSupport ... -
【张冰Struts2学习笔记】0102_第一个Struts2实例
2010-11-14 19:17 3045基于Struts2 的简单登录项目 ... -
【张冰Struts2学习笔记】0101_Struts1与Struts2的不同点
2010-11-14 14:12 1432Struts1与Struts2的不同点 ... -
基于Struts2的Web应用程序所需要的最少类库
2010-08-30 16:17 1926Struts 2.0.11版: 文件名 ... -
Struts2判断页面是POST方式提交还是GET方式提交
2010-06-03 11:06 9177在项目开发过程中,发现有个页面会提交两次,一直没有找到原因,后 ... -
Struts2的一个问题!no found ApplicationContextAware
2009-06-15 16:39 1747问题: Caused by: java.lang.NoC ... -
struts2的select用法
2009-02-11 09:59 66941、在页面对应的Action中有typeBase属性,改变下拉 ... -
子页面刷新父窗口
2009-02-09 11:50 3159下面的例子是一个子窗体调用方法改变父窗体 主页面 cc.ht ... -
Struts2结合JavaScript控制单选框的状态
2008-12-26 11:48 2092需求: 某个页面有3种操作,新增、修改和删除,其中某个字段为只 ... -
《Struts2深入详解》笔记--第三章 由“登录开始”
2008-12-02 19:36 17551、使用领域对象来接收用户输入 【工程1:sx_ch ... -
Struts2使用经验
2008-11-27 14:35 1451、显示某个对象的某个属性值: 两种方式: ${enterpri ...
相关推荐
【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...
在"【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法"中,我们主要探讨的是如何在Struts2中有效地获取并处理用户提交的数据。以下是对这三种方法的详细解析: ### 1. 使用Action属性 Struts2的核心是...
同时,Struts2的配置文件(struts.xml或struts.properties)也需要定义Action的相关配置,如Action的名称、结果页面等。 在开发过程中,了解并熟练掌握`Action`接口和`ActionSupport`类的用法,能有效提高开发效率...
标题中的“【张冰Struts2学习笔记】0103_Path与绝对路径”表明了这篇笔记主要讨论的是Struts2框架中关于Path和绝对路径的概念及其应用。Struts2是一个流行的Java Web开发框架,它提供了强大的MVC(模型-视图-控制器...
在`详细的配置文件描述`中,可能会讲解struts.xml的结构和重要元素,例如Action配置、拦截器配置、全局结果和常量设置。此外,还可能涉及包配置,它是Struts2配置的模块化方式,允许组织和重用配置。 总的来说,...
Struts2是一个强大的Java ...通过张冰主讲的Struts2 PPT,开发者不仅能学习到上述基础知识,还能了解到实际项目中的最佳实践和常见问题解决方案。这份PPT对于想要深入了解和掌握Struts2框架的人来说是一份宝贵的资源。
两者在设计和实现上有较大差异,例如Struts 2更倾向于使用拦截器(Interceptor)而非ActionServlet来处理请求。 "张冰struts原代码(全部1-6)"这个系列可能涵盖了上述所有知识点,通过实际代码示例帮助学习者深入...
2. **test-interceptor.rar**:拦截器是Struts 2的核心特性之一,用于在Action执行前后插入自定义逻辑。这部分可能涵盖了拦截器的定义、配置、自定义拦截器的编写,以及在实际应用中的使用场景,如日志记录、权限...
这个“Struts2_张冰_视频教程课件_PPT”资源是专门针对Struts2框架的学习资料,由知名讲师张冰制作,旨在帮助学习者深入理解并掌握Struts2的核心概念和技术。 首先,我们来探讨一下Struts2框架的基础知识。Struts2...
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
ActionForm对象负责收集和验证用户输入,而配置文件struts-config.xml定义了请求如何映射到Action。 2. **Action与ActionForm**:Action是处理业务逻辑的类,它接收来自控制器的请求,处理后返回结果。ActionForm则...
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)
3. **配置文件**:Struts2的配置文件(如struts.xml)定义了Action的配置、拦截器栈、全局结果等,是控制应用程序行为的重要部分。 4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它们在Action...
Struts2的配置方式也更加灵活,支持XML配置和注解配置,甚至可以通过Convention插件实现零配置开发。 登录功能的实现是许多web应用的基础,Struts2提供了一套完整的机制来处理用户登录请求,包括Action的定义、结果...
3. **配置文件**:Struts2的配置主要在struts.xml文件中进行,用于定义Action的映射、结果类型、拦截器等。通过XML配置,可以灵活控制应用的行为。 4. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,...
8. **Struts2配置**:在Struts2的配置文件(如`struts.xml`)中,定义Action、结果类型和拦截器栈。这将指定用户请求如何映射到Action,以及Action执行后如何返回结果。 9. **整合测试**:完成配置后,启动服务器,...
### C面向对象程序设计——基于张冰PPT学习教案的关键知识点 #### 一、面向对象程序设计概述 在《C面向对象程序设计张冰PPT学习教案》中,作者通过具体的例子介绍了面向对象编程的基本思想及其与传统的结构化程序...
传智播客Struts2的PPT,是传智播客黎活明老师的东西,和视频是配套的东西还不错
张冰教授的课件和源代码很可能是为了辅助学习这些概念而设计的,通过实际编程例子和练习,帮助学生加深理解和应用这些知识。源代码可能涵盖了各种面向对象的设计模式,如工厂模式、单例模式、观察者模式等,这些都是...