java filter forward throw illegalstateexception

Pra*_*rya 0 java servlets servlet-filters

即时拦截请求网址并将其转发给另一个网址

喜欢

some_application/image_20.jpegsome_application/image_345.jpeg

我这样做是使用过滤器.

现在我的代码是:

   public void doFilter(ServletRequest request, ServletResponse response,
                     FilterChain chain)
    throws IOException, ServletException {
    //some code

    RequestDispatcher request_Dispatcher=request.getRequestDispatcher(forward_url);
    request_Dispatcher.forward(request,response);



 Throwable problem = null;
 try {
 chain.doFilter(request, response);
 }

    catch(IllegalStateException ise)
    {

    }
    catch(Throwable t) {

 problem = t;
 t.printStackTrace();
}

  }
}
Run Code Online (Sandbox Code Playgroud)

因为我RequestDispatcher用来转发请求..并且它正常工作

这个代码抛出是正常的 IllegalStateException

因为我在我的代码中捕获它并让它不要抛出任何消息..

现在我担心它是否会损害整个容器或降低性能

或者我可以改变一些代码而不是任何代码 IllegalStateException

谢谢

McD*_*ell 5

request_Dispatcher.forward(request,response);
chain.doFilter(request, response);
Run Code Online (Sandbox Code Playgroud)

你不能做这两件事.当您将链中的请求传递给结束资源时,您已经通过提交了响应forward.