我正在使用 Spring 2.5。我想做以下事情: 在 spring UserDetailsService 的覆盖 loadUserByUsername 方法中,我想抛出一个自定义异常,并在该异常上在登录页面上给出一个自定义错误消息。谁能建议我如何处理这个自定义异常。
问问题
419 次
1 回答
1
您可以扩展 AbstractHandlerExceptionResolver 并在此类中处理您的异常。代码不全,但你可以从那部分理解这个想法。
public class ExceptionResolver extends AbstractHandlerExceptionResolver {
@Override
protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
ModelAndView mav;
if(ex instanceof YourException){
mav = loginController.showLoginPage();
mav.addObject("errorMessage","Some error message text.");
\\also you can change response code here or add some logic
}
else {
\\some another page
}
return mav;
}
还将其添加到 applicationContext.xml(或带有您的 spring 上下文配置的另一个文件):
<bean class="com.mycompany.ExceptionResolver" />
于 2013-06-28T10:23:41.170 回答