Der Standard -Springboot -Fehler besteht darin, auf die Fehler-/Fehlerseite im Anforderungsrendite -Rendering -Pfad zu springen.
Quellcodeanalyse: DefaulterrorViewresolver.java
private modelAndView resolve (String ViewName, Map <String, Objekt> Modell) {String errorViewName = "error/" + viewName; TemplateAvailabilityProvider Provider = this.temPlateAvailabilityProviders .GetProvider (ERRORVIEWNAME, this.applicationContext); if (provider! } return Resolveresource (ERRAGEVIEWNAME, Modell); }Konfigurieren Sie beispielsweise in Application.Properites die Rendering -Seite als
#Configure freemakerspring.freemarker.template-loader-path =/webinf/
Wenn spring.freemarker.template-loader-path,springboot nach der fälschlicherweise gerenderten Seite unter der Fehlerdatei in Vorlagen in src/main/resources .
Wenn dann ein Fehler auftritt, springt das System zur Seite/web-inf/fehler/fehler.
Verwenden Sie AOP für die Handhabung von Web-Layer-Ausnahmeberätern
Paket com.niugang.aop; import java.io.ioxception; import Javax.servlet.servletException; import Javax.servlet.http.httpServletRequest; importieren org.asspectj.lang.Annotation.Afterthrowing; org. org.springframework.web.context.request.servletrequestAtributes; import org.springframework LoggerFactory.getLogger (exceptionControllerAscept.class); /** * Anonymous point-cutting method* * @param ex * @throws ServletException * @throws IOException */ @AfterThrowing(value = "execution(public * com.niugang.controller..*.*(..))", throwing = "ex") public ModelAndView aroundAdvice(Exception ex) throws ServletException, IOException { ModelAndView modelAndView = new ModelAndView (); RequestAttributes RequestAttributes = RequestContexTHOLDER.GetRequestAttributes (); ServletRequestattributes r = (ServletRequestAttributes) Antrag der Anfragen; HttpServletRequest Request = R.GetRequest (); modelAndView.setViewName ("500"); // zuerst, wenn es runTimeException ist, if (ex instanceof runTimeException) {logger.error ("Runtime -Ausnahme {}", ex.getMessage ()); modelAndView.addObject ("Ausnahme", ex.getMessage ()); // zum Fehler page modelandView.addObject ("url", request.getRequesturl ()); return modelAndview; } modelAndView.addObject ("Ausnahme", "unbekannte Ausnahme"); return modelAndview; }}Zusammenfassen
Das obige ist das, was der Editor Ihnen über die Verwendung von AOP vorgestellt hat, um Web -Layer -Ausnahmen im Spring -Boot zu verarbeiten. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!