码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot使用Filter过滤器处理是否登录的过滤时,用response.sendRedirect()转发报错

时间:2019-01-20 13:45:47      阅读:880      评论:0      收藏:0      [点我收藏+]

标签:过滤器   成功   过滤   提交   been   技术   ssi   boot   com   

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登录页面)

 

 技术分享图片

 

SpringBoot使用Filter过滤器处理是否登录的过滤时,用response.sendRedirect()转发报错

标签:过滤器   成功   过滤   提交   been   技术   ssi   boot   com   

原文地址:https://www.cnblogs.com/spll/p/10294267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!