Struts2基础之十三:Struts2拦截器
来源:互联网 发布:window10装mac系统 编辑:程序博客网 时间:2024/05/16 02:54
简单学了一下,感觉struts2的拦截器interceptor和servlet的过滤器Filter是一个意思。在数据流中都要经过拦截器或过滤器,经过的同时对数据加工,之后再送往下一个拦截器,直到再没有拦截器了,就算加工完成送往目的地;数据返回时再逆向过一遍所有的拦截器,回到Jsp中。
一:用默认的Exception的拦截器,集中处理异常
<package>标签中配置:
<!-- 统一异常处理:global-results要在global-exception-mappings前边 --> <global-results> <result name="error01">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="error01"/> </global-exception-mappings>
因为<package>默认都继承于extends="struts-default" ,"struts-default"在引入的JAR包中,默认已经配了n多拦截器。Exception就是其中一个。
自定义action中,如果重写execute()方法时后边有throws Exception,异常就会被此拦截器拦截
二:调用默认的token拦截器
配置俩action,第一个负责用表单接收参数,第二个主要是在默认拦截器都执行完之后,执行自己配置的拦截器
<action name="putin" class="com.rt.struts2.actionDemo.putinAction"> <result>/login_intercepter.jsp</result> </action> <action name="intercepter" class="com.rt.struts2.actionDemo.UserAction"> <result>/error.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="token" /><!-- 在默认拦截器都放过之后,进入自己配置的token拦截器 --> </action> </package>
提交表单(需要token标签)
<form action="intercepter/intercepter!add" method="post"> <td><input type="text" name="user"></td> <td><input type="password" name="password"></td> <input type="submit" value="提交"> <input type="reset" value="重置"> <s:token/> <!-- 表单中需要token标签 --></form>
这样如果前台重复提交表单(token值一样), 后台就会判断出来此表单已提交(result invalid.token),不会再执行一次了
除非前台刷新一次(token值会变化),再次提交。
- Struts2基础之十三:Struts2拦截器
- struts2 18拦截器详解(十三) --- MultiselectInterceptor
- 十三、struts2使用自定义拦截器
- struts2之拦截器
- struts2 之 拦截器
- Struts2之拦截器
- Struts2之拦截器
- struts2之拦截器
- Struts2之拦截器
- Struts2之拦截器
- Struts2之拦截器
- struts2之拦截器
- Struts2之拦截器
- struts2之拦截器
- Struts2之拦截器
- struts2之拦截器
- Struts2之拦截器
- Struts2学习之Struts2中的拦截器
- day06 乱码+重定向转发+Cookie
- Windows Display Driver Model(WDDM)
- AJAX基础
- C++程序中抛出异常后对象的析构顺序
- 我不开心
- Struts2基础之十三:Struts2拦截器
- **乌托邦式的接口和实现分离技术**
- C++中的前置声明(Forward Declaration)
- POJ-3686-TheWindy's
- day07
- Activity的启动方式
- 1 filter入门
- JDBC事务相关概念
- XPDM vs WDDM