O erro padrão de troca de troca é pular para a página de erro/erro na solicitação Retorno de retorno do caminho.
Análise do código -fonte: DeFaulterRorviewResolver.java
Private ModelAndView Resolve (String ViewName, Map <String, Object> Model) {String ErrorViewName = "Error/" + ViewName; Provedor de TemplateAvailabilityProvider = this.TemplateAvailabilityProviders .getProvider (ErrorViewName, this.ApplicationContext); if (provedor! = null) {retorna new ModelAndView (ErrorViewName, modelo); } retornar resolverSource (ErrorViewName, Model); }Por exemplo, no Application.properites, configure a página de renderização como
#Configure freemakerspring.freemarker.template-loader-t-pat =/web-inf/
Se spring.freemarker.template-loader-path,springboot procurará a página renderizada incorretamente no arquivo de erro nos modelos no src/main/resources .
Então, quando ocorrer um erro, o sistema saltará para a página/Web-Inf/Erro/Erro.
Use AOP para manuseio de exceção da camada na web
pacote com.niugang.aop; importar java.io.ioexception; importar javax.servlet.servletexception; importar javax.servlet.http.httpservletRequest; importj.lang.aspectj.lang.annotation.Antrowing; importação; org.slf4j.loggerFactory; importar org.springframework.tereotype.component; importar org.springframework.web.context.request.requestattributes; importestconte.springframework.web.context.request.requestConsthers; org.springframework.web.context.request.servletRequestattributes; importar org.springframework.web.servlet.modelandView;/** * Camada controladora) Manipulação de exceção unificadora LoggerFactory.getLogger (ExceptionControllerascept.class); / ** * Método anônimo de corte de pontos * * @param ex * @throws servletexception * @throws ioexception */ @afterwrlowing (value = "Execution (public * com.niugang.Controller .. *. *. ModelAndView (); RequestAttributes requestAttributes = requestContextholder.getRequestAttributes (); ServletRequestattributes r = (servletRequestattributes) requestAttributes; HttpServletRequest request = r.getRequest (); modelAndView.SetViewName ("500"); // Primeiro se for executar o tempo decepção se (ex instância de run timeException) {Logger.error ("Lanke Runtime Exception {}", ex.getMessage ()); ModelAndView.adDObject ("Exception", Ex.getMessage ()); // salte para a página de erro ModelAndView.adDObject ("url", request.getRequesturl ()); retornar modelandview; } modelAndView.adDObject ("Exception", "Exceção desconhecida"); retornar modelandview; }}Resumir
O exposto acima é o que o editor apresentou a você sobre o uso da AOP para lidar com exceções da camada da web na inicialização da primavera. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!