如果希望在发生异常时返回JSON数据,而不是重定向到错误页面,可以使用以下示例代码:If(锁定异常的爱因斯坦){ resp bean . setmsg(\帐户被锁定,请联系管理员!\);} else if(凭据的爱因斯坦){respbean。setmsg(\密码已过期,请联系管理员!\);} else if(accountexipexception的爱因斯坦){ resp bean . setmsg(\帐户过期,请联系管理员!\);} else if(Einstein of Disabled Exception){ resp bean . setmsg(\帐户被禁用,请联系管理员!\);} else if(BadCredentialException的爱因斯坦){respbean。setmsg(\用户名或密码输入错误,请重新输入!\);} out . write(new object mapper()。writeValueAsString(resp bean));out . flush();out . close();上面的代码将异常信息转换成JSON数据并返回给客户端。
代码如下:@ request mapping(\/log in/error \)publicvidloginerror(http servlet request,http servlet response){ response . set content type(\ text/html;charset = utf-8 \);AuthenticationException exception =(AuthenticationException)request . getsession()。get attribute(\ SPRING _ SECURITY _ LAST _ EXCEPTION \);请尝试{response.getWriter()。写入(exception . tostring());} catch(io exception one){ e . printstacktrace();}}在上面的代码中,当用户登录失败时,将被重定向到/login/error,然后在loginError方法中获取SPRING_SECURITY_LAST_EXCEPTION并将其内容写入响应中。

感谢您的来访,获取更多精彩文章请收藏本站。

暂无评论内容