Аннотация: Много раз мы будем изменять ошибки других коллег или даже ошибки коллег, которые уже ушли. Иногда мы нажимаем на страницу и не можем перейти к тому, какой контроллер соответствует фону. В ответ на эту проблему мы можем использовать Interceptor SprnGMVC, чтобы блокировать запросы пользователей, чтобы узнать, какой класс запросит страницу. Конечно, эта информация о печатном журнале может не подходить для размещения в производственной среде, или этот перехватчик также не нужен. Полем Полем Полем
1. Использование HandlerInterceptor
Шаг 1: Зарегистрируйте перехватчик
<!-Зарегистрируйте перехватчики-> <MVC: Interceptors> <Bean /> < /mvc: Interceptors>
Шаг 2: наследственное обработчик и реализовать перехватчик
пакет com.iflashbuy.limanman; import java.util.iterator; import java.util.map; import javax.servlet.http.httpservletrequest; импорт javax.servlet.http.httpservelponse; import org.slogger; org.springframework.web.servlet.handlerinterceptor; import org.springframework.web.servlet.modelandView; public Class ControlInterceptor реализует HandlerInterceptor {private logger = loggerfactory.getLogger (getClass ());/** ** Colling после выполнения выполнения. AfterComplotion (httpservletRequest-запрос, httpservletresponse ответ, объект arg2, exception arg3) throws exection {} @overridepublic void poshandle (httpservletrequest arg0, httpservletresponse arg1, объект Arg2, modelandView arg3) tobuble-stube-a aut-gende-a aut-gende-a aut-genle-gender Boolean Prehandle (httpservletRequest, httpservletresponse arg1, object arg2) бросает исключение {int i = 1; try {@suppresswarnings ("unchecked") map <string, object> parmmap = request.getparametermap (); итератор <string> itermap.keyset (); (iter.hasnext ()) {object key = iter.next (); object value = parmmap.get (key); logger.info ("th" + i + "param ----> {}-{}", ключ, значение); i = i + 1;}} catch (Exception e) {i = 1;} i = 1;2. Эффект информации о фоновой печати
3. Разверните использование перехватчиков для достижения основной аутентификации HTTP
/** * Вызванный после выполнения контроллера, то есть при оставлении */@overridepublic void-последствия (httpservletrequest, httpservletresponse ответ, объект arg2, исключение Arg3) Throws Exception {logger.info ("classname --->" + arg2); logger.info ("Запрос --- resempo); Posthandle (httpservletRequest -запрос, ответ httpservletresponse, объект arg2, modelandview arg3) Throws Exception {} @OverridePublic boolean prehandle (httpservletrequest, запрос httpservletresponse, объект arg2) throws exception {String SessionAuth = (string) запрос. (sessionAuth! = null) {System.out.println («Это следующий шаг»); nextstep (запрос, ответ);} else {if (! checkeadErauth (запрос, ответ)) {response.setStatus (401); ouss.setheader ("Cache-Control", "no Stravore"); 0); response.setheader ("www-authenticate", "Basic realm =/" Пожалуйста, введите пароль учетной записи администратора/""); return false;}} return true;} private boolean checkheaderauth (httpservelletrequest, httpservletresponse response) throuseexception {string auther auther Question.getheader (uthorization "); кодируется в BASE64 IS " + getFrombase64 (auth)); if ((auth! = null) && (auth.length ()> 6)) {auth = auth.substring (6, auth.length ()); string decodedauth = getFrombase64 (auth); System.out.println (" auth decodearteaut decodedauth); request.getSession (). setattribute ("auth", decodedauth); return true;} else {return false;}} частная строка getFrombase64 (строка s) {if (s == null) return null; try {byte [] encodebase64 = base64.encodebase64 (s. s. s. s.tftes (uttf-ut-retaints8 ") String (encodebase64);} Catch (UnsupportEncodingException e) {return null;}} public void nextstep (httpservletrequest, httpservletresponse response) throws ioexception {System.out.println («Вы можете перейти к контроллеру»);Суммировать
Выше приведено все содержание этой статьи о примере кода кода использования SpringMVC Interceptor Hasterlerinterceptor, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Анализ кода интерфейса перехватчика пружины
Совместное использование кода перехватчика
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!