Heim > Java > javaLernprogramm > Hauptteil

Beispielerklärung der HandlerExecutionChain-Klasse

零下一度
Freigeben: 2017-07-18 14:37:20
Original
1838 Leute haben es durchsucht

Bevor wir HandlerExecutionChain erklären, wollen wir uns ein allgemeines Verständnis der Kernentwicklungsschritte von SpringMVC verschaffen:

Stellen Sie DispaterServlet in web.xml bereit und konfigurieren Sie springmvc.xml und andere Dateien.

Anfordern Zuordnungsdatei zum Prozessor HandlerMapping;

HandlerMapping ordnet die Anforderung einem Handlerobjekt vom Typ HandlerExecutionChain zu;

übergibt das Handlerobjekt als Parameter an das Instanziierungsobjekt von HandlerAdapter und ruft dessen Handlermethode auf generiert ein ModelAndView-Objekt ;

Verwenden Sie den ViewResolver-Ansichtsparser, um das im vorherigen Schritt generierte ModelAndView in eine Ansicht zu analysieren;

DispatcherServlet gibt die Ansicht basierend auf der erhaltenen Ansicht an den Benutzer zurück.

Die HandlerExecutionChain-Klasse ist relativ einfach und leicht zu verstehen.

========================================== == ===========================

  HandlerExecutionChain {
Nach dem Login kopieren

===== === ============================================ === ==============

Im Folgenden sind einige Attribute der Klasse aufgeführt.

  List<HandlerInterceptor>
Nach dem Login kopieren

============================ = ========================================

 applyPreHandle(HttpServletRequest request, HttpServletResponse response) = (! ( i = 0; i < interceptors.length; i++= (!interceptor.preHandle(request, response,  .interceptorIndex =
Nach dem Login kopieren

================================== === ==================================

 applyPostHandle(HttpServletRequest request, HttpServletResponse response, ModelAndView mv) = (! ( i = interceptors.length - 1; i >= 0; i--=
Nach dem Login kopieren
    /** * 这个方法只会执行preHandle()方法已经成功执行并且返回true的拦截器中的postHandle()方法。     */void triggerAfterCompletion(HttpServletRequest request, HttpServletResponse response, Exception ex)throws Exception {

        HandlerInterceptor[] interceptors = getInterceptors();if (!ObjectUtils.isEmpty(interceptors)) {for (int i = this.interceptorIndex; i >= 0; i--) {
                HandlerInterceptor interceptor = interceptors[i];try {
                    interceptor.afterCompletion(request, response, this.handler, ex);
                }catch (Throwable ex2) {
                    logger.error("HandlerInterceptor.afterCompletion threw exception", ex2);
                }
            }
        }
    }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielerklärung der HandlerExecutionChain-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!