利用Struts2的Interceptor进行简单的(登陆)权限管理

1.新建一个拦截器(Interceptor)
package cn.devon.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LoginInterceptor extends AbstractInterceptor {	
	
	public String intercept(ActionInvocation invocation) throws Exception {
		ActionContext ctx= invocation.getInvocationContext();

		//如果未登陆,则跳转到登陆页面
		if( null == ctx.getSession().get("L_Member")){		
			return "loginPage";
		}else
			return invocation.invoke();
	}
}


2.配置struts.xml,设置拦截器作用范围(此处作用于“adminModul package中所有的action”)
<package name="adminModul" extends="struts-default" namespace="/admin">
	<interceptors>
		<interceptor name="loginInterceptor" class="cn.devon.interceptor.LoginInterceptor"/>
	</interceptors>
					
	<default-interceptor-ref name="loginInterceptor"/>		
	<global-results><!-- 配置全局返回页面 -->
		<result name="loginPage" type="redirect">/login.jsp</result>
	</global-results>

	<action name="articles" class="articleAction" method="list">
		<result name="success">adminArtilceList.jsp</result>
		<result name="error">error.jsp</result>
	</action>	
         ...
</package>

你可能感兴趣的:(jsp,xml,struts,配置管理)