在struts2如何实现拦截器和配置过程
2012-06-04 15:07
417 查看
//在struts2如何实现拦截器 * 定义需求 * 如果用于已经登陆,可以访问action中的save()方法 * 如果用户没有登陆,则不能访问action中的save方法 模拟:session.setAttriute("user","user") * 定义拦截器 /* * struts2中的拦截器是单实例运行 */ @SuppressWarnings("serial") public class PerssionInterceptor implements Interceptor { public PerssionInterceptor(){ System.out.println("PerssionInterceptor 拦截器的构造方法"); } //初始化方法,在拦截器的声明周期中,该方法执行一次 public void init() { System.out.println("PerssionInterceptor init"); } /** * 在拦截器的声明周期中,该方法执行多次 * ActionInvocation: 代表一个给定动作的执行状态, 拦截器可以从该类的对象里获得与该动作相关联的 Action 对象和 Result 对象 * * 由struts2创建,在运行时注入 */ public String intercept(ActionInvocation invocation) throws Exception { //请求的UserAction对象 System.out.println("invocation.getAction() "+invocation.getAction()); //请求的UserAction对象的代理对象 System.out.println("invocation.getProxy().getAction() "+invocation.getProxy().getAction()); //访问的action中的方法 svae System.out.println("invocation.getProxy().getMethod() "+invocation.getProxy().getMethod()); //访问的action所在的命名空间 /aop System.out.println("invocation.getProxy().getNamespace() "+invocation.getProxy().getNamespace()); //获取session Map sessionMap=invocation.getInvocationContext().getSession(); //从session中获取user Object user=sessionMap.get("user"); //如果user==null if(user==null){ //转到没有权限的页面 return "error"; } //真正调用action的save方法 String resultValue=invocation.invoke(); System.out.println("resultValue "+resultValue); return resultValue; } //销毁方法,在拦截器的声明周期中,该方法执行一次 public void destroy() { System.out.println("PerssionInterceptor destroy"); } } * 让拦截器运行 * 在struts_aop.xml文件配置拦截器 <interceptors> <!-- 声明自定义的拦截器 --> <interceptor name="perssionInterceptor" class="cn.itcast.aop.PerssionInterceptor" /> <!-- 定义新的拦截器栈 --> <interceptor-stack name="perssionStack"> <!-- 引用默认栈--> <interceptor-ref name="defaultStack"/> <!-- 增加自定义的拦截器 --> <interceptor-ref name="perssionInterceptor"/> </interceptor-stack> </interceptors> <!--struts2执行时,真正要执行的拦截器栈--> <default-interceptor-ref name="perssionStack"/> * 测试运行
相关文章推荐
- Linux下如何实现用户的集中管理(NIS的配置过程)
- Struts2 拦截器配置以及实现
- 【Struts2】学习和了解拦截器(2)--拦截器实现配置
- Linux下如何实现用户的集中管理(NIS的配置过程) 推荐
- 精心为您准备的Openssl实现私有CA的详细过程,以及如何配置安装证书 推荐
- Struts2 拦截器详细配置过程
- Struts2知识点回顾(五)拦截器的工作流程以及如何实现
- Struts2 拦截器详细配置过程
- Struts2 拦截器详细配置过程(转载)
- Struts2 拦截器详细配置过程(转载)
- 转载 - Struts2 拦截器详细配置过程
- Struts2 拦截器详细配置过程
- Struts2 拦截器 及如何获得 servlet 请求对象 以及Struts 基本配置 &&Session 超时设置
- Struts2 拦截器详细配置过程
- Struts2 拦截器详细配置过程
- 如何配置自定义struts2拦截器
- Struts2中为什么要使用拦截器?拦截器的使用原理以及如何配置拦截器。
- struts2通过拦截器后配置文件如何获取参数值
- Struts2 拦截器具体配置过程
- Salesforce如何使用标准批准过程实现自动审批 - 图解自动审批配置