登录检查拦截器 (ActionInvocation的理解--转载)
来源:互联网 发布:管家婆软件的优缺点 编辑:程序博客网 时间:2024/06/06 20:04
1.actionInvocation是什么
ActionInvocation就是Action的调用者。ActionInvocation在Action的执行过程中,负责Interceptor、Action和Result等一系列元素的调度。
理解ActionInvocation你需要对Action的调用过程有一个全面的了解:
http://tech.ddvip.com/2009-01/1232090919106049.html
讲的还是很清楚地!
2.ActionInvocation干什么
Interceptor通过ActionInvocation可以完全的改变Action行为:不让它执行、改变返回值、甚至可以细颗粒的操作Action的方法
查看ActionINvocation 的API,他有getActionProxy(),getResultCode();getActionContext();
ActionProxy在action中用来构建执行环境,ActionProxy提供Action执行的时候一切所需要的配置、参数等等,当然,也要有进行Action调用的入口。
public String intercept(ActionInvocation invocation) throws Exception { Map session=invocation.getInvocationContext().getSession(); String actionName=invocation.getProxy().getActionName(); String methodName=invocation.getProxy().getMethod();}你写过滤器的时候 有这个方法吧,如果没有你继承extends AbstractInterceptor
示例:
public String intercept(ActionInvocation invocation) throws Exception{
ActionContext ctx = invocation.getInvocationContext();
//如果请求的action在相应范围内存在,则直接return出intercept方法,调用相应action去执行
for(String action:whiteList){
if(ctx.getName().equals(action)){
return invocation.invoke();
}
}
//如果请求的action不在定义的范围内,则查看是否已经登录,是否有权限做这个action的操作
HttpSession session = ServletActionContext.getRequest().getSession();
if(session.getAttribute("SESSION_ADMIN") == null){
session.setAttribute("sessionErrorMessage","请先登录系统!");
return "loginError";
}
//如果请求的action不在相应范围内,但是已经登录,则直接执行该action请求
return invocation.invoke();
}
0 0
- 登录检查拦截器 (ActionInvocation的理解--转载)
- webwork拦截器interceptor 之 ActionInvocation 意义(转载)
- webwork拦截器interceptor 之 ActionInvocation 意义(转载)
- ActionInvocation的理解
- ActionInvocation的理解
- ActionInvocation的理解
- struts2 拦截器和actioninvocation
- struts2 拦截器和ActionInvocation
- struts2 拦截器和actioninvocation
- Struts2:拦截器和actioninvocation
- struts2 拦截器和actioninvocation
- struts2 拦截器和actioninvocation
- struts2 拦截器和ActionInvocation
- struts2 拦截器和actioninvocation
- struts2 拦截器和actioninvocation
- struts2 拦截器和actioninvocation
- struts2 拦截器和actioninvocation
- actionInvocation.invoke()是什么意思,配置自己的验证拦截器
- 获取未安装的APK图标、版本、包名、名称、是否安装、安装、打开
- JAVA线程池----ThreadPoolExecutor机制
- 区块链的基本概念
- jzoj P1026【GDOI2005】积木分发
- Android与javascript交互
- 登录检查拦截器 (ActionInvocation的理解--转载)
- 使用video.js时,iframe内嵌视频无法全屏的问题
- 前6名免费DNS服务
- 重建二叉树
- 【BZOJ 3626】【LNOI 2014】LCA【树链剖分】
- AndroidStudio项目提交(更新)到github最详细步骤
- [网页自动化/测试]Firefox selenium plugin 安装及使用
- 青蛙过河
- Error: Could not link:/usr/local/etc/bash_completion.d/brew