标签:
? struts2拦截器可以拦截一些请求,比如用户没登陆就想访问某个页面,比如用户没有某个页面的访问权限,却发送访问请求,这些都是要被拦截下来的,基于这些需求,我研究了一下struts2的拦截器。
要使用拦截器,首先需要在struts.xml中配置,配置文件如下:
/WEB-INF/index/login.jsp mResult
值得注意的是,定义的拦截器栈名和interceptor-stack的name必须保持一致。
配置好了后,我们需要写一个interceptor类,来处理用户访问的请求(允许访问还是不允许等),这个类即上面<interceptor>的 class属性中的LoginInterceptor.java:
LoginInterceptor { String intercept(ActionInvocation actionInvocation) Exception { String name = actionInvocation.getInvocationContext().getName(); (name.equals()) { actionInvocation.invoke(); } { Map session = actionInvocation.getInvocationContext().getSession(); (session == ) { ServerCommonString.; } { String userId = (String) session.get(); String userPwd = (String) session.get(); String userType = (String) session.get(); (userId == || userPwd == || userType == ) { ServerCommonString.; } { actionInvocation.invoke(); } } } } }
需要特别注意的是,这个类要继承AbstractInterceptor类,然后重写interceptor()方法。
大概就是这些,挺简单的!
标签:
原文地址:http://my.oschina.net/u/1763622/blog/410688