if(null==name) 

response.sendRedirect("index.jsp"); 
}你的判断永远成立
so..

解决方案 »

  1.   

    index.jsp 对于这个请求应该放行
    request.getRequestURI()可以得到请求的路径
    加个判断就可以了
      

  2.   

    你应该排除index.jsp这个文件,不然你判断以后如果不成立,又转入index.jsp再判断后依然跳转....循环!
      

  3.   

    response.sendRedirect("index.jsp"); 
    改成...
    RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp"); 
    dispatcher.forward(request, response); 
    或者调用一个action返回到index.jsp
    RequestDispatcher dispatcher = request.getRequestDispatcher("index.do"); 
    dispatcher.forward(request, response); >_< 试试
      

  4.   

    if(null==name) 

    response.sendRedirect("index.jsp"); 
    }else 

    chain.doFilter(req, res); 
    } } 如果程序执行了重定向操作,会接着往下编译的结果name还是null又回去了,就会循环,建议改成这样,这样index后name一旦
    web.xml 
    <filter> 
      <filter-name>showFilter </filter-name> 
      <filter-class>com.showFilter </filter-class> 
      </filter> 
      <filter-mapping> 
      <filter-name>showFilter </filter-name> 
      <url-pattern>/* </url-pattern> //这里写错了 你对index也拦截了所以会循环。建议改成你登陆后的url拦截
      </filter-mapping> 
    if(null==name) 

    response.sendRedirect("index.jsp"); 
    retrun;
    }else 

    chain.doFilter(req, res); 
    } }