Zusammenfassung: Oft werden wir Fehler anderer Kollegen oder sogar Fehler von Kollegen, die bereits gegangen sind, ändern. Manchmal klicken wir auf die Seite und können nicht zu welchem Controller dem Hintergrund entsprechen. Als Antwort auf dieses Problem können wir den SPRNGMVC -Interceptor verwenden, um Benutzeranfragen zu blockieren, um zu wissen, welche Klasse die Seitenanfragen. Natürlich sind diese gedruckten Protokollinformationen möglicherweise nicht für die Platzierung in der Produktionsumgebung geeignet, oder dieser Interceptor ist ebenfalls unnötig. . . .
1. Verwendung von Handlerinterceptor
Schritt 1: Registrieren Sie den Interceptor
<!-Registrieren Sie Interceptors-> <MVC: Interceptors> <bean /> < /mvc: interceptors>
Schritt 2: Inherit HandlerInterceptor und implementieren Sie den Interceptor
Paket com.iflashbuy.limanman; import Java.util.iterator; import Java.util.map; import Javax.servlet.http.httpServletRequest; importieren javax.servlet.http.httpServletRectRect. org.springframework.web.servlet.HandlerInterceptor; import org.springFramework AfterCompletion (HttpServletRequest-Anforderung, HttpServletResponse-Antwort, Objekt arg2, Ausnahme arg3) Ausnahme {} @Overridepublic void posthandle (httpServletRetRetRequestar stub} @Overridepublic boolean prehandle (httpServletRequest Request, httpServletResponse arg1, Object arg2) löst eine Ausnahme aus {int i = 1; try {@SuppressWarnings ("Deaktiviert") map <string, Objekt> parmap = Anfrage. (iter.hasnext ()) {Object key = iter.next (); Object value = parmmmap.get (Schlüssel); logger.info ("th" + i + "param ----> {}-{{}", key, value);2. Die Auswirkung von Hintergrunddruckinformationen
3. Erweitern Sie die Verwendung von Interceptors, um eine grundlegende HTTP -Authentifizierung zu erreichen
/** * Rufen Sie nach der Ausführung des Controllers an, dh beim Verlassen von */@overridepublic void Aftercompletion (httpServletRequest-Anforderung, httpServletResponse-Antwort, Objekt arg2, Ausnahme arg3) Ausnahme {logger.info ("className-" +@@@@@@@@@@@@@@Overdic. Posthandle (HttpServletRequest -Anforderung, HttpServletResponse -Antwort, Objekt arg2, modelandView arg3) löst Ausnahme aus {} @Overridepublic boolean prehandle (httpServletRequest -Anforderung, httpletResponse -Antwort, Object arg2). (SessionAuth! 0); Antwort. Request.Getheader ("Autorisierung"); System.out.println ("authautiert in Base64 ist" + getFrombase64 (auth)); if ((auth! decodiert von Base64 ist " + decodedAuth); request.getSession (). setAttribute (" auth ", decodedAuth); return true;} else {return false;}} private String getFrombase64 (String S) {if (s == null) return null; trink {] byte [] Encodebase64 = Base64.encodeBase64(s.getBytes("UTF-8"));return new String(encodeBase64);}catch (UnsupportedEncodingException e) {return null;}}public void nextStep(HttpServletRequest request,HttpServletResponse response) throws IOException {System.out.println("you can go to the Controller ");}Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über das Codebeispiel des Nutzungscode von SpringMVC Interceptor HandlerInterceptor. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf diese Seite verweisen:
Spring Interceptor HandlerInterceptor Interceptor Interface Code Analyse
Anmeldungsinterceptor -Code -Freigabe von Spring MVC implementiert
Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!