DwrFilter

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>

你可能感兴趣的:(Web)