struts2框架之拦截器(参考第二天学习笔记)
拦截器
1. 什么是拦截器
1). 与JavaWeb中的Filter比较相似。
2). 拦截器只能拦截Action!!!
2. Struts中定义了很多拦截器,其中defaultStack中的拦截器会在每个Action之前执行。
3. 已经知道的拦截器
1). params
2). converterError
3). validation
4). workflow
=====================
3. 自定义拦截器
1). 写一个拦截器类
* 实现Interceptor接口(基本不用)
> void init() --> 当拦截器对象创建之后,马上调用,完成初始化工作。
> void destroy() --> 当拦截器对象被销毁之前,会被调用。
> String intercept(ActionInvocation) --> 每次拦截器时。返回值为结果名称,与execute()相同。
* 继承AbstractInterceptor类(比较常用)
* 继承MethodFilterInterceptor类(特殊情况下使用)
2). 配置它
> 定义拦截器
> 在action中引用拦截器
----------
自定义:
1. 写My1Intercetpor,继承AbstractInterceptor
重写intercetpor方法
其中放行:invocation.invoke()
2. 配置
1). 定义拦截器:
<interceptors>
<intercptor name="xxx" class="..."/>
</ ...>
2). 在<action>引用拦截器
<action>
<interceptor-ref name="xxx"/>
</action>
如果你在<acton>中指定了拦截器,那么默认拦截器就不会再执行!!!
第一种方法:
<action>
<interceptor-ref name="defaultStack" />
<interceptor-ref name="my1" />
</action>
第二种方法:
<interceptor-stack name="myStack">
<interceptor-ref name="my1" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
...
<action>
<interceptor-ref name="myStack"/>
</action>
第三种方式:
指定当前<package>的默认拦截器栈为myStack
<default-interceptor-ref name="myStack" />
struts2框架之拦截器(参考第二天学习笔记)的更多相关文章
- struts2框架之类型转换(参考第二天学习笔记)
类型转换 1. 什么是类型转换 刚才学习了封装请求参数,把表单数据封装到Action(模型)的属性中.表单中的数据都是String类型,但Action(模型)的属性不一定什么类型. 将来我们还需要数据 ...
- struts2框架之国际化(参考第二天学习笔记)
国际化 1. 回忆之前的国际化 1). 资源包(key=字符串) > 命名:基本名称+local部分.properties,res_zh.properties,res_zh_CN.propert ...
- struts2框架之请求参数(参考第二天学习笔记)
获取请求参数 请求参数:表单中的数据,或者是超链接中的数据. 1. 得到request,再通过request来获取.2. 属性驱动 在Action中提供与表单字段名称相同的属性即可. 而一个名为par ...
- struts2框架之输入校验(参考第二天学习笔记)
输入校验: 1. 分类 客户端校验:javascript,它是用户体验而已,可以绕开. 服务器端校验 * 代码校验 1). 要求Action必须继承ActionSupport 2). 重写Action ...
- java拦截器(Interceptor)学习笔记
1,拦截器的概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...
- 十五、struts2中的拦截器(框架功能核心)
十五.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 功能是一回事. 过滤器是Servlet规范中的技术,可以对请求和响应进行过滤. 拦截器是Struts2框架中的技术,实现AOP(面 ...
- 针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题
一.针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题 首先,我们先来了解一下authc登录拦截器工作原理 authc拦截器有2个作用: 1>登录认证 请求进来时 ...
- Struts2(十四)拦截器实现权限管理
一.认识拦截器 拦截器也是一个类 拦截器可以在Action被调用之前和之后执行代码 框架很多核心功能是拦截器实现的 拦截器的特点: 拦截器自由组合,增强了灵活性.扩展性.有利于系统解耦 拦截器可以拦截 ...
- Struts2之类范围拦截器和方法拦截器
1.Struts2拦截器的体系结构 Struts2拦截器最大的特点是其透明性,即用户感觉不到它的存在,但我们在使用Struts2框架时,拦截器时时刻刻都在帮助我们处理很多事情. 包括: 文件上传 表单 ...
随机推荐
- jquery validate 详解二
原文:http://blog.sina.com.cn/s/blog_608475eb0100h3h2.html 这里只是第二篇,前面的内容请参阅上一篇 五.常用方法及注意问题 1.用其他方式替代默认的 ...
- EF部分字段更新,忽略为null字段
一般的更新代码是这样的 public T Update<T>(T entity) where T : ModelBase { var set = this.Set<T>(); ...
- 【英文文档】Solidifier for Windows Installation Guide
Page 1Solidifier for Windows Installation Guide Page 2McAfee, Inc.McAfee® Solidifier for Windows In ...
- 那些年我们没能bypass的xss filter[from wooyun]
原文链接:http://zone.wooyun.org/content/6899 小弟初学xss才10天.不过个人很喜欢收集xss payload.在这里把自己平时挖xss时会用到的payloads列 ...
- [Android] Android 的singleLine废弃解决
之前写代码时,都没有注意singleLine已经废弃,每次想让TextView或Edittext单行显示都是直接使用,但是这样其实不好,因为废弃的函数可能在有的手机上出现问题,所以需要自己去找到替换的 ...
- C++获取MAC与IP
#include <Nb30.h> #pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"netapi ...
- 二十、Linux 进程与信号---非局部跳转
20.1 setjmp 和 longjmp 函数 20.1.1 函数介绍 #include <setjmp.h> int setjmp(jmp_buf env); 函数功能:设置非局部跳转 ...
- 【51nod 1191】消灭兔子
Description 有N只兔子,每只有一个血量B[i],需要用箭杀死免子.有M种不同类型的箭可以选择,每种箭对兔子的伤害值分别为D[i],价格为P[i](1 <= i <= M).假设 ...
- 嵌入式4412开发板学习知识-Linux系统基础知识
1. 什么是Linux系统编程 Linux系统编程分为三个部分:系统调用.C库和C编译器. 系统调用系统编程的基础是系统调用,也结束于系统调用.在带有操作系统的嵌入式开发中,需要从操作系统申请一些服务 ...
- js原生事件
js原生事件封装 // 事件处理对象 var EventUtil = { // 添加事件监听 add: function(element, type, callback){ if(element.ad ...