目录
一、Warning!
当一个Servlet控制器 多次 进行请求转发或者重定向操作,
通常会发生一些状况。
example:
req.getRequestDispatcher("?").forward(req, resp);
resp.sendRedirect("?");
此时控制台就会发出警报,告诉我们程序运行的逻辑出错了。
但是,类似的大多数警报,却并不影响程序的正常运行。
二、Why?
原因是请求转发或者重定向命令已经执行,输出已经关闭了,
但是还有逻辑上未完成的代码段在执行,
内存依旧被占用。
过滤器产生并进行doFilter工作时,检测到未知的异常,例如无效的req传递的表单、参数、、、等等。
三、解决方案
resp.sendRedirect("?");
//加上
return;
req.getRequestDispatcher("?").forward(req, resp);
//加上
return;
分析业务逻辑,找到产生异常的转发重定向,
之后加上return后结束程序逻辑向下执行。
问题得到解决。