在登录Action中
ActionContext.getContext().getSession().put("session", sesion);
创建拦截类
public class LoginInterceptor extends MethodFilterInterceptor{
/**
*
*/
private static final long serialVersionUID = -4409507846064552966L;
/* (non-Javadoc)
* @see com.opensymphony.xwork2.interceptor.MethodFilterInterceptor#doIntercept(com.opensymphony.xwork2.ActionInvocation)
*/
@Override
protected String doIntercept(ActionInvocation invoker) throws Exception {
// TODO Auto-generated method stub
Object loginUserName = ActionContext.getContext().getSession().get("session");
if(null == loginUserName){
return "error"; // 这里返回异常页面,重新登陆
}
return invoker.invoke();
}
}
在Struts.xml配置
<!-- 拦截器 -->
<interceptors>
<!-- 登陆拦截器 -->
<interceptor name="loginInterceptor" class="com.enchi.web.interceptor.LginInterceptor"/>
<!-- 拦截器栈 -->
<interceptor-stack name="myStack">
<interceptor-ref name="defaultStack">
<!-- 开启日志 -->
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">error</param>
</interceptor-ref>
<!-- <interceptor-ref name="loginInterceptor">
</interceptor-ref> -->
</interceptor-stack>
</interceptors>
<!-- 所有action方法都需要拦截器 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
在 Struts-action.xml中跳转主页面配置
<interceptor-ref name="defaultStack"/>