添加自定义注解
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,600 条评论
博客作者 WillieRor
[b]https://e-porn.net[/b] free xxx tube videos webcams dating,
онлайн камеры, знакомства
博客作者 online
[url=https://modafinile.online/]provigil how to get prescription[/url]
博客作者 Eduardolix
Hello there! [url=https://mexicopharm.top/#]no prescription pharmacy in india[/url] beneficial site.
博客作者 Eduardolix
Howdy! [url=https://mexicopharm.top/#]online drugstore usa[/url] great web page.
博客作者 Turksiroa
Для любителей турецкого кинематографа сайт turkishclub.tv предлагает уникальную возможность наслаждаться любимыми сериалами на русском языке. На этом ресурсе собраны лучшие [url=https://turkishclub.tv/]турецкие сериалы на русском языке[/url], которые уже покорили миллионы зрителей по всему миру. Здесь вы найдете как современные хиты, так и классические произведения, доступные в хорошем качестве и с профессиональной озвучкой.
Удобный интерфейс сайта turkishclub.tv позволяет легко находить и просматривать интересующие вас сериалы. Вы сможете полностью погрузиться в увлекательные истории, узнавать о новых эпизодах и наслаждаться непрерывным просмотром. Присоединяйтесь к тысячам пользователей, уже выбравших turkishclub.tv для просмотра турецких сериалов на русском языке.
博客作者 drug
[url=https://flomaxms.com/]flomax 0.4 mg capsule[/url]
博客作者 elenty
购买你想在网上赚钱的一切。] https://t.me/cryptaxbot/17?eviliavek15Vek
博客作者 Eduardolix
Hello there! [url=https://mexicopharm.top/#]mexican pharmacy online store[/url] excellent web site.
博客作者 Benhsawam
Ищете качественные [url=https://turkishclub.tv/]турецкие сериалы на русском языке[/url]? Сайт turkishclub.tv – ваш идеальный выбор! Здесь вы найдете обширную коллекцию лучших турецких сериалов с профессиональной озвучкой. Каждый день добавляются новые серии, чтобы вы могли наслаждаться свежими эпизодами в любое время.
Просмотр доступен бесплатно и в высоком качестве 720 HD, без рекламы. Погружайтесь в увлекательные сюжеты и наслаждайтесь любимыми сериалами на turkishclub.tv. Откройте для себя мир турецкого кинематографа прямо сейчас!
博客作者 CharlesDub
Какие методы лечения акне существуют? – Лечение акне включает местные препараты, пероральные препараты, светотерапию, химические пилинги и изменения образа жизни.
What treatments are available for acne? – Acne treatments include topical medications, oral medications, light therapy, chemical peels, and lifestyle changes.
удаление белых угрей [url=https://allmedweb.ru/]https://allmedweb.ru/[/url] .
博客作者 newcratos giriş
Thank you for great article. Hello Administ .Seo Paketi Skype: ByuMuT@KRaLBenim.Com –– live:by_umut
博客作者 MichaeloWinty
Купить Экстази в Киеве? Купить МДМА в кристаллах в Киеве? Сайт – https://koks.top
.
.
Закладки Экстази и МДМА в Киеве? САЙТ – https://koks.top
Купить с доставкой Экстази и МДМА в Киеве? САЙТ – https://koks.top
Чистый МДМА в Киеве где Купить? САЙТ – https://koks.top
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Теги – Купить Экстази в Киеве?
Купить МДМА в Киеве?
Где Купить МДМА в Киеве?
Как Купить Экстази в Киеве?
МДМА и Экстази Купить в Украине цена ?
博客作者 Edwardyoclevy
Как Купить Метамфетамин в Киеве? Киев Купить Метамфетамин? САЙТ – https://koks.top
.
.
Доставка в Руки Метамфетамина в Киеве? САЙТ – https://koks.top
Закладки в Киеве Метамфетамин Купить? САЙТ – https://koks.top
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Теги – Купить в Киеве Метамфетамин?
Цена на Метамфетамин в Киеве?
Сколько стоит грамм Метамфетамина в Киеве?
Кристаллы Метамфетамина Купить в Киеве?
Украина Метамфетамин Кристаллы Доставка Купить
博客作者 Gernbames
Установка пластиковых окон Иркутск fod38.ru
Лучшие по свойствам и цене пластиковые окна делают в данном месте! Хотим пригласить Вас на Фабрику окон и дверей в Иркутске, чтобы заказать лучшие пластиковые окна для вашей квартиры или дачи. Мы значимся создателем, поэтому у нас низкие цены и высокое качество, на которое дается гарантия. Изготовление происходит в самые быстрые сроки, а также монтаж настоящими специалистами.
На веб ресурсе fod38.ru Вы сможете найти всю интересную информацию о данной компании, окнах, контакты и как сделать заказ. Предлагаем 3 варианта ПВХ окон: эконом, стандарт и премиум, где отличительной чертой будет представляться цена/качество. Выбирайте необходимый Вам вариант или просите консультацию от профессионала, какой именно сделать выбор в определенном случае.
По теме [url=https://fod38.ru/]купить окна[/url] мы непременно Вам окажем помощь. Окна от представленной фабрики являются экологически чистыми, так как в них не используется свинец. После установки, в комнате будет бесшумно и спокойно, а также надежно для детей, ведь мы устанавливаем ручки с замком. Все стекла с защитой от ультрафиолета, а ещё их просто мыть, комфортно проветривать и радужно для глаз.
Если Вы хотели найти [url=https://fod38.ru/]иркутск установка пластиковых окон[/url] – то заходите на наш сайт. На сайте fod38.ru возможно записаться на бесплатный замер будущих окон. Это лучшее решение, чтобы не терять своё личное время, потому что договор можно заключить прямо на дому. Замерщик даст ответы на любые Ваши вопросы, покажет примеры и каталоги, примет к сведению все ваши желания и осуществит безупречный замер с ценой.
Звоните по телефону +7(3952)656-226 или приходите в один из наших офисов, по адресу: г. Иркутск, ул. Лермонтова, д. 319. Работаем с пн по пт с 9:00 до 17:30, выходной воскресенье. Приходите, заказывайте лучшие окна в Вашей жизни.
博客作者 KevinDub
оружейный кейс операции феникс открытие мой мир игра с выводом денег игры в каких можно заработать реальные деньги без вложений россияне сорвавшие джекпот игры симс с кодами на деньги бонус код 2014 в world of tanks онлайн игры на деньги между пользователями слоты с выводом денег без вложения винлайн букмекерская контора официальный сайт регистрация ставки игра тысяча онлайн на деньги с выводом денег игры кликеры денег в майнкрафте скачать игры про зомби мод много денег игры онлайн с бонусом при регистрации много денег в играх на iphone как создать свой сайт для открытия кейсов в cs go
https://realgeek.free.fr/index.php?file=Members&op=detail&autor=okapona бесплатные кейсы на доту 2 https://enelm.blogspot.de/2013/07/dabelikutchi-dabelikachchhi-dabeli.html статья 8 федерального закона о некоммерческих организациях https://skerikegk.eu/hej-varlden/?unapproved=114724&moderation-hash=c1444541fcdafc81dbe73f7834f338e8#comment-114724 новые игры лунтик и его друзья играть бесплатно онлайн https://printsstars.ru/communication/forum/index.php?PAGE_NAME=profile_view&UID=211590 Виртуальный хостинг сайтов https://www.abhishekbhatnagar.com/about-abhishek-bhatnagar-aka-zapper/?unapproved=282880&moderation-hash=9d499cfee835f8f1a01ab9afe0917d31#comment-282880
сайт игровой музыки бонус коды на world of tanks премиум аккаунт игры онлайн выигрыш 100 на деньги онлайн игры с выводом реальных денег без баллов открытие нового кейса выпал нож сайт где ставят ставки по доте как получить бесплатный кейс в майнкрафте на сервере гудман джордж игра на деньги скачать взломанную на деньги игру мой говорящий том бонус код partypoker
игры на андроид на деньги с выводом https://fr79056g.bget.ru/index.php?name=account&op=info&uname=yvafoko молодежные некоммерческие организации примеры https://xn--80aeh5aeeb3a7a4f.xn--p1ai/forum/user/51937/ леон онлайн ставки https://otaruwebseisaku.com/production/signboard/?unapproved=149088&moderation-hash=1917713dc8e8bda33b4a6553411fc2dc#comment-149088 игры на деньги дурак https://kdownload.free.fr/shoutbox/shoutbox.php? михаил истомин ставки на спорт https://goldentime.mybb2.ru/profile.php?mode=viewprofile&u=4425