servlet filter运行报错
源程序: 
 public   class   loginFilter   implements   Filter   { 
 	//private   FilterConfig   filterConfig;    
 	String   onErrorUrl;      
 	/** 
 	   *   Destruction   of   the   servlet.    <br>  
 	   */ 
 	public   void   destroy()   { 
 		//   Put   your   code   here 
 	}   
 	/** 
 	   *   Initialization   of   the   servlet.    <br>  
 	   * 
 	   *   @throws   
ServletException   if   an   error   occure 
 	   */ 
 	public   void   init(FilterConfig   config)   throws   ServletException   { 
 		//   Put   your   code   here 
 		   //filterConfig   =   config; 
 		      onErrorUrl   =   config.getInitParameter( "onError "); 
 		      if   (onErrorUrl   ==   null   ||    " ".equals(onErrorUrl))   { 
 		         onErrorUrl   =    "onError "; 
 		      }		 
 	}  	 
 	public   void   doFilter(ServletRequest   request,   ServletResponse   response, 
 			         FilterChain   next)   throws   
IOException,   ServletException   { 
 		   HttpServletRequest   httpRequest   =   (HttpServletRequest)   request; 
 		   HttpServletResponse   httpResponse   =   (HttpServletResponse)   response; 
 		   HttpSession   httpSession   =   httpRequest.getSession(); 
 		/** 
 		      *   @author   justin   ray    
 		      *   @see   页面缓存设定 
 		      *    <br> 确保浏览器不缓存页面数据 
 		      */         
 		httpResponse.setHeader( "Cache-Control ", "no-cache ");    
 		httpResponse.setHeader( "Cache-Control ", "no-store "); 
 		httpResponse.setDateHeader( "Expires ",   0); 
 		httpResponse.setHeader( "Pragma ", "no-cache ");      
 		      /** 
 		      *   @author   justin   ray    
 		      *   @see   过滤未登录用户无效请求 
 		      *    <br> 未登录用户请求跳转到/Logon.do 
 		      */    
 		if   (httpSession.getAttribute( "username ")   ==   null)   {  		         
ActionErrors   errors   =   new   ActionErrors(); 
 		         errors.add(
ActionMessages.GLOBAL_MESSAGE,   new   ActionMessage( "没有登录 ")); 
 		         httpRequest.setAttribute(Globals.ERROR_KEY,   errors); 
 68:		         httpRequest.getRequestDispatcher(onErrorUrl).forward(httpRequest,httpResponse); 
 		      } 
 70:			   next.doFilter(request,   response); 
 	} 
 } 
 运行报错:  
java.lang.IllegalStateException:   Cannot   forward   after   response   has   been   committed 
 	loginFilter.doFilter(login