خطأ Springboot الافتراضي هو القفز إلى صفحة الخطأ/الخطأ في مسار تقديم الإرجاع.
تحليل رمز المصدر: العجف
ModelAndView Solools (سلسلة العرض ، خريطة <سلسلة ، كائن> طراز) {String errorViewName = "error/" + viewName ؛ TemplateavailabilityProvider Provider = this.templateavialivationproviders .getProvider (errorviewName ، this.applicationContext) ؛ if (Provider! = null) {return new ModelAndView (errorViewName ، model) ؛ } return solveresource (errorViewName ، model) ؛ }على سبيل المثال ، في application.properites ، قم بتكوين صفحة التقديم كـ
#Configure freemakerspring.freemarker.template-loader-path =/web-inf/
إذا spring.freemarker.template-loader-path,springboot عن الصفحة التي تم تقديمها بشكل خاطئ ضمن ملف الخطأ في القوالب في src/main/resources .
ثم عند حدوث خطأ ، سيقفز النظام إلى صفحة/web-inf/error/error.
استخدم AOP لمعالجة استثناءات طبقة الويب
حزمة com.niugang.aop ؛ استيراد java.io.ioException ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservletrequest org.slf4j.loggerfactory ؛ استيراد org.springframework.stereotype.component ؛ استيراد org.springframework.web.context.request.requestattributes ؛ import org.springframework.web.context.request.requesttoxtholder ؛ org.springframework.web.context.request.servletrequestattributes ؛ import org.springframework.web.servlet.modelandview ؛/** * controller layer reforgetling * *@author niugang */@@jound@spublice class stiventcontroly loggerfactory.getLogger (استثناء controllerascept.class) ؛ / ** * طريقة قطع النقاط مجهولة المصدر * * param ex * throws servleTexception * throws ioException */ efterthrowing (value = "execution (public * com.niugang.controller .. *. *. ModelAndView () ؛ requestAttributes requestAtTributes = requestContexTholder.getRequestAtTributes () ؛ servletRequestAttributes r = (servletRequestAttributes) requestAtTributes ؛ httpservletrequest request = r.getRequest () ؛ modelandview.setViewName ("500") ؛ // أولاً إذا كان RunTimeException if (ex extuteof runTimeException) {logger.error ("Throw Runtime Exception {}" ، ex.getMessage ()) ؛ modelandview.addobject ("استثناء" ، ex.getMessage ()) ؛ // القفز إلى page page modelandview.addobject ("url" ، request.getRequesturl ()) ؛ إرجاع ModelandView ؛ } modelandview.addobject ("استثناء" ، "استثناء غير معروف") ؛ إرجاع ModelandView ؛ }}لخص
ما سبق هو ما قدمه لك المحرر حول استخدام AOP للتعامل مع استثناءات طبقة الويب في SPRING BOOT. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!