import java.lang.reflect.Method;
import javax.servlet.http.HttpSession;
import org.directwebremoting.AjaxFilter;
import org.directwebremoting.AjaxFilterChain;
import org.directwebremoting.ScriptBuffer;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.proxy.dwr.Util;
@SuppressWarnings("deprecation")
public class DWRFilter implements AjaxFilter {
@Override
public Object doFilter(Object object, Method method, Object[] arr,AjaxFilterChain chain) throws Exception {
WebContext ctx = WebContextFactory.get();
HttpSession session = ctx.getSession();
User loginPersonnel = (User) session.getAttribute("loginUser");
if (null == loginPersonnel) {
System.out.println("session验证失败");
logOut();
return null;
}
Object obj = chain.doFilter(object, method, arr);
return obj;
}
/**调用Js方法**/
public void logOut(){
WebContext wct = WebContextFactory.get();
Util utilThis = new Util(wct.getScriptSession());
utilThis.addScript( new ScriptBuffer("js()"));
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr//dwr30.dtd">
<dwr>
<allow>
<filter class="ges.common.filter.DWRFilter"></filter>
</allow>
</dwr>