El error de BrotingBoot predeterminado es saltar a la página Error/error en la ruta de renderización de retorno de la solicitud.
Análisis del código fuente: defaulterrorViewResolver.java
privado modelandView resolve (String ViewName, Map <String, Object> Model) {String ErrorViewName = "Error/" + ViewName; TEMPLATEAVAILABILIDAD Provider = this.templateAvailabilityProviders .getProvider (ErrorViewName, this.ApplicationContext); if (Provider! = NULL) {return New ModelAndView (ErrorViewName, Model); } return ResolverSource (errorViewName, modelo); }Por ejemplo, en Application.Properites, configure la página de representación como
#Configure freemakerspring.freemarker.template-loader-path =/web-inf/
Si spring.freemarker.template-loader-path,springboot buscará la página representada erróneamente en el archivo de error en plantillas en src/main/resources .
Luego, cuando ocurre un error, el sistema saltará a la página/Web-Inf/Error/Error.
Use AOP para el manejo de excepciones de la capa web
paquete com.niugang.aop; import java.io.ioException; import javax.servlet.servletException; import javax.servlet.http.httpservletRequest; import org.aspectj.lang.annotation.afterthrowing; import og.aspectj.lang.annotation.aspectation; import org.slf4j.loggerFactory; import org.springframework.stereotype.component; import org.springframework.web.context.request.requestattributes; import org.springframework.web.context.request.requestcontextholder; import; org.springframework.web.context.request.servletRequestatTributes; import org.springframework.web.servlet.modelandview;/** * Controller Cayer Unificada Excepción de excepción * * @author Niugang * */@Aspecto@ComponentPublic Class excepción de excepciones de logger {Private Logger loger = = LoggerFactory.getLogger (excepcionControllerAcept.class); / ** * Método de corte de puntos anónimo * * @param ex * @throws servletException * @throws ioexception */ @afterthrowing (value = "ejecutor (public * com.niugang.controller .. *. * (..))", showing = "ex") public ModelandView alrededor de (Exception Ex) ServletException, IoException {Modely ModelandView. ModelandView (); RequestAttributes requestAttributes = requestContexTholder.getRequestatTributes (); ServLetRequestAttributes r = (ServLetRequestatTributes) requestAttributes; HttpservletRequest request = r.getRequest (); modelandView.setViewName ("500"); // primero si es runtimeException if (ex instanceof runtimeException) {logger.error ("Show de excepción de tiempo de ejecución {}", ex.getMessage ()); modelandView.addoBject ("excepción", ex.getMessage ()); // saltar a la página de error modelandView.addoBject ("url", request.getRequestUrl ()); return ModelAndView; } modelandView.addoBject ("excepción", "excepción desconocida"); return ModelAndView; }}Resumir
Lo anterior es lo que el editor le presentó sobre el uso de AOP para manejar las excepciones de la capa web en Spring Boot. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!