redirect(重定向)失败的原因很多,其他人的博客其实已经说了很多了,因此对于已有部分就不在赘述
相信这类情况大家已经遇到很多的了,不然也不会有人将其分享出来
而我遇到的问题却是注解问题
@ResponseBody注解
主角就是它,@ResponseBody注解
@ResponseBody注解的作用是将controller的方法返回的对象 通过适当的转换器 转换为指定的格式之后,写入到response对象的body区(响应体中),通常用来返回JSON数据或者是XML。
数据,需要注意的呢,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,它的效果等同于通过response对象输出指定格式的数据。
该解释引用于:Evan Wang 的 @ResponseBody注解的作用
具体的原因就是使用了该注解后,会将返回的数据以json和xml的形式返回,而不是返回页面的链接,导致不能正常的重定向,或是说重定向失效
面对这种问题最好先确定是否是有代码上注解使用有误,
@RestController 由于是有底层的Controller和ResponseBody及其他注解组成,因此带有@ResponseBody的效果,不建议在返回页面的beanController中使用,不然排查也挺困难的。