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

1、使用response.sendRedirect("/login")时报错,控制台报错如下:

Cannot call sendError() after the response has been committed。字面意思是:提交响应之后,无法再调用。

其实就是response调用了两次

我正在做一个springboot的项目,使用Filter过滤器在过滤一些请求url时,因为有些页面的url请求地址是要登录之后才能进入的,所以用一个全局的过滤器Fitler,过判断此url是否有必要放行。当请求此url地址时,从session中取登录用户的数据为null,我就要把此次请求重定向到login登录页面。转发login登录页面使用reponse的sendRedirect()方法时,出现了上面的报错。

过滤器代码:

后台控制台报错:

重定向登录页面失败:

解决办法:

经过百度后找到原因:使用response.sendRedirect("/login")后,下面不必再执行任何代码,因为已经执行重定向到login请求对应的登录页面了,修改后代码如下:(并已重定向成功到login登录页面)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值