添加自定义注解
package org.book.configuration.aop; import java.lang.annotation.*; @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface NoCheckLogin { }
创建一个SpringMvcHandler 类,继承HandlerInterceptorAdapter
package org.book.configuration.Handler; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.book.common.JsonResult; import org.book.configuration.aop.NoCheckLogin; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.lang.reflect.Method; @Slf4j public class SpringMvcHandler extends HandlerInterceptorAdapter { public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod hm = null; Method method = null; if(handler instanceof HandlerMethod) { hm = (HandlerMethod) handler; method = hm.getMethod();// 获取方法 } else { return true; } // 该方法是否添加 允许未登录访问注解 if (method !=null && method.isAnnotationPresent(NoCheckLogin.class)) { // 不拦截 return true; } String name = (String) request.getSession().getAttribute("user"); if (name != null) { return true; } else { response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); PrintWriter out = null; try { out = response.getWriter(); out.append(new JSONObject().toJSONString(JsonResult.renderFail("用户未登录")) ); }catch (Exception e){ out = response.getWriter(); out.append(new JSONObject().toJSONString(JsonResult.renderError("后台出错"))); log.info(e.getStackTrace().toString()); } return false; } } }
被@NoLoginCheck注解的方法不会被拦截在springmvc配置文件配置拦截路径和排除路径
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:mapping path="/"/> <mvc:mapping path="/index.jsp"/> <mvc:exclude-mapping path="/assets/**"/> <mvc:exclude-mapping path="/images/**"/> <bean class="org.book.configuration.Handler.SpringMvcHandler"></bean> </mvc:interceptor> </mvc:interceptors>
1)预处理preHandle()方法
用户发送请求时,先执行preHandle()方法。会先按照顺序执行所有拦截器的preHandle方法,一直遇到return false为止,比如第二个preHandle方法是return false,则第三个以及以后所有拦截器都不会执行。若都是return true,则执行用户请求的url方法。
2)后处理postHandle()
方法调用了Service并返回ModelAndView,但未进行页面渲染,可以在这里继续修改ModelAndView
3)返回处理afterCompletion()
方法已经渲染了页面,在afterCompletion中,可以根据ex是否为null判断是否发生了异常,进行日志记录。注:一般使用preHandle这个拦截器进行预处理,对url进行请求拦截
Comments | 13,374 条评论
博客作者 KevinDub
сайт с бонус кодами на танки кейс кс го за 50 рублей как ставить на рулетках кс го бонус коды для world of tanks на игромире бонус коды для dota 2 заработать в интернете онлайн игры с выводом денег шкипер гек история шкипер с мультика мадагаскар бонус коды wot где взять как активировать код в варфейс от мтс бонус игра 94 процента ответы 5 уровень деньги ключевые ставки цб официальный сайт скачать фильм кенгуру джекпот торрент бесплатно легкий заработок в интернете блоги бонус код на wot 8 марта
https://wuyuebanzou.com/home.php?mod=space&uid=711424 игры в которых можно заработать реальные деньги украина https://ez4xg.nehe.com.cn/home.php?mod=space&uid=549784&do=profile некоммерческие организации являются юр лицами https://www.truthmall.com/home.php?mod=space&uid=1205136 экономические стратегии онлайн на русском https://njt.ru/forum/user/198978/ Виртуальный хостинг сайтов https://bbs.gzpu.com/home.php?mod=space&uid=97621&do=profile
кс го еко рулетка бесплатные кейсы с вещами доставка бесплатно сайты с бесплатными кейсами игр заработок без вложений 10 в день сразу на вывод 2015 возврат денег за игры в uplay развивающие игры про деньги экономическая игра с выводом денег отзывы игры с ыодом денег куда водить код на кс го фаст игра без бонусов с выводом денег
бонусы регистрации букмекеров https://sotsprof01.ru/index.php?subaction=userinfo&user=ugolatig госуслуги регистрация ип через интернет https://xn—-7sbabaa4aygyghq1afhclhf8q.xn--p1ai/product/kts-15-9/reviews/ партнерские программы или как заработать в интернете https://www.mobivio.com/cgi-bin/hp-gallery/view_painting.pl?auth=&uid=35615802809829701&id=1373 коды бонусов от ив роше ноябрь 2016 https://www.motorenova.pl/wiki/doku.php?id=rebeliones macro y micropoliticos: diferencias y entrelazamientos программа ставки на спорт в смартфоне https://forum.4rm.xyz/home.php?mod=space&uid=2899
博客作者 BobbyVothe
В современном мире смартфоны стали неотъемлемой долею нашей жизни. Ежегодно мы сталкиваемся с новыми моделями, которые предлагают усовершенствованные функции и производительность. В результате у большинства пользователей возникает необходимость обновить свое устройство, и здесь вам поможет скупка смартфонов. В этой статье будут рассмотрены основные аспекты, связанные с продажей старенькых телефонов.
Почему стоит продавать смартфон?
Как проходит процесс скупки телефонов?
博客作者 BrianLaf
Сборник законов это систематизированный набор законодательных актов, который имеет целью упрощение доступа к правовой информации. Они могут включать в себя конституции, федеральные законы, региональные акты и подзаконные нормативные документы. Сборники законов играют главную роль в правоприменении и правосознании людей.
Типы сборников законов
Значение сбора законов
Заключение
Сборник законов является необходимым инструментом для обеспечения правового порядка и правовой определенности в обществе. Он способствует более действенному взаимодействию людей с законами и правовыми нормами, что в свою очередь способствует стабильности и справедливости между.
博客作者 AlexReedy
Stay ahead in the world of horse racing with [url=https://gallop-news.blogspot.com/]Gallop News[/url]. Our platform provides the latest news on horse racing events across the UK. Enjoy detailed analyses from our experienced team. Whether you are a casual fan or a seasoned bettor, Gallop News offers expert opinions to enhance your horse racing experience. Follow us and never miss an update from Gallop News!
博客作者 Matrikles
Бесплатный разбор матрицы судьбы matricasudbi.ru
Предсказать свою судьбу мечтает практически каждый. А узнать причины определенных обстоятельств, хороших и не очень полос, узнать что будет помогать росту, счастью в любви или работе возможно на сайте matricasudbi.ru прямо сегодня. Мы создали для Вас самый стремительный и легкий калькулятор матрицы судьбы, основанный на нумерологии, картах Таро и астрологии.
По теме [url=https://matricasudbi.ru/]матрица судьбы расчет по годам[/url] мы Вам поможем. Наш сайт будет актуален тем, кто запутался в своей жизни: отношениях, работе, социальной роли или подобных вопросах. Если Вы желаете поправить отношения с обществом, если желаете сформировать таланты, найти место в этой жизни, то Вы обязательно осознаете полезность Матрицы Судьбы.
Данный калькулятор постоянно совершенствуется, принимая во внимание комментарии гостей портале и используя научные исследования в области самопознания. Впишите имя, день, месяц и год рождения и Ваш пол и далее откроется большой объем информации о вашей личности. Можно тут же увидеть расшифровки значений Вашей матрицы Судьбы. Это: уроки прошлого, отношения, родовые задачи, таланты, духовное предназначение, сексуальность и многое другое. Чтобы прочесть больше расшифровок, нужно подобрать платный тариф.
Если Вы планировали найти [url=https://matricasudbi.ru/]матрица судьбы онлайн калькулятор с расшифровкой[/url] прямо сегодня, то Вы на нужном пути. Самые точные расшифровки личности, персональный прогноз по годам, Ваши сильные и слабые стороны, а также подсказки — как прийти к согласию с собой на веб портале matricasudbi.ru бесплатно для всех посетителей.
博客作者 dublikaty_ltkn
Как избежать дубликатов номеров на документах, изучите прямо сейчас.
Какие шаги предпринять, если номера повторяются, примените на практике наши советы.
Как обезопасить свои номера от дубликатов, рекомендуем ознакомиться.
Какие последствия могут быть при наличии дубликатов номеров, не откладывайте на потом, проверьте немедленно.
Примеры оформления номеров без повторений, используйте на деле наши рекомендации.
Почему важно не допускать дубликатов номеров, рекомендуем изучить.
Эффективное руководство по борьбе с дубликатами номеров, попробуйте эти методы.
Как узнать о наличии дубликатов номеров, примените эти советы уже сегодня.
Как узнать, что у вас повторяющиеся номера, примените указанные методы.
изготовить номера на автомобиль [url=https://dublikat-nomerov777.ru/]изготовить номера на автомобиль[/url] .
博客作者 matadorbet güncel giriş
Thank you great post. Hello Administ .Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 fixbet
Good info. Lucky me I reach on your website by accident, I bookmarked it. Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 Michaelviept
Как проходит процесс скупки ноутбуков?
Где реализовать ноутбук?
Подготовка к продаже
Заключение
Скупка ноутбуков это удобный и доходный способ обновить свою технику. Учитывайте рыночные цены и готовьте устройство к продаже, чтоб получить максимальную выгоду. С помощью выгодного подхода вы сможете легко распрощаться со старым ноутбуком и сделать шаг к новенькому оборудованию.
博客作者 matadorbet giriş
Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 maltcasino giriş
Hi, just required you to know I he added your site to my Google bookmarks due to your layout. But seriously, I believe your internet site has 1 in the freshest theme I??ve came across.Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 fixbet giriş
Great post thank you. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 instagram hacklink
best google hacklink services.
博客作者 matadorbet casino
Thank you for content. Area rugs and online home decor store. Hello Administ . Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 KennethUnure
Из года в год технологические процессы развиваются, и новые модели iPhone появляются на рынке с завидной регулярностью. Почти многие пользователи, обладая предыдущими моделями, разыскивают возможность реализовать свой старенькый iPhone и обновить гаджет на более современную модель. В этом контексте скупка iPhone становится модным и удобным методом избавиться от негодного устройства и получить за него деньги. В данной статье мы рассмотрим основные аспекты, связанные с скупкой iPhone, а также дадим несколько нужных советов.
Почему стоит продавать собственный iPhone?
Как проходит процесс скупки iPhone?
Где можно реализовать собственный iPhone?