1、使用response.sendRedirect("/login")时报错,控制台报错如下:
Cannot call sendError() after the response has been committed。字面意思是:提交响应之后,无法再调用。
我正在做一个springboot的项目,使用Filter过滤器在过滤一些请求url时,因为有些页面的url请求地址是要登录之后才能进入的,所以用一个全局的过滤器Fitler,过判断此url是否有必要放行。当请求此url地址时,从session中取登录用户的数据为null,我就要把此次请求重定向到login登录页面。转发login登录页面使用reponse的sendRedirect()方法时,出现了上面的报错。
过滤器代码:
后台控制台报错:
重定向登录页面失败:
解决办法:
经过百度后找到原因:使用response.sendRedirect("/login")后,下面不必再执行任何代码,因为已经执行重定向到login请求对应的登录页面了,修改后代码如下:(并已重定向成功到login登录页面)